From Fedora Project Wiki
(Created page with "== What's treebuilder? == Treebuilder is the new branch of Lorax which builds Anaconda images that boot like regular Live images. The advantages of this ...")
 
 
(12 intermediate revisions by 2 users not shown)
Line 28: Line 28:
   
   
  # ==== REPOS ====
  # ==== REPOS ====
# pick one of rawhide or the current (branched) release
#repo --name=rawhide --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
# -or-
  repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=$basearch
  repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=$basearch
  repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f16&arch=$basearch
  #repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f16&arch=$basearch
  repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f16&arch=$basearch
  repo --name=updates-testing --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f16&arch=$basearch
    
    
  # And an extra line in case you have some local changes
  # And an extra line in case you have some local changes
Line 36: Line 39:
   
   
  %packages
  %packages
  # core stuff that isn't in @base
  # This is what ends up in the Packages dir and on the DVD.
  kernel*
  # It doesn't change the contents of the anaconda runtime.
dracut*
  # This is a very minimal package set because we only care about the images (boot.iso etc.)
  # basic groups
  @base
@filesystems
  @base-x
# size removals
-*-devel
-*-src
-*javadoc*
-xorg-x11-docs
-kernel-doc
-frysk
-*gcj*
-kde*
  %end
  %end


Line 68: Line 60:
             -c /srv/pungi/anacondatest.ks -G -C -B "$@"
             -c /srv/pungi/anacondatest.ks -G -C -B "$@"


== Troubleshooting ==
== Testing / troubleshooting ==
TODO.
 
{{admon/important|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 <code>livecd-iso-to-disk</code>.
 
=== Can't find root device when booting ISO image ===
 
Currently (Sep. 9) the DVD images lack a proper <code>root=</code> argument in their bootloader config. Change the <code>root=</code> argument to <code>root=live:/dev/sr0</code> (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 <code>/dev/disk/by-label</code> links, so booting will fail. As a workaround, try <code>root=live:/dev/hda</code>.

Latest revision as of 19:04, 9 August 2011

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://git.fedorahosted.org/git/lorax
 cd lorax
 git checkout treebuilder
 make
 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=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
# -or-
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=$basearch
#repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f16&arch=$basearch
repo --name=updates-testing --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f16&arch=$basearch
 
# And an extra line in case you have some local changes
#repo --name=localrepo --baseurl=file:///srv/pungi/localrepo --cost=1

%packages
# 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.)
@base
%end

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

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

#!/bin/bash
if [ $(getenforce) == Enforcing ]; then
    sudo setenforce 0
    echo "turning off SELinux enforcing"
fi
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

Important.png
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.