2.3 KiB
2.3 KiB
Tinyramfs
Currently tinyramfs is incomplete, don't expect that everything is working
Features
- No
local
's, no bashisms, only POSIX shell - Easy configuration
- mdev, mdevd, eudev
- LUKS, LVM
- LUKS detached header and key embedded into initramfs
Dependencies
- POSIX utilities ( find, mkdir, ... )
- POSIX shell
switch_root
readlink
install
setsid
mount
blkid
cpio
strip
- Optional
gzip
- Required by default
mdev
ORmdevd
OReudev
- systemd-udevd not tested
lvm2
- Required for LVM support
cryptsetup
- Required for LUKS support
kmod
ORbusybox modutils
with this patch (already included in KISS Linux)- Not required for monolithic kernel
Notes
- busybox modutils doesn't handle soft dependencies (modules.softdep). You must manually include them using
modules
config option - busybox and toybox blkid doesn't support PARTUUID. You must use util-linux blkid
- zsh (in POSIX mode) shows some errors in init stage. Just ignore these errors, it's harmless
cp
in toybox incorrectly handles-P
flag. You need to apply patch from this issue or replace cp with another implementation
Installation
git clone https://github.com/illiliti/tinyramfs
cd tinyramfs
make install
vi /etc/tinyramfs/config # edit config for your needs
tinyramfs -o /boot/initramfs
# update your bootloader
# reboot...
Usage
usage: tinyramfs [option]
-o, --output <file> set initramfs output path
-c, --config <file> set config file path
-m, --moddir <dir> set modules directory
-k, --kernel <ver> set kernel version
-F, --files <dir> set files directory
-d, --debug enable debug mode
-f, --force overwrite initramfs image
Configuration
Statically via config
See config
Dynamically via kernel parameters
TODO finalize and document kernel command-line parameters
Thanks
License
Licensed under GPLv3