Hello,
First of all, please direct me to an other mailing list if I'm going off topic. I've investigated a bit the initrd system and there are some questions I could no find answers for: - why are regular desktop distributions always using the initrd system? I understand that this system is mandatory to load exotic scsi drivers or add a pause when booting to usb but I wonder why it is always used - on kernel 2.4 (red hat 9) the initrd image is an ext2 filesystems. It contains a linuxrc nash script. On kernel 2.6 (fedora 3) the initrd is a cpio archive and does not contains a linuxrc script. Could someone briefly explain me why these differences? Particularly I wondering about 3 things: 1) I tried to repack my custom initrd ext2 filesystem into a cpio archive and found that when packed as a cpio archive it's not executing my linuxrc script (is it the way it's supposed to be?) 2) What are the differences between pivot_root and switch_root (new in 2.6) ? 3) Why using nash in the first place? Could we just wait until the end of the linuxrc script? At that time the kernel would move to the new root fs (whitout the need for pivot_root or switch_root)
And finally, if I'm right the end of the nash script (after switch_root) is never executed?
Gildas
Le mercredi 23 février 2005 à 17:07 +0100, Gildas Bayard a écrit :
Hello,
First of all, please direct me to an other mailing list if I'm going off topic. I've investigated a bit the initrd system and there are some questions I could no find answers for:
- why are regular desktop distributions always using the initrd system?
It's require for "root=LABEL=/" and udev.
I understand that this system is mandatory to load exotic scsi drivers or add a pause when booting to usb but I wonder why it is always used
- on kernel 2.4 (red hat 9) the initrd image is an ext2 filesystems.
For *your* system. My initrd also contain raid0 and dm-mod (see /sbin/mkinitrd and "man mkinitrd").
It contains a linuxrc nash script. On kernel 2.6 (fedora 3) the initrd is a cpio archive and does not contains a linuxrc script. Could someone briefly explain me why these differences? Particularly I wondering about 3 things:
- I tried to repack my custom initrd ext2 filesystem into a cpio
archive and found that when packed as a cpio archive it's not executing my linuxrc script (is it the way it's supposed to be?)
use "/init".
- What are the differences between pivot_root and switch_root (new in
2.6) ? 3) Why using nash in the first place?
nash is a mini-mini-mini-shell (bash is TTOOOO big). See "man nash".
Could we just wait until the end of the linuxrc script? At that time the kernel would move to the new root fs (whitout the need for pivot_root or switch_root)
And finally, if I'm right the end of the nash script (after switch_root) is never executed?
Gildas
Le jeudi 24 février 2005 à 09:35 +0100, Féliciano Matias a écrit :
Le mercredi 23 février 2005 à 17:07 +0100, Gildas Bayard a écrit :
Hello,
First of all, please direct me to an other mailing list if I'm going off topic. I've investigated a bit the initrd system and there are some questions I could no find answers for:
- why are regular desktop distributions always using the initrd system?
It's require for "root=LABEL=/" and udev.
Ok. I'll look at that deeper. Thanx
I understand that this system is mandatory to load exotic scsi drivers or add a pause when booting to usb but I wonder why it is always used
- on kernel 2.4 (red hat 9) the initrd image is an ext2 filesystems.
For *your* system. My initrd also contain raid0 and dm-mod (see /sbin/mkinitrd and "man mkinitrd").
No I mean the initrd file is an ext2 filesystem (whatever it contains) On FC3 it is a cpio archive. Why? And why when initrd is a cpio archive it would not load linuxrc? Answers to these question are not in man initrd, man nash...
It contains a linuxrc nash script. On kernel 2.6 (fedora 3) the initrd is a cpio archive and does not contains a linuxrc script. Could someone briefly explain me why these differences? Particularly I wondering about 3 things:
- I tried to repack my custom initrd ext2 filesystem into a cpio
archive and found that when packed as a cpio archive it's not executing my linuxrc script (is it the way it's supposed to be?)
use "/init".
Well I want to understand why my linuxrc is not run when in a cpio archive and again what the matter with the cpio archive
- What are the differences between pivot_root and switch_root (new in
2.6) ? 3) Why using nash in the first place?
nash is a mini-mini-mini-shell (bash is TTOOOO big). See "man nash".
man nash does not explain what is the rational for both pivot_root and switch_root (just give a small description). => Why pivot_root was not enough? => Why not wait until the end of linuxrc to jump to the new root fs?
I would like to know how to get in touch with nash coders. On which forum or mailing list could they be hanging on?
Could we just wait until the end of the linuxrc script? At that time the kernel would move to the new root fs (whitout the need for pivot_root or switch_root)
And finally, if I'm right the end of the nash script (after switch_root) is never executed?
Gildas
-- fedora-devel-list mailing list fedora-devel-list@redhat.com http://www.redhat.com/mailman/listinfo/fedora-devel-list
Le jeudi 24 février 2005 à 10:13 +0100, Gildas Bayard a écrit :
Le jeudi 24 février 2005 à 09:35 +0100, Féliciano Matias a écrit :
Le mercredi 23 février 2005 à 17:07 +0100, Gildas Bayard a écrit :
I understand that this system is mandatory to load exotic scsi drivers or add a pause when booting to usb but I wonder why it is always used
- on kernel 2.4 (red hat 9) the initrd image is an ext2 filesystems.
For *your* system. My initrd also contain raid0 and dm-mod (see /sbin/mkinitrd and "man mkinitrd").
No I mean the initrd file is an ext2 filesystem (whatever it contains) On FC3 it is a cpio archive. Why?
Not sure, but I think because cpio archive is smaller.
And why when initrd is a cpio archive it would not load linuxrc?
I don't know.
Answers to these question are not in man initrd, man nash...
It contains a linuxrc nash script. On kernel 2.6 (fedora 3) the initrd is a cpio archive and does not contains a linuxrc script. Could someone briefly explain me why these differences? Particularly I wondering about 3 things:
- I tried to repack my custom initrd ext2 filesystem into a cpio
archive and found that when packed as a cpio archive it's not executing my linuxrc script (is it the way it's supposed to be?)
use "/init".
Well I want to understand why my linuxrc is not run when in a cpio archive and again what the matter with the cpio archive
- What are the differences between pivot_root and switch_root (new in
2.6) ? 3) Why using nash in the first place?
nash is a mini-mini-mini-shell (bash is TTOOOO big). See "man nash".
man nash does not explain what is the rational for both pivot_root and switch_root (just give a small description). => Why pivot_root was not enough?
From rom nash.c : /* 2.6 magic not-pivot-root but kind of similar stuff. * This is based on code from klibc/utils/run_init.c */ int switchrootCommand(char * cmd, char * end) {
=> Why not wait until the end of linuxrc to jump to the new root fs?
???
I would like to know how to get in touch with nash coders.
From rom nash.c : * Erik Troan (ewt _AT_ redhat.com) * Jeremy Katz (katzj _AT_ redhat.com)
On which forum or mailing list could they be hanging on?
fedora-devel :-)
Could we just wait until the end of the linuxrc script? At that time the kernel would move to the new root fs (whitout the need for pivot_root or switch_root)
And finally, if I'm right the end of the nash script (after switch_root) is never executed?
Gildas
--
devel@lists.stg.fedoraproject.org