David Douthitt wrote:

David, I found this url from the 2.4 initrd.txt quite interesting. You 
may find it interesting to at least skim through it:

[1] Almesberger, Werner; "Booting Linux: The History and the Future"
    
ftp://icaftp.epfl.ch/pub/people/almesber/booting/bootinglinux-current.ps.gz

>On 12/28/01 at 10:20 AM, Ewald Wasscher <[EMAIL PROTECTED]>
>wrote:
>
>>David Douthitt wrote:
>>
>
>>>This was the BIG trip up; ROOT= must NOT be /dev/ram or
>>>/dev/ram0, but anything else.  initrd.txt never says
>>>this... in fact, initrd.txt never considers the fact that
>>>it might be used for a floppy-based Linux...
>>>
>
>>At least for 2.4 kernels this isn't completely correct. I
>>put together a small-as-possible bootloader package and it
>>runs with root=/dev/ram0. But, I do specify init=/linuxrc,
>>just like Jacques.
>>
>
>>From what I've been reading, what you and Jacques have done is
>"cheating" :)
>
Maybe with respect to running init you are right, though I would call it 
"making use of new features of the linix kernel"..

>
>Here is the two methods compared:
>
>EWALD/JACQUES
>
>1. initrd.gz is loaded into /dev/ram0 (ROOT=/dev/ram0)
>2. The kernel recognizes root is /dev/ram0, and does NOT run /linuxrc
>3. The kernel then releases memory and exits the load process
>4. The kernel runs init (INIT=/linuxrc)
>5. Your linuxrc performs a pivot_root (if necessary) and runs init by
>hand.
>
Agreed. IMHO the advantage of this approach is that it probably will be 
a bit more future-proof, according to initrd.txt and [1]. The obvious 
disadvantage is that it doesn't work with 2.2 kernels.

>
>OXYGEN
>
>1. initrd.gz is loaded into /dev/ram0 (ROOT=/dev/ram1)
>2. The kernel recognizes that root is NOT /dev/ram0, and then DOES run
>/linuxrc
>3. The kernel then releases memory, performs a pivot_root, and runs
>/bin/init
>
At least 3. is an older mechanism that may be removed in future releases 
as initrd.txt states. A disadvantage of this approach is that it doesn't 
work with tmpfs and nfs-root (the latter isn't much of a problem for 
us). The advantage is that it works with both 2.2 and 2.4 kernels (for 
the near future at least)

>
>No unusual kernel parameters required.
>
>I might suggest too, something that had occured to me: what about an
>entry in the inittab that runs /linuxrc?
>
I agree with Charles here.

>
>But I digress: I think my way is the most standard way; what do you
>all think?
>
I think that your way is the standard (and only) way with 2.2 kernels. 
It still works with 2.4 kernels, but may not do so with future releases 
of 2.4 and later kernels. From the little I have read about initramfs 
etc.I understand that more of the late booting process (like finding and 
mounting the root filesystem) will be moved to user space in the future. 
Considering this it makes sense to do things like pivot_rooting and 
finding and mounting the root filesystem yourself instead of relying on 
the kernel to do this.

Ewald Wasscher



_______________________________________________
Leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to