diff options
-rw-r--r-- | PKGBUILD | 2 | ||||
-rw-r--r-- | functions | 8 | ||||
-rwxr-xr-x | rc.shutdown | 2 | ||||
-rwxr-xr-x | rc.sysinit | 28 |
4 files changed, 15 insertions, 25 deletions
@@ -10,7 +10,7 @@ conflicts=('initscripts') provides=('initscripts=9999') backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown) makedepends=('asciidoc') -depends=('glibc' 'bash' 'grep' 'coreutils' 'udev>=174' 'iproute2' +depends=('glibc' 'bash' 'grep' 'coreutils' 'udev>=177' 'iproute2' 'ncurses' 'kbd' 'findutils' 'sysvinit') optdepends=('net-tools: legacy networking support' 'bridge-utils: Network bridging support' @@ -455,7 +455,7 @@ fsck_reboot() { 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 "* it read-write type: mount -o remount,rw / *" echo "* When you exit the maintenance shell the system will *" echo "* reboot automatically. *" echo "* *" @@ -465,7 +465,7 @@ fsck_reboot() { fi echo "Automatic reboot in progress..." umount -a - mount -n -o remount,ro / + mount -o remount,ro / reboot -f exit 0 } @@ -497,8 +497,8 @@ umount_all() { continue fi - mounts+=("$target") - done < <(findmnt -mrunRo TARGET,FSTYPE,OPTIONS / | tac) + mounts=("$target" "${mounts[@]}") + done < <(findmnt -mrunRo TARGET,FSTYPE,OPTIONS /) umount -r "${mounts[@]}" diff --git a/rc.shutdown b/rc.shutdown index 4b513f7..54a1e9a 100755 --- a/rc.shutdown +++ b/rc.shutdown @@ -123,7 +123,7 @@ if [[ -x /run/initramfs/shutdown ]]; then else status "Remounting Root Filesystem Read-only" \ - mount -n -o remount,ro / + mount -o remount,ro / # Power off or reboot printsep @@ -12,23 +12,22 @@ printhl "${C_H2}http://www.archlinux.org" printsep # mount /proc, /sys, /run, /dev, /run/lock, /dev/pts, /dev/shm (the api filesystems) -mountpoint -q /proc || mount -n -t proc proc /proc -o nosuid,noexec,nodev -mountpoint -q /sys || mount -n -t sysfs sys /sys -o nosuid,noexec,nodev -mountpoint -q /run || mount -n -t tmpfs run /run -o mode=0755,nosuid,nodev -mountpoint -q /dev || mount -n -t devtmpfs udev /dev -o mode=0755,nosuid || - mount -n -t tmpfs udev /dev -o mode=0755,nosuid +mountpoint -q /proc || mount -t proc proc /proc -o nosuid,noexec,nodev +mountpoint -q /sys || mount -t sysfs sys /sys -o nosuid,noexec,nodev +mountpoint -q /run || mount -t tmpfs run /run -o mode=0755,nosuid,nodev +mountpoint -q /dev || mount -t devtmpfs dev /dev -o mode=0755,nosuid mkdir -p -m 1777 /run/lock mkdir -p /dev/{pts,shm} -mountpoint -q /dev/pts || mount -n /dev/pts &>/dev/null || +mountpoint -q /dev/pts || mount /dev/pts &>/dev/null || mount -n -t devpts devpts /dev/pts -o mode=0620,gid=5,nosuid,noexec -mountpoint -q /dev/shm || mount -n /dev/shm &>/dev/null || +mountpoint -q /dev/shm || mount /dev/shm &>/dev/null || mount -n -t tmpfs shm /dev/shm -o mode=1777,nosuid,nodev if [[ ! -e /run/initramfs/fsck-root ]]; then # remount root ro to allow for fsck later on, we remount now to # make sure nothing can open files rw on root which would block a remount findmnt / --options ro &>/dev/null || - status "Mounting Root Read-Only" mount -n -o remount,ro / + status "Mounting Root Read-Only" mount -o remount,ro / fi run_hook sysinit_start @@ -56,18 +55,9 @@ if [[ $HWCLOCK_PARAMS ]]; then stat_busy "Adjusting system time and setting kernel timezone" # enable rtc access modprobe -q -a rtc-cmos rtc genrtc - # If devtmpfs is used, the required RTC device already exists now - # Otherwise, create whatever device is available - if ! [[ -c /dev/rtc || -c /dev/rtc0 ]]; then - for dev in /sys/class/rtc/rtc0/dev /sys/class/misc/rtc/dev; do - [[ -e $dev ]] || continue - IFS=: read -r major minor < "$dev" - mknod /dev/rtc c $major $minor - done - fi # Adjust the system time for timezone offset if rtc is not in UTC - # 1. Make creation time on udev nodes sane (FS#8665) + # 1. Make creation time on device nodes sane (FS#8665) # 2. Filesystem checks can depend on system time # 3. This also sets the kernel time zone, used by e.g. vfat # If TIMEZONE is not set in rc.conf, the timezone stored in /etc/localtime @@ -200,7 +190,7 @@ run_hook sysinit_postfsck fsck_reboot $fsckret status "Remounting Root" \ - mount -n -o remount / + mount -o remount / # now mount all the local filesystems run_hook sysinit_premount |