From Fedora Project Wiki

< User:Wwoods

Revision as of 19:04, 9 August 2011 by Wwoods (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

What's treebuilder?

Treebuilder is the new branch of Lorax which builds Anaconda images that boot like regular Live images. The advantages of this approach are:

  1. The installer uses much less RAM and starts up much faster than it did in F15
  2. The initrd is a normal dracut image, so:
    • There's a shell in initrd.img
    • No more maintaining the ancient, crusty loader codebase. yay!
  3. initrd.img is under 20MB, so PPC systems can netboot it

How do I get started?

1. set up an F16 chroot

  • this is optional for x86 systems but required for ppc

2. yum install pungi fedora-kickstarts (inside the chroot if you're doing that)

3. Install a copy of the treebuilder branch:

 git clone git://
 cd lorax
 git checkout treebuilder
 sudo make install

4. Grab a kickstart You can use fedora-install-fedora.ks from the fedora-kickstarts package, or you can use this minimized version if you're not going to build full DVD images:

# Minimal Fedora kickstart - basically just for testing anaconda

# ==== REPOS ====
# pick one of rawhide or the current (branched) release
#repo --name=rawhide --mirrorlist=$basearch
# -or-
repo --name=fedora --mirrorlist=$basearch
#repo --name=updates --mirrorlist=$basearch
repo --name=updates-testing --mirrorlist=$basearch
# And an extra line in case you have some local changes
#repo --name=localrepo --baseurl=file:///srv/pungi/localrepo --cost=1

# This is what ends up in the Packages dir and on the DVD.
# It doesn't change the contents of the anaconda runtime.
# This is a very minimal package set because we only care about the images (boot.iso etc.)

Save that as /srv/pungi/anacondatest.ks.

5. Run pungi Here's the script I use:

if [ $(getenforce) == Enforcing ]; then
    sudo setenforce 0
    echo "turning off SELinux enforcing"
echo "removing /srv/pungi/test, one moment..."
sudo rm -rf /srv/pungi/test
sudo pungi --nosource --nodebuginfo --destdir=/srv/pungi/test
           -c /srv/pungi/anacondatest.ks -G -C -B "$@"

Testing / troubleshooting

Treebuilder images are Live images
The treebuilder-style images are live images, just like the normal Fedora LiveCD. So the runtime image (root filesystem) is an ext4 image, inside a squashfs image, inside an iso image. It's complicated, but that's how live images work.

Initial dialogs

The first two dialogs for language and keyboard are in VGA character-cell text-mode "graphics". This is being investigated.

Making a USB stick

These are live images - use livecd-iso-to-disk.

Can't find root device when booting ISO image

Currently (Sep. 9) the DVD images lack a proper root= argument in their bootloader config. Change the root= argument to root=live:/dev/sr0 (or add it if it doesn't exist).

On Power Mac systems, the CD driver is too old for udev to be able to handle setting up the /dev/disk/by-label links, so booting will fail. As a workaround, try root=live:/dev/hda.