[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Mountpoints - not taken from fstab !?



I'm quite surprised to find this problem; if I remember well, I did this a
few times before with success:
 
On a quadruple-boot, I copied all partitions (copy&paste from 'mount')
 
/dev/hda12 on / type ext3 (rw,errors=remount-ro)
/dev/hda11 on /boot type ext3 (rw)
/dev/hda13 on /usr type ext3 (rw)
/dev/hda16 on /home type ext3 (rw)
 
with knoppix to
 
/dev/hda6
/dev/hda3
/dev/hda7
/dev/hda8
 
Then I changed the fstab on hda6 to:
 
/dev/hda6       /               ext3    errors=remount-ro       0       1
/dev/hda5       none            swap    sw                      0       0
proc            /proc           proc    defaults                0       0
/dev/hda3       /boot   ext3    defaults                        0       2
/dev/hda7       /usr    ext3    defaults                        0       2
/dev/hda8       /home   ext3    defaults                        0       2
 
without problem.
 
But now, when I boot (grub),
 
GNU GRUB version 0.94

[...]

grub> root (hd0,2)
      filesystem type is ext2fs, partition type 0x83

grub> kernel /vmlinuz-2.6.5-1-686 ro root=/dev/hda6
      [Linux-bzImage, setup=0x1400, size=0x1114cd]

grub> initrd /initrd.img-2.6.5-1-686
      [Linix-initrd @ 0x17aff000, 0x468000 bytes]

grub> boot

 
to my greatest surprise, it still boots and mounts the earlier partitions
(see above) !! with root=/dev/hda12 !!

I'm stumped !



What I've done so far:

$ dmesg | grep Kernel
Kernel command line: ro root=/dev/hda6 (so this looks good !)

$ mount
/dev/hda12 on / type ext3 (rw,errors=remount-ro) (this doesn't look okay)
proc on /proc type proc (rw)
[...]

# cd /mnt/
debian:/mnt# mount /dev/hda6 homeRH/
debian:/mnt# cat homeRH/etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>               <dump>  <pass>
/dev/hda6       /               ext3    errors=remount-ro       0       1
/dev/hda5       none            swap    sw                      0       0
proc            /proc           proc    defaults                0       0
/dev/fd0        /floppy         auto    user,noauto             0       0
/dev/cdrom      /cdrom          iso9660 ro,user,noauto          0       0
/dev/hda3       /boot   ext3    defaults                        0       2
/dev/hda7       /usr    ext3    defaults                        0       2
[...]

The kernel receives root=/dev/hda6; 
hda6 contains the mount point for '/' to be /dev/hda6 in its /etc/fstab.
But what it mounts to '/' is /dev/hda12 !!

So where does it get its mountpoints if not from /etc/fstab ??

I could only vaguely guess that initrd is the culprit here.
But is initrd supposed to overrule fstab ?
Should not the Kernel command line, as passed correctly by grub, point to
a respective fstab for the mount points ?

Okay, did another test: 

[...]

grub> kernel /vmlinuz-2.6.5-1-686 ro 
      [Linux-bzImage, setup=0x1400, size=0x1114cd]

[...]

This works just as well ! (I left out the 'root' definition.)
In my opinion, it ought to panic; but no, it boots nicely and mounts hda12
as '/' and so on ... !


Any help will be appreciated !



Reply to: