diff --git a/README.md b/README.md index 3b4f42d0..da8a41ba 100644 --- a/README.md +++ b/README.md @@ -326,6 +326,32 @@ Dropbear SSH service will not be restarted if it is killed or exits. 6:2 inetd 0 [345] /sbin/dropbear allow *:22 deny eth0 +Requirements +------------ + +Finit is capable of running on both desktop/server systems with udev and +embedded systems that usually come with BusyBox mdev. Finit probes for +them at runtime and expects `/dev/` to be writable, usually `devtmpfs`. +It is also possible to run on a statically set up `/dev` if needed. It +is however not a good idea to have both udev and mdev installed at the +same time, this will lead to unpredictable results. + +At boot Finit calls either `mdev` or `udevd` to populate `/dev`, this is +done slightly differently and on systems with udev you might want to add +the following one-shot task early in your `/etc/finit.conf`: + + run [S] /sbin/udevadm settle --timeout=120 -- Waiting for udev + +Finit has a built-in Getty for TTYs, but requires a working `/bin/login` +or `/bin/sh`, if no TTYs are configured in `/etc/finit.conf`. + +For a fully operational system `/var`, `/run` and `/tmp` must be set up +properly in `/etc/fstab` -- which is iterated over at boot. + +The built-in Inetd requires `/etc/services` and `/etc/protocols` to work +with port names rather than numbers. + + Running ------- diff --git a/finit.c b/finit.c index f95b61dc..48f26451 100644 --- a/finit.c +++ b/finit.c @@ -354,11 +354,6 @@ int main(int argc, char* argv[]) if (fexist("/sbin/udevadm")) { run("/sbin/udevadm trigger --action=add --type=subsystems"); run("/sbin/udevadm trigger --action=add --type=devices"); - /* - * Debian also calls `settle` here, but not Archlinux ... - * ... with settle some systems stop working (pulseaudio) - * run("/sbin/udevadm settle --timeout=120"); - */ } /*