mirror of
https://github.com/troglobit/finit.git
synced 2026-11-03 13:28:27 +00:00
New README with better SNR
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
This commit is contained in:
1 parent
a6f534621c
commit
c324eff01a
1 file changed
+26
-52
@@ -1,68 +1,42 @@
|
|||||||
|
|
||||||
Eeepc "fastinit" reimplementations
|
Finit is a reimplementation of the Eeepc "fastinit" program based on its
|
||||||
----------------------------------
|
system calls with gaps filled with frog DNA.
|
||||||
|
|
||||||
finit.c is a reimplementation of the Asus Eeepc fastinit program based
|
Finit's purpose is to build upon the general workings of fastinit and
|
||||||
on its library calls. It tries to be an accurate re-creation and keeps
|
improve/optimize it for Xandros or alternative distributions running on
|
||||||
the original bugs and unoptimized calls.
|
the Eeepc. Finit comes in three flavors: finit is a replica of the Asus
|
||||||
|
fastinit, finit-mod is an improved drop-in replacement for fastinit,
|
||||||
|
and finit-alt is a generic replacement for other systems. Finit-mod
|
||||||
|
and finit-alt were much improved with patches from Metalshark.
|
||||||
|
|
||||||
finit-mod.c is a fixed/improved version of finit.c intended to be a drop-in
|
See more information at http://helllabs.org/finit/
|
||||||
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
|
Usage scenarios
|
||||||
|
---------------
|
||||||
|
|
||||||
The essential steps in the boot process carried out in initramfs are:
|
1. Replace the original Eeepc 702 fastinit (finit-mod)
|
||||||
|
|
||||||
ROOT=`sed 's!.*root=\([^ ]*\).*!\1!' < /proc/cmdline`
|
2. Allow fast booting in alternative Linux distributions running on the
|
||||||
mount -t proc proc /proc
|
Eeepc and other netbooks (finit-alt)
|
||||||
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:
|
Finit-alt is distribution-specific. Currently it generates a finit-mdv
|
||||||
|
executable for Mandriva 2008/2008.1 systems. Smurfy ported it to
|
||||||
[ cat cp cut dd
|
eeeXubuntu, and parts of his port have been merged to finit-alt.
|
||||||
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:
|
Finit-alt features
|
||||||
|
------------------
|
||||||
|
|
||||||
console fb null ram0 sda1 sda2 sda3 sr0 tty0
|
Finit-alt reads configuration information from /etc/finit.conf. See
|
||||||
|
the source code for available options.
|
||||||
|
|
||||||
|
|
||||||
Reboot and poweroff
|
Rebooting and halting
|
||||||
-------------------
|
---------------------
|
||||||
|
|
||||||
Stock reboot and poweroff utilities of a modern Linux distribution may not
|
Finit handles SIGUSR1 and SIGUSR2 for reboot and halt, and listens to
|
||||||
work correctly with finit. You can replace them with simple scripts that
|
/dev/initctl so standard Linux reboot and halt commands should also
|
||||||
send SIGUSR1 to finit for reboot, SIGUSR2 for poweroff.
|
work.
|
||||||
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
Reference in new issue
Block a user