注意:

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Difference between revisions of "Funtoo:Evolved Bootstrap"

From Funtoo
Jump to navigation Jump to search
Line 1: Line 1:
{{Note|This page is a draft.}}
The 'evolved bootstrap' is a new project to create a technology to build Funtoo Linux completely from scratch.
The 'evolved bootstrap' is a new project to create a technology to build Funtoo Linux completely from scratch.



Revision as of 22:07, February 1, 2022

The 'evolved bootstrap' is a new project to create a technology to build Funtoo Linux completely from scratch.

'From scratch' means that it should be able to build Funtoo Linux for architecture 'X' using any Linux-like environment running on architecture 'Y'.

It will function by building an initial local toolchain which will be used to cross-build an initial Funtoo environment for any architecture.

What are the Benefits?

Right now, it can be challenging to bootstrap Funtoo Linux on unsupported architectures. Many Gentoo and Funtoo packages assume a Gentoo environment, creating a chicken-and-egg problem. In addition, Portage dependencies are not always the best option for bootstrapping, as things need to be built in a very specific order and in a very controlled environment. Gentoo dependencies are designed to make sense in an already-existing Gentoo environment, but options are limited in a bootstrap environment.

The goals of the evolved bootstrap is to make the Funtoo bootstrap:

  1. Reliable -- will work consistently and predictably using a controlled process.
  2. Flexible -- will run in any Linux-like environment, and allow bootstrapping of any architecture.
  3. Hackable -- provide an easy mechanism for extending or expanding functionality with new languages and compilers.
  4. Optimized -- support the ability to build up specific parts of the toolchain using different optimized compilers.
  5. Extendable -- When desired, allow the bootstrap to be used to build hyper-customized Funtoo environments.

How Can I Get Involved?

Join us in the #bootstrap channel in Funtoo Discord and also see below for status updates and instructions on how to join our collaborative effort.

Status Updates

1 Feb 2022
Official project launch. Gekman and drobbins are leading the effort. What we are suggesting people do, who want to be involved, is to simply go to "Cross Linux From Scratch", pick a build, and follow their documentation to bootstrap by hand. As you do this, take notes! Note what little changes you need to make to get the instructions to work. Linux From Scratch is a great project. Cross Linux From Scratch is a sub-project which is not always as current as LFS but it has a cross-build toolchain as its foundation. As this project evolves, we want to also reflect the positive qualities of the LFS projects by having each bootstrap step documented in a guide. The different with the 'evolved bootstrap' project is that this effort will eventually build a Funtoo image, and it will be automated - but, we will start by just doing the manual process, observing, and then I will build out a portion of metatools to autogenerate bootstrap scripts to do everything automatically. So start here: https://trac.clfs.org/wiki/read -- pick a book, and start whittling away. The last time I did a CLFS build, a few packages needed patches so they would compile with the newer version of glibc on funtoo systems. CLFS tends to trail LFS by quite a lot. If you desire to try more updated versions of packages in your CLFS build, please do, and take notes on any tweaks if any that were needed to get the new version to work.

CLFS Build Notes

  1. Add your CLFS Notes page to this list.

We are going to encourage people to document their CLFS build notes on the wiki. It's recommended you create a "userpage" at Your User Page/CLFS Notes, and then add a link to your notes in the list above this line.