Bug 517885 - mount not auto-loading ext2 module
Summary: mount not auto-loading ext2 module
Keywords:
Status: CLOSED DUPLICATE of bug 513104
Alias: None
Product: Fedora
Classification: Fedora
Component: util-linux-ng
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Karel Zak
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-08-17 17:09 UTC by Josh Boyer
Modified: 2009-08-17 20:41 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-08-17 20:41:01 UTC


Attachments (Terms of Use)
extlinux.conf (1.09 KB, text/plain)
2009-08-17 18:55 UTC, Josh Boyer
no flags Details

Description Josh Boyer 2009-08-17 17:09:25 UTC
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.

Comment 1 Jeremy Katz 2009-08-17 17:48:22 UTC
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*)

Comment 2 Josh Boyer 2009-08-17 18:36:26 UTC
(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

Comment 3 Jeremy Katz 2009-08-17 18:47:43 UTC
(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

Comment 4 Jeremy Katz 2009-08-17 18:54:05 UTC
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

Comment 5 Josh Boyer 2009-08-17 18:54:38 UTC
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#

Comment 6 Josh Boyer 2009-08-17 18:55:45 UTC
Created attachment 357691 [details]
extlinux.conf

Comment 7 Jeremy Katz 2009-08-17 19:20:42 UTC
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

Comment 8 Josh Boyer 2009-08-17 19:49:24 UTC
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.

Comment 9 Karel Zak 2009-08-17 20:33:05 UTC
This sounds like duplicate to bug #513104. The problem should be fixed with util-linux-ng 2.16-5.

Comment 10 Jeremy Katz 2009-08-17 20:41:01 UTC
In fact it looks exactly like such.  Thanks kzak!

*** This bug has been marked as a duplicate of bug 513104 ***


Note You need to log in before you can comment on or make changes to this bug.