This has been around as long as I can remember and I'm getting sick
of fixing it by hand.
During initrd if root=/dev/ram0, /linuxrc will not be executed.
This is just plain wrong. Exhibit A: Documentation/initrd.txt
If initrd was started /linuxrc is supposed to be executed.
/linuxrc is responcible for setting real_root_dev via /proc.
This is properly checked for AFTER /linuxrc completes.
main.c line ~735
#ifdef CONFIG_BLK_DEV_INITRD
root_mountflags = real_root_mountflags;
- if (mount_initrd && ROOT_DEV != real_root_dev
- && MAJOR(ROOT_DEV) == RAMDISK_MAJOR && MINOR(ROOT_DEV) == 0) {
int error;
int i, pid;
#ifdef CONFIG_BLK_DEV_INITRD
root_mountflags = real_root_mountflags;
+ if (mount_initrd && MAJOR(ROOT_DEV) == RAMDISK_MAJOR &&
+ MINOR(ROOT_DEV) == 0) {
int error;
int i, pid
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:23 EST