17 Commits

Author SHA1 Message Date
nikolar
e0c4e306e4 Add binfmt.d from artix-cgroups 2024-04-30 16:33:05 +02:00
nikolar
69fa6e4394 Migrate to artix-cgroups 2024-04-30 16:32:55 +02:00
Nikola
2530c4aadd Change default for cgroups to unified (cgroups2). 2024-04-15 11:46:36 +02:00
Qontinuum
5d00408a16 Edit procfs.in
Make procfs respect options in fstab
Remove nosuid,noexec,nodev mount options since they are not support by
procfs anyway
2023-11-01 14:08:58 +01:00
Qontinuum
26fa40633d Move to new Artix sysusers/tmpfiles binary names 2023-08-18 18:51:47 +02:00
fab1c43983 add /tmp cleanup 2021-05-14 11:48:42 +07:00
9f6718f5de hwclock: read from rc.conf 2021-01-22 08:46:50 +07:00
c0c2ab41a8 devfs: add symlinks and needed files if not exist yet 2020-09-15 11:01:24 +07:00
4be15079e2 binfmt: add an option to run it once without adding it to running daemons 2020-08-25 07:55:32 +07:00
Martin Castillo
2314c2630f udev.in: stop: only try to stop udevd when it's running
Since udevd is now started again in stage 2 and stopped by
runsvdir on shutdown, we only try to stop it with udevadm,
if there is an instance running.  This might be the case if
something went wrong and stage 2 couldn't start udevd for some
reason, so the instance from stage 1 wasn't terminated.

When starting udevd in stage 1, runsvdir isn't running yet, so
there is no need to check for already running instances.
2020-04-04 14:50:39 +07:00
Martin Castillo
38c52b18dc binfmt.in: fix grep invocation
If any directory has more than one file, grep prefixes matching lines with
the filenames. -h suppresses that.
2020-03-09 07:56:55 +07:00
cbbed45ce3 fix hwclock command 2019-11-06 19:46:41 +07:00
667dee6b9c fix hwclock 2019-11-06 09:18:56 +07:00
dudemanguy
451fe75e69 use "-T linux" if $TERM is dumb or empty 2019-09-13 11:50:13 +07:00
a6df81b8fb Remove rc script for netfs
Since network services are started on stage 2, I'm going to delete this.
A replacement runit service will be added in the future.
2019-02-12 21:20:53 +07:00
1df9ca6564 Do not check for mounted fs 2019-02-12 21:19:44 +07:00
6cc8c4288f Check if udev is already run in stage2 by runit 2018-12-27 20:48:25 +07:00
27 changed files with 116 additions and 232 deletions

View File

@@ -18,6 +18,7 @@ RCBIN = \
RCSVD = \
sv.d/root \
sv.d/binfmt \
sv.d/binfmt.d \
sv.d/bootlogd \
sv.d/cleanup \
sv.d/console-setup \
@@ -28,7 +29,6 @@ RCSVD = \
sv.d/misc \
sv.d/mount-all \
sv.d/net-lo \
sv.d/netfs \
sv.d/random-seed \
sv.d/remount-root \
sv.d/swap \
@@ -156,6 +156,7 @@ install-rc:
$(LN) $(RCSVDIR)/dmesg $(DESTDIR)$(RCDIR)/sysinit/85-dmesg
$(LN) $(RCSVDIR)/sysctl $(DESTDIR)$(RCDIR)/sysinit/90-sysctl
$(LN) $(RCSVDIR)/binfmt $(DESTDIR)$(RCDIR)/sysinit/95-binfmt
$(LN) $(RCSVDIR)/binfmt.d $(DESTDIR)$(RCDIR)/sysinit/97-binfmt.d
$(LN) $(RCSVDIR)/cleanup $(DESTDIR)$(RCDIR)/sysinit/99-cleanup
install -d $(DESTDIR)$(RCDIR)/shutdown
@@ -163,6 +164,7 @@ install-rc:
$(LN) $(RCSVDIR)/random-seed $(DESTDIR)$(RCDIR)/shutdown/10-random-seed
$(LN) $(RCSVDIR)/cleanup $(DESTDIR)$(RCDIR)/shutdown/20-cleanup
$(LN) $(RCSVDIR)/udev $(DESTDIR)$(RCDIR)/shutdown/30-udev
$(LN) $(RCSVDIR)/hwclock $(DESTDIR)$(RCDIR)/shutdown/35-hwclock
$(LN) $(RCSVDIR)/misc $(DESTDIR)$(RCDIR)/shutdown/40-misc
$(LN) $(RCSVDIR)/swap $(DESTDIR)$(RCDIR)/shutdown/50-swap
$(LN) $(RCSVDIR)/root $(DESTDIR)$(RCDIR)/shutdown/60-root

