Update the documentation a bit for current status
parent
654568b39e
commit
55ca5f4f14
22
HACKING
22
HACKING
|
|
@ -1,18 +1,20 @@
|
|||
Right now, I'm doing most of my testing using a qemu/kvm guest and
|
||||
generating the initramfs on another box. I then can boot the guest
|
||||
generating the initramfs on another box but the support is all present
|
||||
to build for the "running" machine. For the former, you can boot the guest
|
||||
using qemu's -kernel and -initrd options. Currently supported rootfs
|
||||
types are regular partitions, root-on-lvm and root-on-lvm-on-encrypted-pv.
|
||||
|
||||
generate.sh exists and will build an image. Right now, it depends on
|
||||
some existing pieces of the Fedora initrd infrastructure, but moving
|
||||
those out is a priority now that the basic functionality has been
|
||||
proven.
|
||||
dracut exists and will build an image. It is command-line equivalent
|
||||
to most mkinitrd implementations and should be pretty straight-forward
|
||||
to use.
|
||||
|
||||
To use, just run dracut with an output file name and, optionally, a
|
||||
kernel version (it defaults to using the current). The appropriate
|
||||
modules will be copied over and things should be good to go. If you'd
|
||||
like to customize the list of modules copied in, edit /etc/dracut.conf
|
||||
and set
|
||||
modules="foo bar baz"
|
||||
|
||||
To use, just run generate.sh with an output file for the initrd. It
|
||||
will copy over some binaries as well as the appropriate shared library
|
||||
dependencies. If you are doing a rootfs type that requires modules
|
||||
(on Fedora, this is just encrypted root now), you'll want to have the
|
||||
modules tree to copy in in a modules/ sub directory.
|
||||
|
||||
Requirements:
|
||||
* udev
|
||||
|
|
|
|||
22
TODO
22
TODO
|
|
@ -1,5 +1,6 @@
|
|||
Current TODO list, broken into things which are relevant for the
|
||||
initramfs itself (/init et al) vs the generator
|
||||
initramfs itself (/init et al) vs the generator. A lot of things
|
||||
are/should be marked with "FIXME" in the code
|
||||
|
||||
INITRAMFS TODO
|
||||
--------------
|
||||
|
|
@ -24,29 +25,16 @@ can see this being a point of contention for other distros
|
|||
* root= parsing should be done with udev creating /dev/root symlink
|
||||
for us appropriately
|
||||
* Support thaw (resume from hibernate)
|
||||
* Currently requires the drop-nash branch of plymouth; get merged into
|
||||
master and released
|
||||
* Proving some support with a simple network based root would be good
|
||||
* Do we just call dhclient, etc or try to get NetworkManager going?
|
||||
* Would be nice not to have to kill and restart udev across switchroot
|
||||
* mdraid
|
||||
* dmraid
|
||||
* multipath
|
||||
* SELinux policy either needs to be loaded from the initramfs or /init
|
||||
on the rootfs
|
||||
|
||||
* Should SELinux policy be done in the initramfs or from the real rootfs?
|
||||
|
||||
|
||||
GENERATOR TODO
|
||||
--------------
|
||||
* Needs to be written to look at the current kernel and get the
|
||||
modules so it can be used on a running system.
|
||||
* Move the needed pieces of Fedora mkinitrd's initrd-functions into
|
||||
this tree. This should mainly be around shlib resolution/copying at
|
||||
present
|
||||
* We should just grab appropriate modules rather than all of them.
|
||||
* Should default to basically all storage drivers, possibly allow to
|
||||
specify less
|
||||
* Maybe use class based specifiers (=ata, =net, etc) that we do
|
||||
today with Fedora mkinitrd
|
||||
* Certainly more as this is a huge hack right now
|
||||
* Default module specificatoin could use some work
|
||||
* udev rule copying, as mentioned above, is a bit too hard-coded
|
||||
|
|
|
|||
Loading…
Reference in New Issue