initrd and devfs

From: Keith Owens (kaos@ocs.com.au)
Date: Mon Apr 29 2002 - 03:46:45 EST


I am having problems with the combination of initrd and devfs.

mkinitrd 3.3.9, hacked to build an ia64 initrd on ia32.
Kernel 2.4.18-ia64-020410, config extract.

CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y

linuxrc commands:

insmod /lib/qla1280.o
echo Mounting /proc filesystem
mount -t proc /proc /proc
echo Creating root device
mkrootdev /dev/root
  fails "mkrootdev: mknod failed: 17". devfs has already created
  /dev/root as a symlink.
echo 0x0100 > /proc/sys/kernel/real-root-dev
echo Mounting root filesystem
mount --ro -t ext2 /dev/root /sysroot
  fails "mount: error 16 mounting ext2" because /dev/root is wrong.
pivot_root /sysroot /sysroot/initrd
  fails "pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2"

By removing /dev/root immediately before mkrootdev /dev/root I can get
past those errors, even pivot_root works. But then it gets nasty :-

INIT: version 2.78 booting
                        Welcome to Red Hat Linux
                Press 'I' to enter interactive startup.
Mounting proc filesystem: [ OK ]
Unmounting initrd: umount: /initrd: device is busy
  Because of this mount - none /initrd/dev devfs rw 0 0

If I boot with initrd and devfs=nomount it goes through initrd
processing and successfully umounts initrd, but then fails "Remounting
root filesystem in read-write mode: mount: no such partition found".
/proc/mounts contains

  /dev/root / ext2 ro 0 0

What is the correct way of using initrd and devfs together?

devfsd.conf is not the answer, initrd does not run the devfsd daemon.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Apr 30 2002 - 22:00:16 EST