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:
- The installer uses much less RAM and starts up much faster than it did in F15
- The initrd is a normal dracut image, so:
- There's a shell in
initrd.img
- No more maintaining the ancient, crusty
loader
codebase. yay!
- There's a shell in
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
- see http://sharkcz.livejournal.com/8649.html for detailed directions
- NOTE: you don't need a separate partition for this - just creating a directory named
/f16
will work OK
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 ==== 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=fedora --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 # core stuff that isn't in @base kernel* dracut* # basic groups @filesystems @base-x # size removals -*-devel -*-src -*javadoc* -xorg-x11-docs -kernel-doc -frysk -*gcj* -kde* %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 "$@"
Troubleshooting
TODO.