View File

@@ -1,18 +1,18 @@
#!/bin/bash
# This is run by the kernel after the last task is removed from a
# control group in the openrc hierarchy.
# control group in the artix hierarchy.
# Copyright (c) 2007-2015 The OpenRC Authors.
# See the Authors file at the top-level directory of this distribution and
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
# https://github.com/OpenRC/artix/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# distribution and at https://github.com/OpenRC/artix/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
cgroup=/sys/fs/cgroup/openrc
cgroup=/sys/fs/cgroup/artix
PATH=/bin:/usr/bin:/sbin:/usr/sbin
if [ -d ${cgroup}/"$1" ]; then
rmdir ${cgroup}/"$1"

View File

@@ -6,7 +6,6 @@
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
. /etc/profile.d/locale.sh
. @RCDIR@/rc.conf
# width:
calc_columns () {
@@ -61,14 +60,6 @@ stat_busy() {
printf " ${C_OTHER}[${C_BUSY}busy${C_OTHER}]${C_CLEAR} "
}
substat() {
printf " ${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} \n"
}
ck_verbose() {
[[ "$VERBOSE" == "on" ]]
}
ck_daemon() {
[[ ! -f @RCRUNDIR@/started/$1 ]]
}
@@ -210,7 +201,11 @@ run_shutdown(){
calc_columns
# disable colors on broken terminals
TERM_COLORS=$(tput colors 2>/dev/null)
if [[ -z "$TERM" || "$TERM" = "dumb" ]]; then
TERM_COLORS=$(tput colors -T linux 2>/dev/null)
else
TERM_COLORS=$(tput colors 2>/dev/null)
fi
if (( $? != 3 )); then
case $TERM_COLORS in
*[!0-9]*) USECOLOR="";;

View File

@@ -13,7 +13,7 @@
# "hybrid" mounts cgroups version 2 on /sys/fs/cgroup/unified and
# cgroups version 1 on /sys/fs/cgroup
# CGROUP_MODE="hybrid"
# CGROUP_MODE="unified"
# This is a list of controllers which should be enabled for cgroups version 2.
# If hybrid mode is being used, controllers listed here will not be
@@ -27,7 +27,8 @@
# HAVE_CONTROLLER1_GROUPS="true"
# Verbose mode
# Set to "on" to enable details
# This switch controls whether or not /tmp will be cleaned.
# /tmp will only be cleaned if it is set to "y". Generally it is recommended to
# mount /tmp as tmpfs.
# VERBOSE="off"
# CLEANTMP="n"

17
sv.d/binfmt.d.in Normal file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
# sourcing our current rc.conf requires this to be a bash script
. @RCLIBDIR@/functions
case "$1" in
start)
stat_busy "Running binfmt.d"
/usr/lib/artix/binfmt.sh || stat_die binfmt.d
add_daemon binfmt.d
stat_done binfmt.d
;;
*)
echo "usage: $0 {start|once}"
exit 1
;;
esac

View File

