aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Oberhollenzer <goliath@infraroot.at>2019-08-11 12:39:00 +0200
committerDavid Oberhollenzer <goliath@infraroot.at>2019-09-18 13:07:09 +0200
commit628adf2e034acb040874e267451b0a6e3f3ff96a (patch)
tree8ee88fcfc859c55b210c833dc7937b9ab623a001
parent7ecb124df28e40ac0541e44312d5a863f644275e (diff)
Move contents of devfs.sh script into service file
Conditionals can be eliminated, since we know exactely what the situation looks like on Linux. Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
-rw-r--r--.gitignore1
-rw-r--r--configure.ac1
-rw-r--r--scripts/Makemodule.am2
-rw-r--r--scripts/devfs.sh.in21
-rw-r--r--services/devfs.in18
5 files changed, 18 insertions, 25 deletions
diff --git a/.gitignore b/.gitignore
index 51158ed..26eda6d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,6 @@ configure
install-sh
missing
reboot
-scripts/devfs.sh
scripts/ifrename.sh
scripts/modules_load.sh
services/devfs
diff --git a/configure.ac b/configure.ac
index 5a4f61a..8529ada 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,7 +36,6 @@ AC_CONFIG_FILES([services/sshd_keygen])
AC_CONFIG_FILES([services/mountusr])
AC_CONFIG_FILES([services/tmpfsvar])
AC_CONFIG_FILES([services/dhcpcd])
-AC_CONFIG_FILES([scripts/devfs.sh])
AC_CONFIG_FILES([scripts/ifrename.sh])
AC_CONFIG_FILES([scripts/modules_load.sh])
diff --git a/scripts/Makemodule.am b/scripts/Makemodule.am
index 3616171..dea5129 100644
--- a/scripts/Makemodule.am
+++ b/scripts/Makemodule.am
@@ -1,4 +1,4 @@
-helper_SCRIPTS += scripts/devfs.sh scripts/trymount.sh scripts/ifrename.sh
+helper_SCRIPTS += scripts/trymount.sh scripts/ifrename.sh
helper_SCRIPTS += scripts/ifdown.sh scripts/modules_load.sh
helper_SCRIPTS += scripts/setntpdate.sh scripts/overlay.sh
diff --git a/scripts/devfs.sh.in b/scripts/devfs.sh.in
deleted file mode 100644
index af002f6..0000000
--- a/scripts/devfs.sh.in
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-mount -t devtmpfs none /dev
-
-[ -c /dev/console ] || mknod -m 600 /dev/console c 5 1
-[ -c /dev/tty ] || mknod -m 666 /dev/tty c 5 0
-[ -c /dev/null ] || mknod -m 666 /dev/null c 1 3
-[ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11
-[ -e /dev/fd ] || ln -snf /proc/self/fd /dev/fd
-[ -e /dev/stdin ] || ln -snf /proc/self/fd/0 /dev/stdin
-[ -e /dev/stdout ] || ln -snf /proc/self/fd/1 /dev/stdout
-[ -e /dev/stderr ] || ln -snf /proc/self/fd/2 /dev/stderr
-[ -e /proc/kcore ] && ln -snf /proc/kcore /dev/core
-
-mkdir -p /dev/mqueue -m 1777
-mkdir -p /dev/pts -m 0755
-mkdir -p /dev/shm -m 1777
-
-@SCRIPTDIR@/trymount.sh "/dev/mqueue" "mqueue" "noexec,nosuid,nodev"
-@SCRIPTDIR@/trymount.sh "/dev/pts" "devpts" "noexec,nosuid,gid=5,mode=0620"
-@SCRIPTDIR@/trymount.sh "/dev/shm" "tmpfs" "noexec,nosuid,nodev,mode=1777"
diff --git a/services/devfs.in b/services/devfs.in
index 271eae7..a15874e 100644
--- a/services/devfs.in
+++ b/services/devfs.in
@@ -3,4 +3,20 @@ type wait
target boot
after procfs sysfs
before vfs
-exec "@SCRIPTDIR@/devfs.sh"
+exec {
+ mount -t devtmpfs none /dev
+
+ ln -snf /proc/self/fd /dev/fd
+ ln -snf /proc/self/fd/0 /dev/stdin
+ ln -snf /proc/self/fd/1 /dev/stdout
+ ln -snf /proc/self/fd/2 /dev/stderr
+ ln -snf /proc/kcore /dev/core
+
+ mkdir -p /dev/mqueue -m 1777
+ mkdir -p /dev/pts -m 0755
+ mkdir -p /dev/shm -m 1777
+
+ "@SCRIPTDIR@/trymount.sh" /dev/mqueue mqueue noexec,nosuid,nodev
+ "@SCRIPTDIR@/trymount.sh" /dev/pts devpts noexec,nosuid,gid=5,mode=0620
+ "@SCRIPTDIR@/trymount.sh" /dev/shm tmpfs noexec,nosuid,nodev,mode=1777
+}