#!/bin/sh # # /etc/rc.sysinit # . /etc/rc.conf . /etc/rc.d/functions echo " " printhl "Arch Linux v0.6 $C_OTHER(${C_H2}Widget$C_OTHER)\n" printhl "${C_H2}http://www.archlinux.org" printhl "Copyright 2002-2004 Judd Vinet" printhl "Distributed under the GNU General Public License (GPL)" printsep # start up our mini logger until syslog takes over /sbin/minilogd # anything more serious than KERN_WARNING goes to the console /bin/dmesg -n 3 if [ -e /dev/.devfsd -a -x /sbin/devfsd ]; then status "Starting DevFS Daemon" /sbin/devfsd /dev fi if [ -f /etc/lvmtab -a -x /sbin/vgchange ]; then /bin/mount -n -t proc none /proc stat_busy "Activating LVM1 groups" /sbin/vgchange -a y stat_done umount /proc elif [ -d /etc/lvm -a -x /sbin/lvm ]; then /bin/mount -n -t proc none /proc stat_busy "Activating LVM2 groups" /sbin/lvm vgchange --ignorelockingfailure -a y stat_done umount /proc fi status "Activating Swap" /sbin/swapon -a status "Mounting Root Read-only" /bin/mount -n -o remount,ro / if [ -x /sbin/fsck ]; then stat_busy "Checking Filesystems" /sbin/fsck -A -T -C -a if [ $? -gt 1 ]; then stat_fail echo echo "***************** FILESYSTEM CHECK FAILED ****************" echo "* *" echo "* Please repair manually and reboot. Note that the root *" echo "* file system is currently mounted read-only. To remount *" echo "* it read-write type: mount -n -o remount,rw / *" echo "* When you exit the maintenance shell the system will *" echo "* reboot automatically. *" echo "* *" echo "************************************************************" echo /sbin/sulogin -p echo "Automatic reboot in progress..." /bin/umount -a /bin/mount -n -o remount,ro / /sbin/reboot -f exit 0 fi stat_done fi stat_busy "Mounting Local Filesystems" /bin/mount -n -o remount,rw / /bin/rm -f /etc/mtab* /bin/mount /proc /bin/mount -a -t nonfs,nosmbfs,noncpfs stat_done stat_busy "Configuring System Clock" if [ "$HARDWARECLOCK" = "UTC" ]; then /sbin/hwclock --utc --hctosys else /sbin/hwclock --localtime --hctosys fi if [ ! -f /var/lib/hwclock/adjtime ]; then echo "0.0 0 0.0" > /var/lib/hwclock/adjtime fi if [ "$TIMEZONE" != "" ]; then /bin/ln -sf /usr/share/zoneinfo/$TIMEZONE /etc/localtime fi stat_done stat_busy "Removing Leftover Files" /bin/rm -f /etc/nologin &> /dev/null /bin/rm -f /etc/shutdownpid &> /dev/null /bin/rm -f /var/locks/* &> /dev/null /bin/rm -f /var/run/*.pid &> /dev/null /bin/rm -f /var/run/daemons/* &>/dev/null /bin/rm -rf /tmp/* /tmp/.* &> /dev/null : > /var/run/utmp stat_done status "Updating Shared Library Links" /sbin/ldconfig if [ "$HOSTNAME" != "" ]; then status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME fi kernel_version=`uname -r` if [ -e "/lib/modules/$kernel_version/modules.dep" ]; then new_mods=`/usr/bin/find /lib/modules/$kernel_version -type f -newer /lib/modules/$kernel_version/modules.dep` if [ ! -z "$new_mods" ]; then status "Updating Module Dependencies" /sbin/depmod -a fi else status "Updating Module Dependencies" /sbin/depmod -a fi if [ -f /var/run/random-seed ]; then stat_busy "Initializing Random Seed" /bin/cat /var/run/random-seed >/dev/urandom stat_done fi if [ "$KEYMAP" != "" ]; then status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q $KEYMAP fi if [ "$CONSOLEFONT" != "" ]; then stat_busy "Loading Console Font: $CONSOLEFONT" for i in `seq 1 12`; do /usr/bin/setfont $CONSOLEFONT -C /dev/vc/${i}; done stat_done fi # Load modules from the MODULES array defined in rc.conf stat_busy "Loading Modules" for mod in "${MODULES[@]}"; do if [[ `echo $mod | grep '^[^\!]' | wc -l` -eq 1 ]]; then /sbin/modprobe $mod fi done stat_done # Screen blanks after 15 minutes idle time /usr/bin/setterm -blank 15 # End of file