Go to file
2020-07-05 11:11:39 +03:00
hooks small fixes 2020-07-05 11:11:39 +03:00
config improve portability, code quality, fix bugs, etc... 2020-06-28 06:58:57 +03:00
device-helper improve portability, code quality, fix bugs, etc... 2020-06-28 06:58:57 +03:00
init small fixes 2020-07-05 11:11:39 +03:00
LICENSE Initial commit 2020-01-03 13:31:04 +00:00
Makefile fix permissions 2020-07-05 09:02:21 +03:00
README.md improve portability, code quality, fix bugs, etc... 2020-06-28 06:58:57 +03:00
tinyramfs more shellcheck fixes 2020-07-03 18:49:09 +03:00

Tinyramfs

Currently tinyramfs is incomplete, don't expect that everything is working

Features

  • No local's, no bashisms, only POSIX shell
  • Portable, not distro specific
  • Easy to use configuration
  • Build time and init time hooks
  • LUKS (detached header, key), LVM
  • mdev, mdevd, eudev

Dependencies

  • POSIX utilities
  • POSIX shell
  • switch_root
  • mount
  • blkid
  • cpio
  • POSIX SD strip
    • Optional
  • mdev OR mdevd OR eudev OR systemd-udevd
    • systemd-udevd not tested
  • lvm2
    • Required for LVM support
  • cryptsetup
    • Required for LUKS support
  • kmod OR busybox 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 copy them using hooks
  • busybox and toybox blkid doesn't support PARTUUID. You must use util-linux blkid for PARTUUID support
  • 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...

Configuration

Statically via config

See config

Dynamically via kernel parameters

TODO finalize and document kernel command-line parameters

Thanks

E5ten
dylanaraps

License

Licensed under GPLv3