Mercurial > vanilla
annotate core/etc/rc.init @ 559:d6be16d7c5de
core/etc: clean pid files
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 05 Jul 2019 21:05:00 +0200 |
parents | a85759a313b1 |
children | 2f46816f1cd6 |
rev | line source |
---|---|
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # /etc/rc.init: system initialization script |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # |
405
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
4 # Copyright (c) 2019 David Demelier <markand@malikania.fr> |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
5 # |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
6 # Permission to use, copy, modify, and/or distribute this software for any |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
7 # purpose with or without fee is hereby granted, provided that the above |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
8 # copyright notice and this permission notice appear in all copies. |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
9 # |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
17 # |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 if [ -f /etc/rc.conf ]; then |
405
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
20 . /etc/rc.conf |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 |
406
0d51fe2867b5
core/sysvinit: add a banner
David Demelier <markand@malikania.fr>
parents:
405
diff
changeset
|
23 if [ "${BANNER:-yes}" = "yes" ]; then |
0d51fe2867b5
core/sysvinit: add a banner
David Demelier <markand@malikania.fr>
parents:
405
diff
changeset
|
24 printf "\nWelcome to \033[34mVanilla Linux\033[0m\n\n" |
0d51fe2867b5
core/sysvinit: add a banner
David Demelier <markand@malikania.fr>
parents:
405
diff
changeset
|
25 fi |
0d51fe2867b5
core/sysvinit: add a banner
David Demelier <markand@malikania.fr>
parents:
405
diff
changeset
|
26 |
516 | 27 if [ -n "$HOSTNAME" ] && [ -x /bin/hostname ]; then |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 echo "Setting hostname: $HOSTNAME" |
516 | 29 /bin/hostname "$HOSTNAME" |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 |
516 | 32 if [ -x /bin/sysctl ]; then |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 echo "Setting kernel parameters." |
516 | 34 /bin/sysctl -p >/dev/null 2>&1 |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 |
516 | 37 if [ -x /bin/mountpoint ]; then |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 echo -n "Mounting filesystems: " |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 |
516 | 40 if ! /bin/mountpoint /dev >/dev/null 2>&1; then |
41 /bin/mount -t devtmpfs devtmpfs /dev >/dev/null 2>&1 | |
405
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
42 echo -n "/dev " |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
43 fi |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
44 |
516 | 45 if ! /bin/mountpoint /proc >/dev/null 2>&1; then |
46 /bin/mount -t proc proc /proc >/dev/null 2>&1 | |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 echo -n "/proc " |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 |
516 | 50 if ! /bin/mountpoint /sys >/dev/null 2>&1; then |
51 /bin/mount -t sysfs sysfs /sys >/dev/null 2>&1 | |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 echo -n "/sys " |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 |
516 | 55 if ! /bin/mountpoint /run >/dev/null 2>&1; then |
56 /bin/mount -t tmpfs tmpfs /run >/dev/null 2>&1 | |
405
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
57 echo -n "/run " |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
58 fi |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
59 |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 echo "done." |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 |
559
d6be16d7c5de
core/etc: clean pid files
David Demelier <markand@malikania.fr>
parents:
558
diff
changeset
|
63 # Clean pid files before starting any services. |
d6be16d7c5de
core/etc: clean pid files
David Demelier <markand@malikania.fr>
parents:
558
diff
changeset
|
64 find /var/run -type f -name "*.pid" -delete |
d6be16d7c5de
core/etc: clean pid files
David Demelier <markand@malikania.fr>
parents:
558
diff
changeset
|
65 |
557
73e25417284b
core/etc: take init scripts from sysvinit
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
66 # |
73e25417284b
core/etc: take init scripts from sysvinit
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
67 # Start a device service. Both eudev and busybox's mdev are supported but only |
73e25417284b
core/etc: take init scripts from sysvinit
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
68 # one at a time must be enabled. |
73e25417284b
core/etc: take init scripts from sysvinit
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
69 # |
558
a85759a313b1
core/etc: mdev is actually named busybox.mdev
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
70 if [ -x /etc/rc.d/udevd ] && [ -x /etc/rc.d/busybox.mdev ]; then |
a85759a313b1
core/etc: mdev is actually named busybox.mdev
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
71 echo "Warning: both /etc/rc.d/udevd and /etc/rc.d/busybox.mdev are enabled" 1>&2 |
557
73e25417284b
core/etc: take init scripts from sysvinit
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
72 echo "Warning: using udevd instead" 1>&2 |
73e25417284b
core/etc: take init scripts from sysvinit
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
73 fi |
73e25417284b
core/etc: take init scripts from sysvinit
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
74 |
405
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
75 if [ -x /etc/rc.d/udevd ]; then |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
76 /etc/rc.d/udevd start |
558
a85759a313b1
core/etc: mdev is actually named busybox.mdev
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
77 elif [ -x /etc/rc.d/busybox.mdev ]; then |
a85759a313b1
core/etc: mdev is actually named busybox.mdev
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
78 /etc/rc.d/busybox.mdev start |
405
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
79 fi |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
80 |
516 | 81 if [ -x /bin/fsck ]; then |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 # Make sure / is ro in case of initrd. |
516 | 83 /bin/mount -o remount,ro / |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 # If /etc/forcefsck is there, force check. |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 if [ -f /etc/forcefsck ]; then |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 force="-f" |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 |
516 | 90 /bin/fsck $force -A -T -C -a >/dev/null 2>&1 |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 if [ "$?" -gt 1 ]; then |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 echo "* Filesystem check failed" |
516 | 94 /bin/sulogin -p |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 # Remount / and enable swap as the system is ready. |
516 | 99 /bin/mount -o remount,rw / |
100 /bin/swapon -a | |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 if [ -n "$TIMEZONE" ]; then |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 echo -n "Setting timezone: " |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 |
516 | 105 if [ -f /share/zoneinfo/$TIMEZONE ]; then |
106 /bin/ln -sf /share/zoneinfo/$TIMEZONE /etc/localtime | |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 echo "$TIMEZONE." |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 else |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 echo "$TIMEZONE not found." |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 |
559
d6be16d7c5de
core/etc: clean pid files
David Demelier <markand@malikania.fr>
parents:
558
diff
changeset
|
113 # Cleanup some files. |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 rm -f /etc/forcefsck |