wok-tiny view base-tiny/stuff/etc/init.d/rcS @ rev 176

busybox: fix modules order
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jul 14 19:16:39 2021 +0000 (2021-07-14)
parents 562a49ca00d9
children
line source
1 #!/bin/sh
2 . /etc/init.d/rc.functions
3 . /etc/rcS.conf
4 [ -s /etc/TZ ] && export TZ="$(cat /etc/TZ)"
5 echo "Processing /etc/init.d/rcS..."
6 echo -n "Mounting proc filesystem..."
7 mount proc
8 status
9 if [ "$EARLY_RUN_SCRIPTS" ]; then
10 echo "Executing early initialization scripts..."
11 for script in $EARLY_RUN_SCRIPTS
12 do
13 [ -x /etc/init.d/$script ] && /etc/init.d/$script
14 done
15 fi
16 if [ "$LOAD_MODULES" ]; then
17 echo -n "Loading modules..."
18 depmod
19 for mod in $LOAD_MODULES
20 do
21 echo -n " ${mod%%|*}"
22 modprobe ${mod//|/ }
23 done
24 status
25 [ "$KEEP_MODULES" ] || rm -rf /lib/modules 2> /dev/null
26 fi
27 echo -n "Mounting sys filesystem..."
28 mount sysfs
29 status
30 if [ -e /sbin/mdev ]; then
31 echo -n "Start hotplug..."
32 [ -e /proc/sys/kernel/hotplug ] &&
33 echo /sbin/mdev > /proc/sys/kernel/hotplug
34 mdev -s
35 status
36 fi
37 if [ "$CHECK_FS" ]; then
38 mount -o remount,ro /
39 for i in $CHECK_FS
40 do
41 echo "Checking filesystem on : $i"
42 e2fsck -p $i
43 done
44 fi
45 echo "Remounting rootfs read/write..."
46 mount -o remount,rw /
47 echo "Mounting filesystems in fstab..."
48 mount -a
49 dmesg > /var/log/dmesg.log &
50 echo -n "Searching for early boot options..."
51 for opt in $(cat /proc/cmdline)
52 do
53 case $opt in
54 cdrom=*)
55 export CDROM=${opt#cdrom=} ;;
56 config=*)
57 export CONFIG=${opt#config=} ;;
58 *)
59 continue ;;
60 esac
61 done
62 status
63 if [ "$CLEAN_UP_SYSTEM" = "yes" ]; then
64 echo -n "Cleaning up the system..."
65 find /var/run -name "*.pid" -type f | xargs rm -f
66 rm -rf /tmp /var/lock/*
67 mkdir -p /tmp && chmod 1777 /tmp
68 status
69 else
70 echo "System clean up is disabled in /etc/rcS.conf..."
71 echo -n "Keeping all tmp and pid files..."
72 status
73 fi
74 if [ "$CDROM" ]; then
75 DRIVE_NAME=${CDROM#/dev/}
76 else
77 DRIVE_NAME=$(fgrep -s "drive name" /proc/sys/dev/cdrom/info | cut -f 3)
78 fi
79 if [ -n "$DRIVE_NAME" -a ! "$(readlink /dev/cdrom)" ]; then
80 echo -n "Creating symlink : /dev/cdrom..."
81 ln -s /dev/$DRIVE_NAME /dev/cdrom
82 ln -s /dev/$DRIVE_NAME /dev/dvd
83 chmod 0666 /dev/cdrom /dev/dvd /dev/$DRIVE_NAME
84 status
85 fi
86 if ! fgrep -q "/dev/cdrom" /etc/fstab; then
87 echo -n "Adding /dev/cdrom to fstab..."
88 echo '/dev/cdrom /media/cdrom iso9660 user,ro,noauto 0 0' \
89 >> /etc/fstab
90 status
91 fi
92 if [ "$CONFIG" ]; then
93 DEVICE=${CONFIG%,*}
94 SCRIPT=${CONFIG#*,}
95 echo "Probing $DEVICE... "
96 if ! mount -r $DEVICE /mnt; then
97 if echo $DEVICE | grep -Eq "/dev/sd|UUID=|LABEL="; then
98 USBDELAY=$(cat /sys/module/usb_storage/parameters/delay_use)
99 USBDELAY=$((1+$USBDELAY))
100 echo "$DEVICE is potentially a USB device: sleep for $USBDELAY seconds"
101 sleep $USBDELAY
102 fi
103 if ! mount -r $DEVICE /mnt; then
104 CONFIG=""
105 fi
106 fi
107 echo -n "Source $SCRIPT from $DEVICE..."
108 if [ "$CONFIG" ]; then
109 . /mnt/$SCRIPT
110 umount /mnt 2> /dev/null || true
111 fi
112 status
113 fi
114 if [ -d /proc/bus/usb ]; then
115 echo -n "Mounting /proc/bus/usb filesystem..."
116 mount -t usbfs usbfs /proc/bus/usb
117 status
118 fi
119 if [ "$KERNEL_LOG_DAEMONS" = "yes" ]; then
120 echo -n "Starting system log deamon: syslogd..."
121 syslogd -s $SYSLOGD_ROTATED_SIZE && status
122 echo -n "Starting kernel log daemon: klogd..."
123 klogd && status
124 else
125 echo "Kernel log daemons are disabled in /etc/rc.conf..."
126 fi
127 [ -d /usr/share/kmap ] && echo -n "Load keymap..." &&
128 cat /usr/share/kmap/* | { /bin/loadkmap 2>/dev/null || loadkmap; } &&
129 rm -rf /usr/share/kmap && status
130 echo -n "Setting hostname..."
131 hostname -F /etc/hostname
132 status
133 echo "Executing all initialization scripts..."
134 for script in $RUN_SCRIPTS
135 do
136 [ -x /etc/init.d/$script ] && /etc/init.d/$script
137 done
138 . /etc/rcS.conf
139 echo "Starting all daemons specified in /etc/rcS.conf..."
140 for daemon in $RUN_DAEMONS
141 do
142 if [ -x /etc/init.d/$daemon ]; then
143 /etc/init.d/$daemon start
144 fi
145 done
146 if [ "$MESSAGE" ]; then
147 reset
148 echo -e "\033[1m$MESSAGE\033[0m"
149 fi