Difference between revisions of "ReBootstrap"

From Funtoo Linux
Jump to: navigation, search
(Add "what is aboriginal linux" hunk.)
Line 1: Line 1:
 
This page documents the effort to bootstrap Funtoo Linux using Aboriginal Linux.
 
This page documents the effort to bootstrap Funtoo Linux using Aboriginal Linux.
  
The plan of attack is as follows:
+
= What is Aboriginal Linux?
 +
 
 +
Aboriginal Linux's motto is "we cross compile so you don't have to".
 +
 
 +
It creates a simple native development environment for each type of target hardware, building the smallest self-contained Linux system capable of rebuilding itself from source.  This requires seven packages: linux, uClibc, busybox, binutils, gcc, make, and bash.
 +
 
 +
The resulting system can then boot under the emulator QEMU (or on appropriate hardware, if available) to provide a native development environment, eliminating the need for any further cross compiling.
 +
 
 +
Its web page is at "http://landley.net/aboriginal".
 +
 
 +
= The plan of attack is as follows:
  
 
# Start from an LFS build, plus necessary stuff for Portage to run.
 
# Start from an LFS build, plus necessary stuff for Portage to run.

Revision as of 22:49, 30 December 2011

This page documents the effort to bootstrap Funtoo Linux using Aboriginal Linux.

= What is Aboriginal Linux?

Aboriginal Linux's motto is "we cross compile so you don't have to".

It creates a simple native development environment for each type of target hardware, building the smallest self-contained Linux system capable of rebuilding itself from source. This requires seven packages: linux, uClibc, busybox, binutils, gcc, make, and bash.

The resulting system can then boot under the emulator QEMU (or on appropriate hardware, if available) to provide a native development environment, eliminating the need for any further cross compiling.

Its web page is at "http://landley.net/aboriginal".

= The plan of attack is as follows:

  1. Start from an LFS build, plus necessary stuff for Portage to run.
  2. Create a package.provided file for the local LFS system so that Portage doesn't complain of unsatisfied /var/db/pkg entries.
  3. Use Portage to build a stage1 tarball to /tmp/stage1root.

At this point, Funtoo has been bootstrapped and we can extend this approach to bootstrap Funtoo on any architecture.

Prerequisites

  1. A smaller Portage tree to not eat up so much filesystem space. This has now been implemented. The script /root/git/funtoo-overlay/funtoo/scripts/generate-system-tree.py can be used to generate a system-only Portage tree.
  2. A package.provided list of a current Funtoo system. This can be found at /root/git/funtoo-overlay/funtoo/scripts/stage3-provided.txt.

Update

The approach above didn't seem to correctly provide needed dependencies. Options at this point:

  1. Bundle up what we have as a stage3 and see if Metro's steps are more successful at using it as a stage3 (we were trying simple emerge commands rather than the explicit metro steps for testing)
  2. If package.provided is not working, simply copy /var/db/pkg from an existing stage3 for a massive injection of fake package information.
Personal tools
Namespaces

Variants
Actions
Categories
Toolbox
Stuff