LWN.net Logo

The new initramfs system

The new initramfs system

Posted Nov 23, 2006 23:37 UTC (Thu) by Thalience (subscriber, #4217)
In reply to: The new initramfs system by rvfh
Parent article: Embedded Linux: Small Root Filesystems

It does seem to be the case that inclusion is optional. On my Ubuntu Edgy system, /boot/initrd.img-2.6.17-10-generic is a compressed cpio archive, not an ext2 image or whatever.

What I don't know is why they create a separate initramfs, rather than building it into the kernel image.


(Log in to post comments)

Re: why separate initramfs

Posted Nov 24, 2006 1:40 UTC (Fri) by ldo (subscriber, #40946) [Link]

>What I don't know is why they create a separate initramfs, rather than
>building it into the kernel image.

So that it's easier to update the kernel and the initramfs image separately, of course.

Re: why separate initramfs

Posted Nov 25, 2006 17:28 UTC (Sat) by Thalience (subscriber, #4217) [Link]

That does make some sense, but I've never seen that capability used.

Re: why separate initramfs

Posted Nov 27, 2006 6:17 UTC (Mon) by ldo (subscriber, #40946) [Link]

>That does make some sense, but I've never seen that capability used.

On the contrary. Look at most binary-based Linux distros (that is, most Linux distros), for example (looking at ones on machines I have immediate access to) SuSE or Red Hat. They tend to come with only a small selection of pre-built kernels to choose from. But rather than build in every driver you might need at boot time into the kernel, you have to make an initrd that includes the necessary kernel modules that will need to be loaded even before the root filesystem can be mounted.

Re: why separate initramfs

Posted Dec 5, 2006 21:22 UTC (Tue) by hazelsct (guest, #3659) [Link]

It's used all the time in Debian. For example, upgrading udev or other utilities, adding or removing uswsusp support (suspend functionality) or the various splash screen programs, etc. Very useful.

Re: why separate initramfs

Posted Nov 26, 2006 0:06 UTC (Sun) by landley (guest, #6789) [Link]

If you build an initramfs in and then supply an external one, the external
one gets extracted over the built-in one, with the external one winning in
case of any conflicts (replacing those files).

So you can always add an external initramfs with _just_ the changed files.
Ubuntu's providing an external one because their developers learned with
initrd and have established habits.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds