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