summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Lowther <victor.lowther@gmail.com>2009-02-13 04:43:31 -0800
committerDave Jones <davej@redhat.com>2009-02-16 13:56:51 -0500
commitc968efbb13b3d1d88e6a3bc8f7b96f4bce9cee99 (patch)
tree70d360f772caa896e40454f1c2d7429e17759d97
parent53f954561afdb87a67e0f943556095f0eb7cbbc0 (diff)
downloaddracut-c968efbb13b3d1d88e6a3bc8f7b96f4bce9cee99.tar.gz
dracut-c968efbb13b3d1d88e6a3bc8f7b96f4bce9cee99.tar.bz2
dracut-c968efbb13b3d1d88e6a3bc8f7b96f4bce9cee99.zip
[PATCH 50/50] Some documentation updates
-rw-r--r--HACKING1
-rw-r--r--README19
-rw-r--r--TODO11
3 files changed, 23 insertions, 8 deletions
diff --git a/HACKING b/HACKING
index 1e8111b0..e9efe09a 100644
--- a/HACKING
+++ b/HACKING
@@ -18,5 +18,4 @@ and set
Requirements:
* udev
-* plymouth > 0.6.0-2 (for encrypted root; otherwise, it should noop out)
* nash (for switchroot until we get in util-linux)
diff --git a/README b/README
index 7749fdb3..abc282ac 100644
--- a/README
+++ b/README
@@ -19,6 +19,25 @@ 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.
+Most of the initrd generation functionality in dracut is provided by a bunch
+of generator modules that are sourced by the main dracut script to install
+specific functionality into the initrd. They live in the modules subdirectory,
+and use functionality provided by dracut-functions to do their work.
+Some general rules for writing modules:
+ * Use one of the inst family of functions to actually install files
+ on to the initrd. They handle mangling the pathnames and (for binaries,
+ scripts, and kernel modules) installing dependencies as appropriate so
+ you do not have to.
+ * Scripts that end up on the initrd should be POSIX compliant. dracut
+ will try to use /bin/dash as /bin/sh for the initrd if it is available,
+ so you should install it on your system -- dash aims for strict POSIX
+ compliance to the extent possible.
+ * Hooks MUST be POSIX compliant -- they are sourced by the init script,
+ and having a bashism break your user's ability to boot really sucks.
+ * Generator modules should have a two digit numeric prefix -- they run in
+ ascending sort order. Anything in the 90-99 range is stuff that dracut
+ relies on, so try not to break those hooks.
+
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.
diff --git a/TODO b/TODO
index a59c869f..e04be3a0 100644
--- a/TODO
+++ b/TODO
@@ -16,15 +16,8 @@ the rules that we care about in the initramfs. These could be
symlinks/hardlinks to the main rules in some cases or special-cased
ones
* LVM activation by udev is a bit of a large hammer right now
-* dm-crypt (luks) depends on plymouth
-* plymouth is hard-coded... this may be reasonable as modesetting goes
-into the upstream kernel as a way to get off of fb-splash stuff, but I
-can see this being a point of contention for other distros
- * plymouth --show-splash should be done as a udev rule so that we
- can switch modes first
* root= parsing should be done with udev creating /dev/root symlink
for us appropriately
-* Support thaw (resume from hibernate)
* 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
@@ -40,3 +33,7 @@ GENERATOR TODO
--------------
* Default module specificatoin could use some work
* udev rule copying, as mentioned above, is a bit too hard-coded
+* pkg-config integration, to make it easy for other packages to use us.
+* Autotool-izing the package is probably overkill, but making the Makefile
+ vaguely autotools-compatible and adding a configure script would probably
+ be a good thing.