===== The Boot Process ===== The boot process and how/where you can hack it. - **BIOS** (press F2 to setup, or press ESC to select 1st boot device) - **GRUB loader** (/boot/grub/menu.lst. see [[howto:installrescuemode|Install/run rescue console on the EEE]] ) - **kernel** -- see [[howto:rebuildthekernel|Rebuilding the kernel]] - **initramfs** -- see [[howto:rebuildinitramfs|Rebuilding initramfs]] - **/sbin/fastinit** -- this is a binary file and sources is now available in [[http://cle.linux.org.tw/EeePC/1.0.6|http://cle.linux.org.tw/EeePC/1.0.6]] for 701 and [[http://cle.linux.org.tw/EeePC/1.1|http://cle.linux.org.tw/EeePC/1.1]] for 900 version. The package name is asus-xxx-core_xxx.tar.gz. YES, normal init and /etc/rc* directories are NOT used. Although you can boot the system with argument INIT=/sbin/init, it will result in a broken system with network, sound, etc not working. Looking into the source code of fastinit, here is an excerpt of commands run by it: /sbin/getty 38400 tty3 & /usr/bin/touch /tmp/shutdown /bin/mount -n -o remount,ro / /bin/mount -onoatime -L HOME /home > /dev/null 2>&1 /sbin/hwclock --hctosys --localtime cd /etc/resolvconf/run/interface/%s /bin/run-parts --arg=-i /etc/resolvconf/update.d /sbin/ifconfig lo 127.0.0.1 netmask 255.0.0.0 up > /dev/null /bin/cat /var/lib/urandom/random-seed >/dev/urandom > /dev/null 2>&1 /bin/dd if=/dev/urandom of=/var/lib/urandom/random-seed \ bs=4096 count=1 >/dev/null 2>&1 su -c startx -l user &> /dev/null /usr/sbin/services.sh &> /dev/null & /sbin/iwpriv ath0 radio 0 > /dev/null 2>&1 /usr/bin/chvt 1 ; synclient TouchpadOff=1 ; clear ; /bin/echo -e "\033[?25l\033[30;40m" cp /boot/shutdown.fb /dev/fb/0 /usr/sbin/alsactl store > /dev/null 2>&1 /sbin/hwclock --systohc --localtime /sbin/unionctl.static / --remove / > /dev/null 2>&1 Note: fastinit has been reimplemented for notes and code; see [[http://helllabs.org/blog/20071231/asus-eeepc-fastinit-reimplementation|Eee fastinit reimplementation]] at hellabs.org. - **startx** -> /usr/bin/startsimple.sh - **/usr/sbin/services.sh** -- edit this to add "services" which start on boot - **/etc/fastservices** -- If you don't feel comfortable with editing /usr/sbin/services.sh, the script refers to a file called /etc/fastservices (doesn't exist by default). You can create or edit this file to add services to the bootup process, one line per service. For example if you have installed Openssh-server, you can add a line to /etc/fastservices simply containing the word ssh. The name you need to add is the name of the startup file for the service, as found in /etc/init.d. This will slightly increase the boot time, but you probably won't notice the difference.