@@ -7,12 +7,17 @@ mount_binfmt(){
mountpoint -q /proc/sys/fs/binfmt_misc || \
mount -t binfmt_misc binfmt /proc/sys/fs/binfmt_misc || return 1
for files in /proc/sys/fs/binfmt_misc/*; do
[ "$files" = /proc/sys/fs/binfmt_misc/register ] && continue
[ "$files" = /proc/sys/fs/binfmt_misc/status ] && continue
echo -1 > "$files"
done
for path in /usr/lib/binfmt.d /etc/binfmt.d /run/binfmt.d; do
[[ ! -d $path ]] && continue
[[ -z "$(ls $path)" ]] && continue
grep "^:" $path/* | \
grep -h "^:" $path/* | \
while read -r line; do
ck_verbose && substat "Registering $line"
printf "%s" "$line" > /proc/sys/fs/binfmt_misc/register || return 1
done
done
@@ -28,8 +33,13 @@ case "$1" in
add_daemon binfmt
stat_done binfmt
;;
once)
stat_busy "Running binfmt"
mount_binfmt || stat_die binfmt
stat_done
;;
*)
echo "usage: $0 {start}"
echo "usage: $0 {start|once}"
exit 1
;;
esac

View File

@@ -3,123 +3,10 @@
# sourcing our current rc.conf requires this to be a bash script
. @RCLIBDIR@/functions
CGROUP_OPTS=nodev,noexec,nosuid
HAVE_CONTROLLER1_GROUPS=${HAVE_CONTROLLER1_GROUPS:-true}
CGROUP_MODE=${CGROUP_MODE:-hybrid}
CGROUP_CONTROLLERS=""
cgroup2_find_path(){
if grep -qw cgroup2 /proc/filesystems; then
case "${CGROUP_MODE}" in
hybrid) printf "/sys/fs/cgroup/unified" ;;
unified) printf "/sys/fs/cgroup" ;;
esac
fi
return 0
}
cgroup1_base(){
grep -qw cgroup /proc/filesystems || return 0
if ! mountpoint -q /sys/fs/cgroup; then
local opts="${CGROUP_OPTS},mode=755,size=${rc_cgroupsize:-10m}"
mount -n -t tmpfs -o "${opts}" cgroup_root /sys/fs/cgroup
fi
if ! mountpoint -q /sys/fs/cgroup/openrc; then
local agent="@RCLIBDIR@/cgroup-release-agent"
mkdir /sys/fs/cgroup/openrc
mount -n -t cgroup -o none,${CGROUP_OPTS},name=openrc,release_agent="$agent" openrc /sys/fs/cgroup/openrc
printf 1 > /sys/fs/cgroup/openrc/notify_on_release
fi
return 0
}
cgroup1_controllers(){
${HAVE_CONTROLLER1_GROUPS} && [ -e /proc/cgroups ] && grep -qw cgroup /proc/filesystems || return 0
while read -r name _ _ enabled _; do
case "${enabled}" in
1) if mountpoint -q "/sys/fs/cgroup/${name}";then continue;fi
local x
for x in $CGROUP_CONTROLLERS; do
[ "${name}" = "blkio" ] && [ "${x}" = "io" ] &&
continue 2
[ "${name}" = "${x}" ] &&
continue 2
done
mkdir "/sys/fs/cgroup/${name}"
mount -n -t cgroup -o "${CGROUP_OPTS},${name}" "${name}" "/sys/fs/cgroup/${name}"
;;
esac
done < /proc/cgroups
return 0
}
cgroup2_base(){
grep -qw cgroup2 /proc/filesystems || return 0
local base
base="$(cgroup2_find_path)"
mkdir -p "${base}"
mount -t cgroup2 none -o "${CGROUP_OPTS},nsdelegate" "${base}" 2> /dev/null ||
mount -t cgroup2 none -o "${CGROUP_OPTS}" "${base}"
return 0
}
cgroup2_controllers(){
grep -qw cgroup2 /proc/filesystems || return 0
local active cgroup_path x y
cgroup_path="$(cgroup2_find_path)"
[ -z "${cgroup_path}" ] && return 0
[ -e "${cgroup_path}/cgroup.controllers" ] && read -r active < "${cgroup_path}/cgroup.controllers"
for x in ${CGROUP_CONTROLLERS}; do
for y in ${active}; do
[ "$x" = "$y" ] && [ -e "${cgroup_path}/cgroup.subtree_control" ] &&
echo "+${x}" > "${cgroup_path}/cgroup.subtree_control"
done
done
return 0
}
cgroups_hybrid(){
cgroup1_base
cgroup2_base
cgroup2_controllers
cgroup1_controllers
return 0
}
cgroups_legacy(){
cgroup1_base
cgroup1_controllers
return 0
}
cgroups_unified(){
cgroup2_base
cgroup2_controllers
return 0
}
mount_cgroups(){
case "${CGROUP_MODE}" in
hybrid) cgroups_hybrid ;;
legacy) cgroups_legacy ;;
unified) cgroups_unified ;;
esac
return 0
}
mount_cgs(){
if [ -d /sys/fs/cgroup ];then
mount_cgroups
return 0
fi
return 1
}
case "$1" in
start)
stat_busy "Mounting cgroups filesystem"
mount_cgs || stat_die cgroups
/usr/lib/artix/mount-cgroups.sh|| stat_die cgroups
add_daemon cgroups
stat_done cgroups
;;

View File

@@ -2,21 +2,20 @@
# sourcing our current rc.conf requires this to be a bash script
. @RCLIBDIR@/functions
. @RCDIR@/rc.conf
cleaning(){
install -m0664 -o root -g utmp /dev/null /run/utmp
ck_verbose && substat "Created /run/utmp"
if [ ! -e /var/log/wtmp ]; then
install -m0664 -o root -g utmp /dev/null /var/log/wtmp
ck_verbose && substat "Created /var/log/wtmp"
fi
if [ ! -e /var/log/btmp ]; then
install -m0600 -o root -g utmp /dev/null /var/log/btmp
ck_verbose && substat "Created /var/log/btmp"
fi
rm -f /etc/nologin /forcefsck /forcequotacheck /fastboot
ck_verbose && substat "Removed /etc/nologin, /forcefsck, /forcequotacheck, /fastboot"
[ "$CLEANTMP" = y ] && rm -rf /tmp/*
}
case "$1" in

View File

@@ -7,7 +7,6 @@ config(){
[ -r /etc/vconsole.conf ] && . /etc/vconsole.conf
TTYS=${TTYS:-6}
_index=0
ck_verbose && [ -n "$FONT" ] && substat "Setting font to ${FONT}"
while [ ${_index} -le $TTYS ]; do
if [ -n "$FONT" ]; then
setfont ${FONT_MAP:+-m $FONT_MAP} ${FONT_UNIMAP:+-u $FONT_UNIMAP} \
@@ -17,7 +16,6 @@ config(){
_index=$((_index + 1))
done
if [ -n "$KEYMAP" ]; then
ck_verbose && substat "Setting keymap to ${KEYMAP}"
loadkeys -q -u ${KEYMAP}
fi
}

View File

@@ -72,7 +72,7 @@ do_unlock_device() {
do_unlock() {
local name=$1 device=$2 password=$3 options=$4
substat "Unlocking $1"
printf "${C_MAIN}Unlocking $1${C_CLEAR}\n"
if [[ ${options:0:2} =~ -. ]]; then
do_unlock_device "$name" "$device" "$password" "$options"
@@ -80,6 +80,7 @@ do_unlock() {
fi
do_unlock_device "$name" "$device" "$password" "$options"
esac
failed=$?
if (( $failed )); then
printf "${C_FAIL}Unlocking of $1 failed.${C_CLEAR}\n"

View File

@@ -4,15 +4,35 @@
. @RCLIBDIR@/functions
mount_devfs(){
ck_verbose && substat "Mounting /dev"
mountpoint -q /dev || mount -t devtmpfs dev /dev -o mode=0755,nosuid
mkdir -p /dev/{pts,shm}
ck_verbose && substat "Mounting /dev/pts"
mountpoint -q /dev || mount -t devtmpfs dev /dev -o mode=0755,nosuid
# seed /dev with some things that might be needed (for example,
# xudev doesn't do this compared to eudev), code from OpenRC
# creating /dev/console, /dev/tty and /dev/tty1 to be able to write
# to $CONSOLE with/without bootsplash before udevd creates it
[ -c /dev/console ] || mknod -m 600 /dev/console c 5 1
[ -c /dev/tty1 ] || mknod -m 620 /dev/tty1 c 4 1
[ -c /dev/tty ] || mknod -m 666 /dev/tty c 5 0
# udevd will dup its stdin/stdout/stderr to /dev/null
# and we do not want a file which gets buffered in ram
[ -c /dev/null ] || mknod -m 666 /dev/null c 1 3
# so udev can add its start-message to dmesg
[ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11
# extra symbolic links not provided by default
[ -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/pts /dev/shm
mountpoint -q /dev/pts || mount -t devpts devpts /dev/pts -o mode=0620,gid=5,nosuid,noexec
ck_verbose && substat "Mounting /dev/shm"
mountpoint -q /dev/shm || mount -t tmpfs shm /dev/shm -o mode=1777,nosuid,nodev
ck_verbose && substat "Mounting /run"
mountpoint -q /run || mount -t tmpfs run /run -o mode=0755,nosuid,nodev
mountpoint -q /run || mount -t tmpfs run /run -o mode=0755,nosuid,nodev
}
case "$1" in

View File

@@ -7,8 +7,6 @@ config(){
if [[ -e /proc/sys/kernel/dmesg_restrict ]] &&
(( $(< /proc/sys/kernel/dmesg_restrict) == 1 )); then
install -Tm 0600 <( dmesg ) /var/log/dmesg.log
ck_verbose && substat "dmesg_restrict is enabled"
ck_verbose && substat "dmesg log can only be read by root"
else
install -Tm 0644 <( dmesg ) /var/log/dmesg.log
fi

View File

@@ -17,7 +17,7 @@ config(){
case "$1" in
start)
stat_busy "Setting hostname to $HOSTNAME"
stat_busy "Starting hostname"
config
add_daemon hostname
stat_done

View File

@@ -1,26 +1,26 @@
#!/bin/bash
. @RCLIBDIR@/functions
. @RCDIR@/rc.conf
HWCLOCK_PARAMS="--systz"
HARDWARECLOCK=${HARDWARECLOCK:-UTC}
case $HARDWARECLOCK in
UTC) HWCLOCK_PARAMS+=" --utc --noadjfile" ;;
localtime) HWCLOCK_PARAMS+=" --localtime --noadjfile" ;;
UTC) HWCLOCK_PARAMS+=" --utc" ;;
localtime) HWCLOCK_PARAMS+=" --localtime" ;;
*) HWCLOCK_PARAMS="";;
esac
case "$1" in
start)
stat_busy "Adjusting hwclock to ${HARDWARECLOCK}"
hwclock $HWCLOCK_PARAMS || stat_die
stat_busy "Adjusting hwclock"
hwclock --systz $HWCLOCK_PARAMS --noadjfile || stat_die
add_daemon hwclock
stat_done
;;
stop)
stat_busy "Adjusting hwclock to ${HARDWARECLOCK}"
hwclock --adjust $HWCLOCK_PARAMS || stat_die
stat_busy "Adjusting hwclock"
hwclock --systohc $HWCLOCK_PARAMS || stat_die
rm_daemon hwclock
stat_done
;;

View File

@@ -6,17 +6,14 @@
# Check local filesystems
fsck_all() {
if [[ -f /forcefsck ]] || in_array forcefsck $(< /proc/cmdline); then
ck_verbose && substat "/forcefsck found, forcing fsck"
FORCEFSCK="-f"
elif [[ -f /fastboot ]] || in_array fastboot $(< /proc/cmdline); then
ck_verbose && substat "/fastboot found, canceling fsck"
return 0
elif [[ -e /run/initramfs/root-fsck ]]; then
ck_verbose && substat "Ignoring mounted filesystems in fsck"
IGNORE_MOUNTED="-M"
fi
fsck -A -T -C${FSCK_FD} -a -t no${NETFS//,/,no},noopts=_netdev ${IGNORE_MOUNTED} -- ${FORCEFSCK}
fsck -A -T -M -C${FSCK_FD} -a -t no${NETFS//,/,no},noopts=_netdev ${IGNORE_MOUNTED} -- ${FORCEFSCK}
}
# Single-user login and/or automatic reboot after fsck (if needed)
@@ -47,7 +44,7 @@ fsck_reboot() {
echo
sulogin -p
fi
echo "Automatic reboot in progress"
echo "Automatic reboot in progress..."
umount -a
mount -o remount,ro /
reboot -f
@@ -65,10 +62,8 @@ do_fsck(){
}
kill_all(){
ck_verbose && substat "Killing processes using SIGTERM"
pkill --inverse -s0,1 -TERM
sleep 1
ck_verbose && substat "Killing processes using SIGKILL"
pkill --inverse -s0,1 -KILL
}

View File

@@ -3,12 +3,10 @@
# sourcing our current rc.conf requires this to be a bash script
. @RCLIBDIR@/functions
ck_verbose && MOUNT_VERBOSE="-v"
case "$1" in
start)
stat_busy "Starting mount-all"
mount -a "${MOUNT_VERBOSE}" -t "no${NETFS//,/,no}" -O no_netdev || stat_die mount-all
mount -a -t "no${NETFS//,/,no}" -O no_netdev || stat_die mount-all
add_daemon mount-all
stat_done mount-all
;;

View File

@@ -5,7 +5,7 @@
case "$1" in
start)
stat_busy "Setting up loopback interface"
stat_busy "Starting net-lo"
ip link set up dev lo || stat_die
add_daemon net-lo
stat_done

View File

@@ -1,34 +0,0 @@
#!/bin/bash
# sourcing our current rc.conf requires this to be a bash script
. @RCLIBDIR@/functions
case "$1" in
start)
stat_busy "Mounting network filesystems"
mount -a -t "$NETFS"
rc=$?
mount -a -O _netdev
(( rc || $? )) && stat_die
add_daemon netfs
stat_done
;;
stop)
stat_busy "Unmounting network filesystems"
umount -a -f -O _netdev
rc=$?
umount -a -f -t "$NETFS"
(( rc || $? )) && stat_die
rm_daemon netfs
stat_done
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
exit 1
;;
esac

View File

@@ -4,7 +4,18 @@
. @RCLIBDIR@/functions
mount_procfs(){
mountpoint -q /proc || mount -t proc proc /proc -o nosuid,noexec,nodev
grep -v '^#' /etc/fstab | grep /proc | {
read -r spec file vfstype mntopts x
if ! mountpoint -q /proc; then
if [ "$spec" -a "$file" -a "$vfstype" -a "$mntopts" ]; then
mount -t "$vfstype" "$spec" "$file" -o "$mntopts"
else
mount -t proc proc /proc
fi
elif [ "$spec" -a "$file" -a "$vfstype" -a "$mntopts" ] && mountpoint -q /proc; then
mount -t "$vfstype" "$spec" "$file" -o "remount,$mntopts"
fi
}
}
case "$1" in

View File

@@ -36,15 +36,7 @@ umount_fs() {
mounts=("$target" "${mounts[@]}")
done
# There are differences between verbose and non-verbose method
# because iterating the array is considerably slower than the
# non-verbose method
if (( ${#mounts[*]} )) && ck_verbose; then
for ((i=0; i<${#mounts[*]}; i++)); do
substat "Unmounting ${mounts[i]}"
umount -r "${mounts[i]}" || return 1
done
elif (( ${#mounts[*]} )); then
if (( ${#mounts[*]} )); then
umount -r "${mounts[@]}" || return 1
fi
return 0

View File

@@ -3,18 +3,16 @@
# sourcing our current rc.conf requires this to be a bash script
. @RCLIBDIR@/functions
ck_verbose && SWAP_VERBOSE="-v"
case "$1" in
start)
stat_busy "Activating swap"
swapon -a "${SWAP_VERBOSE}" || stat_die swap
swapon -a || stat_die swap
add_daemon swap
stat_done swap
;;
stop)
stat_busy "Deactivating swap"
swapoff -a "${SWAP_VERBOSE}" || stat_die swap
swapoff -a || stat_die swap
rm_daemon swap
stat_done swap
;;

View File

@@ -3,12 +3,10 @@
# sourcing our current rc.conf requires this to be a bash script
. @RCLIBDIR@/functions
! ck_verbose && QUIET="-q"
case "$1" in
start)
stat_busy "Loading sysctl settings"
sysctl "$QUIET" --system || stat_die sysctl
sysctl --system || stat_die sysctl
add_daemon sysctl
stat_done sysctl
;;

View File

@@ -4,14 +4,9 @@
. @RCLIBDIR@/functions
mount_sysfs(){
ck_verbose && substat "Mounting /sys"
mountpoint -q /sys || mount -t sysfs sys /sys -o nosuid,noexec,nodev
ck_verbose && substat "Mounting /sys/kernel/security"
mountpoint -q /sys/kernel/security || mount -n -t securityfs securityfs /sys/kernel/security
if [ -d /sys/firmware/efi ]; then
ck_verbose && substat "Mounting /sys/firmware/efi"
(mountpoint -q /sys/firmware/efi/efivars || mount -n -t efivarfs -o ro efivarfs /sys/firmware/efi/efivars)
fi
[ -d /sys/firmware/efi ] && (mountpoint -q /sys/firmware/efi/efivars || mount -n -t efivarfs -o ro efivarfs /sys/firmware/efi/efivars)
}
case "$1" in

View File

@@ -6,7 +6,7 @@
case "$1" in
start)
stat_busy "Starting sysusers"
sysusers
esysusers
add_daemon sysusers
stat_done
;;

View File

@@ -6,7 +6,7 @@
case "$1" in
start)
stat_busy "Starting tmpfiles-dev"
tmpfiles --prefix=/dev --create --boot || stat_die tmpfiles-dev
etmpfiles --prefix=/dev --create --boot || stat_die tmpfiles-dev
add_daemon tmpfiles-dev
stat_done tmpfiles-dev
;;

View File

@@ -6,7 +6,7 @@
case "$1" in
start)
stat_busy "Starting tmpfiles-setup"
tmpfiles --exclude-prefix=/dev --create --remove --boot || stat_die tmpfiles-setup
etmpfiles --exclude-prefix=/dev --create --remove --boot || stat_die tmpfiles-setup
add_daemon tmpfiles-setup
stat_done tmpfiles-setup
;;

View File

@@ -7,12 +7,15 @@ case "$1" in
start)
stat_busy "Starting udev daemon"
udevd --daemon || stat_die udev
# Note: This is only needed for initialization, udev will
# be controlled by runit on stage 2.
add_daemon udev
stat_done udev
;;
stop)
stat_busy "Stopping udev"
udevadm control --exit || stat_die udev
# check whether udevd might still be running.
! pgrep -f "udevd" >/dev/null 2>&1 || udevadm control --exit || stat_die udev
rm_daemon udev
stat_done udev
;;