Compare commits

...

6 Commits

Author SHA1 Message Date
Jack L. Frost 65466f0702 set cfg_early_fsck by default
Signed-off-by: fbt <fbt@fleshless.org>
2021-03-14 14:43:25 +03:00
Jack L. Frost db4eb9162b early fsck
Signed-off-by: fbt <fbt@fleshless.org>
2017-12-07 17:24:02 +03:00
Jack L. Frost 431f7e145e wait what how
Signed-off-by: fbt <fbt@fleshless.org>
2017-07-15 16:56:06 +03:00
Jack L. Frost 5b1dbee3ac Merge branch 'master' of builder:git/spark-rc 2017-01-03 22:45:28 +03:00
Jack L. Frost 6535b2b0e3 add a rundir for root
Signed-off-by: fbt <fbt@fleshless.org>
2016-09-14 08:46:07 +03:00
Jack L. Frost 987c655fcc Just use /proc to see if a process is running 2016-03-29 19:21:53 +03:00
4 changed files with 19 additions and 2 deletions

View File

@ -5,3 +5,4 @@ A simple rc script to kickstart your system.
## depends
* Enabled sysrq or halt from suckless.org's ubase.
* /proc support.

View File

@ -11,9 +11,12 @@ cfg_hostname='spark'
# Uncomment and change this to yours
#cfg_timezone='Europe/Moscow'
# Early fsck, if you don't have such a step in your initrd
cfg_early_fsck=1
# Services that start with @ are executed in parallel
cfg_services+=(
'fsck' 'mount' 'sysctl' 'rsyslogd'
'mount' 'sysctl' 'rsyslogd'
'@lo.iface' '@scron' @agetty-tty{2..6}
)

13
rc.in
View File

@ -118,6 +118,8 @@ rc.remount_root() {
}
rc.boot() {
(( cfg_early_fsck )) && rc.fsck
rc.mount
rc.tmpfiles
rc.hostname
@ -149,6 +151,7 @@ rc.halt() {
rc.sync() {
echo "Syncing disks."
sync
}
rc.shutdown() {
@ -180,11 +183,21 @@ rc.timezone() {
}
}
rc.fsck() {
declare root_rw=0
touch /rc-write-test && root_rw=1
(( root_rw )) && mount -o remount,ro /
fsck -A -C -p
(( root_rw )) && mount -o remount,rw /
}
rc.main() {
source "@ETC@/rc.conf"
# Default XDG_RUNTIME_DIR for all non-system users
# rtkit:x:133:133:RealtimeKit:/proc:/sbin/nologin
# Also add one for root
cfg_tmpdirs+=( "/run/user/0:700:0:0" )
while IFS=':' read -r _ _ uid gid _; do
if (( uid >= 1000 )); then
cfg_tmpdirs+=( "/run/user/$uid:700:$uid:$gid" )

View File

@ -39,7 +39,7 @@ get_procs_to_kill() {
pids_exist() {
for i in "$@"; do
if kill -0 "$i" 2>/dev/null; then
if [[ -d "/proc/$i" ]]; then
return 0
fi
done