initramfs-simple

initramfs-simple provides a simple Bash script that helps you with the manual creation of an initramfs archive.

Before reading on, you should be aware that there are other tools for this task, tools like initramfs-tools or yaird, that will make this much easier by building the initramfs with all required files, executables, modules etc. without the need for you to configure anything. initramfs-simple is the exact opposite, you need to know exactly what your system requires for booting and you need to write a custom configuration for initramfs-simple that reflects these requirements.

initramfs-simple includes a simple profile management. Some (possibly outdated) example configurations are included.

Note: Any news on initramfs-simple development will be posted on the news page, an Atom feed is also available.

Installation

Debian users may install the package initramfs-simple from my repository. The following instructions provide generic installation information for other distributions.

Download the archive, and extract it: ~$ tar xzf initramfs-simple-0.1.tar.gz In the new directory initramfs-simple-0.1/ run the following commands as root: initramfs-simple-0.1# make
initramfs-simple-0.1# make install
initramfs-simple-0.1# make clean
This will put all files in subdirectories of the /usr/local/ directory:

To uninstall all files, run (as root in the initramfs-simple-0.1/ directory): initramfs-simple-0.1# make uninstall Note that this will also delete all configuration files you may have created!

The Debian package conforms to the Debian policy, installing all files in /usr/ and the configuration in /etc/, if you want this behaviour when installing manually, use the following command: initramfs-simple-0.1# PREFIX=/usr make install Note that in this case you must use the appropriate uninstall command, too: initrmafs-simple-0.1# PREFIX=/usr make uninstall

If you set the PREFIX to some other directory, all files, including the configuration, will be installed in the appropriate subdirectories of this directory. Note: You need to change some paths in the mksinitramfs script when installing with a PREFIX (look around line 70)!

Documentation

To display the man pages after you installed initramfs-simple on your system, run ~$ man initramfs-simple for a short introduction or ~$ man mksinitramfs for information on the actual script. These commands assume that you did a standard installation. Configuration examples can be found in the documentation directory.

If you have any questions, suggestions etc. feel free to send me a mail.

Frequently Asked Questions

How to extract the contents of an initramfs archive?

If you installed initramfs-simple you can use the -x command line option of mksinitramfs to extract an archive, see the man page for details. You may also use the following command instead: ~$ zcat "<archive>" | ( while true; do cpio -i -d -H newc --no-absolute-filenames --quiet || exit; done ) (This is only one line, and you need to replace <archive> with the actual name of the initramfs file!)

Requirements

The file and cpio utilities are required. Everything else should be installed on every standard system. Please tell me in case I missed something.

Bugs

Currently no bugs are known. Submit a new bug report.

Download

Debian users should use the repository (recommended), or download the Debian package.

Everyone else: download initramfs-simple-0.1.tar.gz (version 0.1, 2008/05/22, 30 kB)

License

Copyright © 2008 Stefan Göbel

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Page content licensed under a Creative Commons BY-NC-SA license (deutsche Version).