From 2e7b8713b438a795c5079047978216de7df0de22 Mon Sep 17 00:00:00 2001 From: Victor Lowther Date: Fri, 22 May 2009 19:24:29 -0700 Subject: [PATCH] Add a README.modules that describes how dracut modules work. --- README.modules | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 README.modules diff --git a/README.modules b/README.modules new file mode 100644 index 0000000..d968f56 --- /dev/null +++ b/README.modules @@ -0,0 +1,52 @@ +Most of the functionality that dracut implements are actually implemented +by dracut modules. Dracut modules live in modules.d, and have the following +structure: + +dracut_install_dir/modules.d/ + 00modname/ + install + check + + +00modname: The name of the module prefixed by a two-digit numeric sort code. + The numeric code must be present and in the range of 00 - 99. + Modules with lower numbers are installed first. This is important + because the dracut install functions (which install files onto + the initrd) refuse to overwrite already installed files. This makes + it easy for an earlier module to override the functionality of a + later module, so that you can have a distro or system specific + module override or modify the functionality of a generic module + without having to patch the mode generic module. + +install: dracut sources this script to install the functionality that a + module implements onto the initrd. For the most part, this amounts + to copying files from the host system onto the initrd in a controlled + manner. dracut supplies several install functions that are + specialized for different file types. Browse through dracut-functions + fore more details. dracut also provides a $moddir variable if you + need to install a file from the module directory, such as an initrd + hook, a udev rule, or a specialized executable. + +check: Dracut calls this program to check and see if a module can be installed + on the initrd. + + When called without options, check should check to make sure that + any files it needs to install into the initrd from the host system + are present. It should exit with a 0 if they are, and a 1 if they are + not. + + When called with -h, it should perform the same check that it would + without any options, and it should also check to see if the + functionality the module implements is being used on the host system. + For example, if this module handles installing support for LUKS + encrypted volumes, it should return 0 if all the tools to handle + encrpted volumes are available and the host system has the root + partition on an encrypted volume, 1 otherwise. + + Check may take additional options in the future. + We will most likely grow a module dependency checking system in the + near future, and check will need to handle a -d option when we do. + +Any other files in the module will not be touched by dracut directly. + +You are encouraged to provide a README that descrobes what the module is for. \ No newline at end of file -- 2.7.4