2020-04-17 17:14:25 +03:00
Tinyramfs
=========
**Currently tinyramfs is incomplete, don't expect that everything is working**
2020-02-09 21:13:39 +00:00
Features
2020-04-11 19:36:16 +00:00
--------
2020-04-11 22:31:02 +03:00
- No `local` 's, no bashisms, only POSIX shell
2020-06-28 06:58:57 +03:00
- Portable, not distro specific
- Easy to use configuration
- Build time and init time hooks
- LUKS (detached header, key), LVM
2020-04-17 17:14:25 +03:00
- mdev, mdevd, eudev
2020-04-11 22:31:02 +03:00
Dependencies
2020-02-09 21:13:39 +00:00
------------
2020-04-11 22:31:02 +03:00
2020-06-28 06:58:57 +03:00
* POSIX utilities
2020-04-11 22:31:02 +03:00
* POSIX shell
2020-04-17 17:14:25 +03:00
* `switch_root`
* `mount`
2020-05-07 15:06:34 +03:00
* `blkid`
2020-04-17 17:14:25 +03:00
* `cpio`
2020-06-28 06:58:57 +03:00
* POSIX SD `strip`
2020-04-17 17:14:25 +03:00
- Optional
2020-06-28 06:58:57 +03:00
* `mdev` OR `mdevd` OR `eudev` OR `systemd-udevd`
2020-04-17 17:14:25 +03:00
- systemd-udevd not tested
2020-04-11 22:31:02 +03:00
* `lvm2`
- Required for LVM support
2020-04-17 17:14:25 +03:00
* `cryptsetup`
- Required for LUKS support
* `kmod` OR `busybox modutils` with [this patch ](https://gist.github.com/illiliti/ef9ee781b5c6bf36d9493d99b4a1ffb6 ) (already included in KISS Linux)
2020-05-07 15:06:34 +03:00
- Not required for monolithic kernel
2020-04-17 17:14:25 +03:00
Notes
-----
2020-06-28 06:58:57 +03:00
* 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
2020-05-07 15:06:34 +03:00
* `cp` in toybox incorrectly handles `-P` flag. You need to apply patch from [this issue ](https://github.com/landley/toybox/issues/174 ) or replace cp with another implementation
2020-04-17 17:14:25 +03:00
Installation
------------
2020-05-07 15:06:34 +03:00
2020-04-17 17:14:25 +03:00
```sh
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...
```
2020-04-11 22:31:02 +03:00
2020-02-09 21:13:39 +00:00
Configuration
2020-04-11 19:36:16 +00:00
-------------
2020-02-09 21:13:39 +00:00
2020-05-07 15:06:34 +03:00
Statically via config
2020-04-17 17:14:25 +03:00
-----------------
See [config ](config )
2020-05-07 15:06:34 +03:00
Dynamically via kernel parameters
2020-04-17 17:14:25 +03:00
-----------------------------
TODO finalize and document kernel command-line parameters
Thanks
------
2020-04-11 22:31:02 +03:00
2020-05-07 15:06:34 +03:00
[E5ten ](https://github.com/E5ten )
2020-04-17 17:14:25 +03:00
[dylanaraps ](https://github.com/dylanaraps )
2020-04-11 22:31:02 +03:00
License
2020-04-11 19:36:16 +00:00
-------
2020-04-11 22:31:02 +03:00
Licensed under GPLv3