CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
Merged changes from noeabi (72cbd18e791bd2edff0e8d23873136187f0cd936)
[crossrootfs.git] / rc / rc
1 #!/bin/bash
2 #
3 # /etc/rc: system boot script
4 #
5
6 echo "The system is coming up. Please wait."
7
8 # Load configuration
9 . /etc/rc.conf
10
11 # Start udev
12 /bin/mount -n -t proc none /proc
13 /bin/mount -n -t sysfs none /sys
14 /sbin/start_udev
15
16 # Create device-mapper device nodes and scan for LVM volume groups
17 if [ -x /sbin/lvm ]; then
18 /sbin/vgscan --mknodes --ignorelockingfailure
19 /sbin/vgchange --ignorelockingfailure -a y
20 fi
21
22 # Mount root read-only
23 /bin/mount -n -o remount,ro /
24
25 # Check filesystems
26 /sbin/fsck -A -T -C -a
27 if [ $? -gt 1 ]; then
28 echo
29 echo "*************** FILESYSTEM CHECK FAILED ******************"
30 echo "* *"
31 echo "* Please repair manually and reboot. Note that the root *"
32 echo "* file system is currently mounted read-only. To remount *"
33 echo "* it read-write type: mount -n -o remount,rw / *"
34 echo "* When you exit the maintainance shell the system will *"
35 echo "* reboot automatically. *"
36 echo "* *"
37 echo "************************************************************"
38 echo
39 /sbin/sulogin -p
40 echo "Automatic reboot in progress..."
41 /bin/umount -a -r
42 /bin/mount -n -o remount,ro /
43 /sbin/reboot -f
44 exit 0
45 fi
46
47 # Mount local filesystems
48 /bin/mount -n -o remount,rw /
49 /bin/umount /sys /proc
50 /bin/rm -f /etc/mtab*
51 /bin/touch /etc/mtab
52 /bin/mount -o remount,rw /
53 /bin/mount -a -O no_netdev
54
55 # Activate swap
56 /sbin/swapon -a
57
58 # Clean up misc files
59 : > /var/run/utmp
60 /bin/rm -rf /forcefsck /fastboot /etc/nologin /etc/shutdownpid
61 (cd /var/run && /usr/bin/find . -name "*.pid" -delete)
62 (cd /var/lock && /usr/bin/find . ! -type d -delete)
63 (cd /tmp && /usr/bin/find . ! -name . -delete)
64 /bin/mkdir -m 1777 /tmp/.ICE-unix
65
66 # Set kernel variables
67 /sbin/sysctl -p > /dev/null
68
69 # Update shared library links
70 /sbin/ldconfig
71
72 # Configure host name
73 if [ "$HOSTNAME" ]; then
74 echo "hostname: $HOSTNAME"
75 /bin/hostname $HOSTNAME
76 fi
77
78 # Load random seed
79 /bin/cat /var/lib/urandom/seed > /dev/urandom
80
81 # Configure system clock
82 if [ "$TIMEZONE" ]; then
83 /bin/ln -snf /usr/share/zoneinfo/$TIMEZONE /etc/localtime
84 fi
85 /sbin/hwclock --hctosys
86
87 # Load console font
88 if [ "$FONT" ]; then
89 echo "font: $FONT"
90 /usr/bin/setfont $FONT
91 fi
92
93 # Load console keymap
94 if [ "$KEYMAP" ]; then
95 echo "keyboard: $KEYMAP"
96 /usr/bin/loadkeys -q $KEYMAP
97 fi
98
99 # Screen blanks after 15 minutes idle time
100 /usr/bin/setterm -blank 15
101
102 # Run module initialization script
103 if [ -x /etc/rc.modules ]; then
104 /etc/rc.modules
105 fi
106
107 # Save boot messages
108 /bin/dmesg > /var/log/boot
109
110 # End of file