[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: init observations



Chris Adams wrote:

Once upon a time, Avi Kivity <avi argo co il> said:
We require /. We require initrd.

initrd is not currently required.  It is for out-of-the-box setups, but
you can:

a) not use LVM for root
b) not use ext3 for root or rebuild kernel with ext3 included
c) use hardware that doesn't require modules for root device or rebuild
  kernel with drivers included

seems very close to "required" to me.

I'm sure we can arrange initrd to look at the command line. For example:

mount=/=server1:/path/to/root,/usr=server2:/path/to/usr

IP can already be configured this way.

That's a pretty ugly hack just to get python support for startup.

It's not just for python; it's to avoid dependency on a very small subset of functionaly present in /bin and /sbin. For flexibility.

 Also,
that is limited; the kernel command line has a limit that isn't all that
big.

This limit is going away.

 You also then need to handle fsck and such in initrd for
non-network filesystems.

This can be handled in the same way that fsck / is done.

The point is that we have two (well, more, but in this context just two) bootstrap sequences: initrd -> / and / -> rest of world. the first bootstrap does not leave permanent effects, but the second does, and these hurt. Eliminating the second stage would simplify the system and open the door for many improvements.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]