|
|
|
This is the simple skeleton of a new initramfs infrastructure.
|
|
|
|
Information about our goals and aims can be found at
|
|
|
|
https://fedoraproject.org/wiki/Initrdrewrite
|
|
|
|
|
|
|
|
Unlike existing initramfs's, this is an attempt at having as little as
|
|
|
|
possible hard-coded into the initramfs as possible. The initramfs has
|
|
|
|
(basically) one purpose in life -- getting the rootfs mounted so that
|
|
|
|
we can transition to the real rootfs. This is all driven off of
|
|
|
|
device availability. Therefore, instead of scripts hard-coded to do
|
|
|
|
various things, we depend on udev to create device nodes for us and
|
|
|
|
then when we have the rootfs's device node, we mount and carry on.
|
|
|
|
This helps to keep the time required in the initramfs as little as
|
|
|
|
possible so that things like a 5 second boot aren't made impossible as
|
|
|
|
a result of the very existence of an initramfs. It's likely that
|
|
|
|
we'll grow some hooks for running arbitrary commands in the flow of
|
|
|
|
the script, but it's worth trying to resist the urge as much as we can
|
|
|
|
as hooks are guaranteed to be the path to slow-down.
|
|
|
|
|
|
|
|
Also, there is an attempt to keep things as distribution-agnostic as
|
|
|
|
possible. Every distribution has their own tool here and it's not
|
|
|
|
something which is really interesting to have separate across them.
|
|
|
|
So contributions to help decrease the distro-dependencies are welcome.
|
|
|
|
|
|
|
|
The git tree can be found at
|
|
|
|
git://fedorapeople.org/~katzj/new-initrd.git for now. See the TODO
|
|
|
|
file for things which still need to be done and HACKING for some
|
|
|
|
instructions on how to get started
|
|
|
|
|
|
|
|
|
|
|
|
Licensed under the GPLv2
|
|
|
|
|
|
|
|
Copyright 2008, Red Hat, Inc. -- Jeremy Katz <katzj@redhat.com>
|