Description of problem: Using the rawhide nightly livecd builds on alt.fedoraproject.org or using the F12 RC livecd spins, livecd-iso-to-disk fails to produce a bootable USB key. Version-Release number of selected component (if applicable): livecd-tools-024-1.fc11.x86_64 How reproducible: Always I think. Steps to Reproduce: 1. Download livecd iso 2. Follow the instructions here: http://fedoraproject.org/wiki/FedoraLiveCD/USBHowTo for partitioning and such 3. livecd-iso-to-disk --overlay-size-mb 1024 /home/jwboyer/Download/desktop-i386-20090812.16.iso /dev/sdc1 Actual results: Boots but errors out with 'cannot file root filesystem. Please symlink to /dev/root' and sits at a bash prompt. Expected results: Working live USB key. Additional info: I've poked at this for a while without much luck. Removing the overlay command doesn't make any difference from what I can tell.
The box I have handy is running rawhide, not F12 but the same command line (adjusted for my smaller usb key) is working with it. Some off the top of my head thoughts for why it might be breaking on you * Can you attach the syslinux/syslinux.cfg from the usb stick? * Were there any errors shown on the terminal when livecd-iso-to-disk was run? * Did you happen to have a newer than f11 udev on the box (if so, then you need rawhide livecd-iso-to-disk.sh also to deal with udev dropping binaries we used in the script)? And just to get it out of the way based on the IRC discussion: http://git.fedoraproject.org/git/mkinitrd?p=mkinitrd;a=commitdiff;h=0a7606e907091ddccc67ad478e0a96c894b98379 avoids a message of 'missing ]' from sbin/real-init, but it's not a fatal message and not the cause of your problem. I get it on cds and usb sticks and it's just an eyesore that I thought would be gone as the plan had originally been to be on dracut by now (*sigh*)
(In reply to comment #1) > The box I have handy is running rawhide, not F12 but the same command line > (adjusted for my smaller usb key) is working with it. Some off the top of my > head thoughts for why it might be breaking on you I forgot to point out the size of the USB key, but it is 4GiB, so it should be large enough. > * Can you attach the syslinux/syslinux.cfg from the usb stick? Sure. I'll need to recreate the live key again since I used the hybrid dd option a bit ago, but that shouldn't take me long. Though from my limited understanding, that doesn't seem to be the issue. The kernel boots fine and the initrd runs until it tries to find root. > * Were there any errors shown on the terminal when livecd-iso-to-disk was run? No. > * Did you happen to have a newer than f11 udev on the box (if so, then you need > rawhide livecd-iso-to-disk.sh also to deal with udev dropping binaries we used > in the script)? It would be the latest udev in F11, but not newer than that: [root@hansolo ~]# rpm -q udev udev-141-4.fc11.x86_64
(In reply to comment #2) > (In reply to comment #1) > > The box I have handy is running rawhide, not F12 but the same command line > > (adjusted for my smaller usb key) is working with it. Some off the top of my > > head thoughts for why it might be breaking on you > > I forgot to point out the size of the USB key, but it is 4GiB, so it should be > large enough. Yeah, the one I have at my desk right now is just 1 GiB, so I have to do a tiny overlay > > * Can you attach the syslinux/syslinux.cfg from the usb stick? > > Sure. I'll need to recreate the live key again since I used the hybrid dd > option a bit ago, but that shouldn't take me long. > > Though from my limited understanding, that doesn't seem to be the issue. The > kernel boots fine and the initrd runs until it tries to find root. It will show what the root= argument is. If that doesn't match the label/uuid of your usb key, then the root device won't be able to be found. > > * Were there any errors shown on the terminal when livecd-iso-to-disk was run? > > No. > > > * Did you happen to have a newer than f11 udev on the box (if so, then you need > > rawhide livecd-iso-to-disk.sh also to deal with udev dropping binaries we used > > in the script)? > > It would be the latest udev in F11, but not newer than that: That shouldn't have the removal of /lib/udev/vol_id
And actually -- if you had previously just dd'd onto the stick, did you then clear/reset the partition table and rebuild the key from scratch (--reset-mbr and --format together should do the trick I believe)? If not, then old bits that relate to the ISO being on the usb stick might be getting used
LiveUSB build (typos and all): [root@hansolo ~]# fdisk /dev/sdc The number of cylinders for this disk is set to 3886. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/sdc: 4075 MB, 4075290624 bytes 64 heads, 32 sectors/track, 3886 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Disk identifier: 0xc8874664 Device Boot Start End Blocks Id System /dev/sdc1 * 1 703 719872 83 Linux Command (m for help): d Selected partition 1 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-3886, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-3886, default 3886): Using default value 3886 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@hansolo ~]# mkfs.ext2 /dev/sdc1 mke2fs 1.41.4 (27-Jan-2009) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 248992 inodes, 994812 blocks 49740 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1019215872 31 block groups 32768 blocks per group, 32768 fragments per group 8032 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 27 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@hansolo ~]# livecd-iso-to-disk --overlay-size-mb 1024 /home/jwboyer/F12-Alpha-i686-Live.iso /dev/sdc1 Verifying image... /home/jwboyer/F12-Alpha-i686-Live.iso: 8464c7a0adabb4b966355d7228123751 Fragment sums: 4baa3622315f343fc1f438e6c7e2a7348476fcc137e458862be8c7b7dcee Fragment count: 20 Checking: 100.0% The media check is complete, the result is: PASS. It is OK to use this media. Partition isn't marked bootable! You can mark the partition as bootable with # /sbin/parted /dev/sdc (parted) toggle N boot (parted) quit Cleaning up to exit... [root@hansolo ~]# partex /dev/sdc -bash: partex: command not found [root@hansolo ~]# parted /dev/sdc GNU Parted 1.8.8 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) toggle 1 boot (parted) q Information: You may need to update /etc/fstab. [root@hansolo ~]# livecd-iso-to-disk --overlay-size-mb 1024 /home/jwboyer/F12-Alpha-i686-Live.iso /dev/sdc1 Verifying image... /home/jwboyer/F12-Alpha-i686-Live.iso: 8464c7a0adabb4b966355d7228123751 Fragment sums: 4baa3622315f343fc1f438e6c7e2a7348476fcc137e458862be8c7b7dcee Fragment count: 20 Checking: 100.0% The media check is complete, the result is: PASS. It is OK to use this media. Copying live image to USB stick Updating boot config file Initializing persistent overlay file 0+0 records in 0+0 records out 0 bytes (0 B) copied, 2.1568e-05 s, 0.0 kB/s Installing boot loader /media/usbdev.4qlwca/syslinux is device /dev/sdc1 USB stick set up as live image! [root@hansolo ~]# That results in a boot that says "isolinux.bin missing or corrupt" Then I run: [root@hansolo ~]# umount /dev/sdc1 [root@hansolo ~]# cat /usr/share/syslinux/mbr.bin > /dev/sdc [root@hansolo ~]# mount /dev/sdc1 /mnt [root@hansolo ~]# ls /mnt/syslinux/ boot.cat extlinux.sys isolinux.bin splash.jpg vmlinuz0 extlinux.conf initrd0.img memtest vesamenu.c32 [root@hansolo ~]# umount /dev/sdc1 After that, the image boots fine through the initrd to the point where the fedora symbol is complete in plymouth, but then fails with: -------------------------------------- WARNING: Cannot find root file system! -------------------------------------- Create symlink /dev/root and then exit this shell to continue the boot sequence. bash: no job control in this shell bash-4.0#
Created attachment 357691 [details] extlinux.conf
Aha, the important point here is that your key is formatted as ext2 and not vfat The ext2 module is in the initramfs, but mount isn't auto-loading it and we go to do mount -t auto UUID=... /sysroot and mount returns with mount: you must specify the filesystem type We could explicitly load ext2, but mount should really be getting filesystem modules auto-loaded. -> util-linux-ng
I thought I got the same failure with vfat, but apparently creating the key this way works. I must have mistaken this while previously trying to work around things (like the previously mentioned isolinux.bin failure). [root@hansolo ~]# umount /dev/sdc1 [root@hansolo ~]# mkdosfs -F 16 -n usbdisk /dev/sdc1 mkdosfs 3.0.1 (23 Nov 2008) [root@hansolo ~]# livecd-iso-to-disk --overlay-size-mb 1024 /home/jwboyer/F12-Alpha-i686-Live.iso /dev/sdc1 Verifying image... /home/jwboyer/F12-Alpha-i686-Live.iso: 8464c7a0adabb4b966355d7228123751 Fragment sums: 4baa3622315f343fc1f438e6c7e2a7348476fcc137e458862be8c7b7dcee Fragment count: 20 Checking: 100.0% The media check is complete, the result is: PASS. It is OK to use this media. Copying live image to USB stick Updating boot config file Initializing persistent overlay file 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 108.48 s, 9.9 MB/s Installing boot loader USB stick set up as live image! [root@hansolo ~]# After this, the key boots fine. YAY.
This sounds like duplicate to bug #513104. The problem should be fixed with util-linux-ng 2.16-5.
In fact it looks exactly like such. Thanks kzak! *** This bug has been marked as a duplicate of bug 513104 ***