IRFW is a framework to ease the making of an initramfs. With IRFW you still have to know how to build one but some of the boring tasks are done automatically.
IRFW can:
Release under the GNU General Public Licence version 3 or any later version.
See COPYING for details
You can download it here : http://perso.crans.org/calves/irfw/irfw-0.1.tar.bz2
To use it you can either
run a special Bash session with all IRFW functions loaded and some help
# path_to_irfw/irfw.sh
To have help:
# help
To quit, quit the shell
Or load it into an existing Bash session by :
# . path_to_irfw/irfw-main.sh
To have help:
# irfw_help
To unload it :
# irfw_unload_all
To have a list of all commands :
# irfw_commands
To have the help of a command :
# irfw_help command
or
# help command
in the special bash sesssion
First set the kernel version for which you want to create the initramfs
# irfw_kernel_version_set kernel_version
Then, the simplest way is
# irfw_deps $1 $2 $3 ....
example :
# irfw_deps bash /etc/lvm kmod://dm-crypt /dev/sda ....
You can also take each argument from a pipe
# ... | irfw_depsA
exammple:
# cat files | irfw_depsA
# echo bash /etc/lvm | irfw_depsA
You give all files to copy to irfw_installA by a pipe
# ... | irfw_installA /tmp/initramfs_dir
will take each line given as input as a file path to copy into /tmp/initramfs_dir reproducing the dirs, links, etc ... if needed
Once you have your initramfs root in a dir.
Let's say it's in /tmp/initramfs_dir .
Run irfw_dir_to_ir
# irfw_dir_to_ir $LINUX_PATH /tmp/initramfs_dir > $DEST
where $LINUX_PATH is the path to linux source tree will create the initramfs in $DEST
example:
# irfw_dir_to_ir /usr/src/linux /tmp/initramfs_dir > /boot/initramfs
There are lots of usefull functions, read the help of them to know how to use them.
Enjoy :)