mirror of
https://github.com/troglobit/finit.git
synced 2026-10-07 16:14:21 +07:00
6fc2a6b1086e406cb2590c6ab30a619afa65a31e
Eeepc "fastinit" reimplementations ---------------------------------- finit.c is a reimplementation of the Asus Eeepc fastinit program based on its library calls. It tries to be an accurate re-creation and keeps the original bugs and lack of optimization. finit-mod.c is a fixed/improved version of finit.c. finit-alt.c is a fixed/improved version of finit.c for alternative Linux distributions running on the Eeepc (previously ffinit.c). Currently able to boot unmodified Mandriva Linux. See Makefile for configurable parameters to better suit your system. * Eeepc boot process The essential steps in the boot process carried out in initramfs are: ROOT=`sed 's!.*root=\([^ ]*\).*!\1!' < /proc/cmdline` mount -t proc proc /proc mount -t ext2 -o ro $ROOT /mnt-system mount -t ext3 -o rw /dev/sda2 /mnt-user mount -t unionfs -o dirs=/mnt-user=rw:/mnt-system=ro unionfs /mnt mount --move /mnt-system /mnt/mnt umount -l /mnt-user umount /proc exec switch_root /mnt /sbin/fastinit "$@" </mnt/dev/console >/mnt/dev/console If mounting the root filesystem fails, execute a maintenance shell. If mounting the user filesystem fails, fsck and reboot. * Utilities available in the Eeepc initramfs busybox: [ cat cp cut dd dmesg echo env expr false grep insmod ln losetup ls mdev mkdir mknod mount mv pivot_root realpath rm rmmod sed sh sleep switch_root test true umount vi * Devices in the Eeepc initramfs /dev: console fb null ram0 sda1 sda2 sda3 sr0 tty0 Reboot and poweroff ------------------- Stock reboot and poweroff utilities of a modern Linux distribution may not work correctly with finit. You can replace them with simple scripts that send SIGUSR1 to finit for reboot, SIGUSR2 for poweroff. Using finit with KDE -------------------- If you use finit to start KDE with auto-login enabled, hal-based device automounting may not work correctly. That happens because the session is started before the system message bus, so add a "dcop kded mediamanager reloadBackends" call in the user AutoStart to restart the client.
Languages
C
84.3%
Shell
11.9%
Makefile
2.1%
M4
1.7%