From Fedora Project Wiki
 
(11 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.
 
  
=== Boot problem 2011-08-05 0000 UTC ===
+
{{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.}}
Upon boot of DVD, then dracut drops to shell with the message:
+
 
  Warning: No root device "live:/dev/disk/by-label/Fedora" found.
+
=== Initial dialogs ===
The file is present as
+
 
  /dev/disk/by-label/Fedora 16 x86_64 DVD
+
The first two dialogs for language and keyboard are in VGA character-cell text-mode "graphics". This is being investigated.
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
+
=== Making a USB stick ===
also fails [that name is in my /dev/disk/by-id].
+
 
 +
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.