Line 79: | Line 79: | ||
root=ID=ata_SONY_DVD_RW_AW_G-170A | root=ID=ata_SONY_DVD_RW_AW_G-170A | ||
also fails [that name is in my /dev/disk/by-id]. | also fails [that name is in my /dev/disk/by-id]. | ||
=== Slow === | |||
Treebuilder is slower. The first culprit looks like dracut. | |||
{| | |||
!number!!execve | |||
|- | |||
| 7606||/bin/egrep | |||
|- | |||
| 2578||/bin/cp | |||
|- | |||
| 1633||/lib64/ld-linux-x86-64.so.2 | |||
|- | |||
| 1434||/usr/bin/ldd | |||
|- | |||
| 1413||/bin/ln | |||
|- | |||
| 1303||/usr/local/bin/ln | |||
|- | |||
| 1303||/usr/bin/ln | |||
|- | |||
| 1087||/sbin/modinfo | |||
|} | |||
The second culprit is not honoring $TMPDIR, and not putting yumroot-$PID and installroot-$PID inside it. | |||
{| | |||
!count!!filename | |||
|- | |||
|1693845|| * | |||
|- | |||
| 253387||$DESTDIR/yumroot/... | |||
|- | |||
| 79977||$DESTDIR/installroot/... | |||
|- | |||
| 44486||/etc/xattr.conf | |||
|- | |||
| 41713||/proc/self/task/31818/attr/fscreate | |||
|- | |||
| 25919||/proc/self/task/1070/attr/fscreate | |||
|- | |||
| 20220||/usr | |||
|- | |||
| 19487||/etc/localtime | |||
|- | |||
| 18485||/lib64/libc.so.6 | |||
|- | |||
| 18294||/usr/share | |||
|- | |||
| 18184||/etc/ld.so.cache | |||
|- | |||
| 18074||/etc/ld.so.preload | |||
|- | |||
| 17213||/usr/bin/ldd | |||
|- | |||
| 14471||/bin/egrep | |||
|- | |||
| 9861||/usr/share/locale | |||
|- | |||
| 9090||/var/log/dracut.log | |||
|- | |||
| 9013||/dev/null | |||
|- | |||
| 7529||/sbin/modprobe | |||
|- | |||
| 6110||. | |||
|} |
Revision as of 00:37, 6 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:
- 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.
Boot problem 2011-08-05 0000 UTC
Upon boot of DVD, then dracut drops to shell with the message:
Warning: No root device "live:/dev/disk/by-label/Fedora" found.
The file is present as
/dev/disk/by-label/Fedora 16 x86_64 DVD
with those three spaces. Reboot with quoting (single, or double, or backslash) also fails. Altering the boot parameter to
root=ID=ata_SONY_DVD_RW_AW_G-170A
also fails [that name is in my /dev/disk/by-id].
Slow
Treebuilder is slower. The first culprit looks like dracut.
number | execve |
---|---|
7606 | /bin/egrep |
2578 | /bin/cp |
1633 | /lib64/ld-linux-x86-64.so.2 |
1434 | /usr/bin/ldd |
1413 | /bin/ln |
1303 | /usr/local/bin/ln |
1303 | /usr/bin/ln |
1087 | /sbin/modinfo |
The second culprit is not honoring $TMPDIR, and not putting yumroot-$PID and installroot-$PID inside it.
count | filename |
---|---|
1693845 | * |
253387 | $DESTDIR/yumroot/... |
79977 | $DESTDIR/installroot/... |
44486 | /etc/xattr.conf |
41713 | /proc/self/task/31818/attr/fscreate |
25919 | /proc/self/task/1070/attr/fscreate |
20220 | /usr |
19487 | /etc/localtime |
18485 | /lib64/libc.so.6 |
18294 | /usr/share |
18184 | /etc/ld.so.cache |
18074 | /etc/ld.so.preload |
17213 | /usr/bin/ldd |
14471 | /bin/egrep |
9861 | /usr/share/locale |
9090 | /var/log/dracut.log |
9013 | /dev/null |
7529 | /sbin/modprobe |
6110 | . |