mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 13:33:09 +07:00
69 lines
2.1 KiB
Plaintext
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.
|
|
|