Files
finit/README
T
2008-03-18 16:38:08 -03:00

69 lines
2.1 KiB
Plaintext

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 unoptimized calls.
finit-mod.c is a fixed/improved version of finit.c intended to be a drop-in
replacement for the original Eeepc OS.
finit-alt.c is a fixed/improved version of finit.c for alternative Linux
distributions running on the Eeepc (previously ffinit.c). It's currently
able to boot Mandriva Linux 2008.0/2008.1.
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.