summaryrefslogtreecommitdiffstats
path: root/rc/rc
blob: 1ae73c27cb462b7946c7fe36ba40b77e520c06f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash
#
# /etc/rc: system boot script
#

echo "The system is coming up.  Please wait."

# Load configuration
. /etc/rc.conf

# Start udev
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
/sbin/start_udev

# Create device-mapper device nodes and scan for LVM volume groups
if [ -x /sbin/lvm ]; then
	/sbin/vgscan --mknodes --ignorelockingfailure
	/sbin/vgchange --ignorelockingfailure -a y
fi

# Mount root read-only
/bin/mount -n -o remount,ro /

if [ -f /forcefsck ]; then
FORCEFSCK="-f"
fi

# Check filesystems
/sbin/fsck $FORCEFSCK -A -T -C -a
if [ $? -gt 1 ]; then
	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 maintainance shell the system will    *"
	echo "*  reboot automatically.                                   *"
	echo "*                                                          *"
	echo "************************************************************"
	echo
	/sbin/sulogin -p
	echo "Automatic reboot in progress..."
	/bin/umount -a -r
	/bin/mount -n -o remount,ro /
	/sbin/reboot -f
	exit 0
fi

# Mount local filesystems
/bin/mount -n -o remount,rw /
/bin/umount /sys /proc
/bin/rm -f /etc/mtab*
/bin/touch /etc/mtab
/bin/mount -o remount,rw /
/bin/mount -a -O no_netdev

# Activate swap
/sbin/swapon -a

# Clean up misc files
: > /var/run/utmp
/bin/rm -rf /forcefsck /fastboot /etc/nologin /etc/shutdownpid
(cd /var/run && /usr/bin/find . -name "*.pid" -delete)
(cd /var/lock && /usr/bin/find . ! -type d -delete)
(cd /tmp && /usr/bin/find . ! -name . -delete)
/bin/mkdir -m 1777 /tmp/.ICE-unix

# Set kernel variables
/sbin/sysctl -p > /dev/null

# Update shared library links
/sbin/ldconfig

# Configure host name
if [ "$HOSTNAME" ]; then
	echo "hostname: $HOSTNAME"
	/bin/hostname $HOSTNAME
fi

# Load random seed
/bin/cat /var/lib/urandom/seed > /dev/urandom

# Configure system clock
if [ "$TIMEZONE" ]; then
	/bin/ln -snf /usr/share/zoneinfo/$TIMEZONE /etc/localtime
fi
/sbin/hwclock --hctosys

# Load console font
if [ "$FONT" ]; then
	echo "font: $FONT"
	/usr/bin/setfont $FONT
fi

# Load console keymap
if [ "$KEYMAP" ]; then
	echo "keyboard: $KEYMAP"
	/usr/bin/loadkeys -q $KEYMAP
fi

# Screen blanks after 15 minutes idle time
/usr/bin/setterm -blank 15

# Run module initialization script
if [ -x /etc/rc.modules ]; then
	/etc/rc.modules
fi

# Save boot messages
/bin/dmesg > /var/log/boot

# End of file