You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.5 KiB
50 lines
1.5 KiB
#!/usr/bin/env bash
|
|
#
|
|
# Initial script for Live operating system
|
|
# This script are launching before starting init from linux-live script.
|
|
# Current dir allways must be set to root (/)
|
|
# All system path must be relative, except initrd dirs
|
|
|
|
ENABLED=yes
|
|
[[ ${ENABLED} == "yes" ]] || exit 0
|
|
|
|
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
|
|
DEBUGMODE=no
|
|
. usr/lib/ublinux/functions
|
|
. usr/lib/ublinux/os-config
|
|
debug_mode "$0" "$@"
|
|
|
|
echo $SYSCONF | grep -q ^/ && SYSCONF=.$SYSCONF
|
|
SOURCE=${SYSCONF}/config; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null
|
|
|
|
[ -z "$(cmdline_value servicesstart)" ] || SERVICESSTART=$(cmdline_value servicesstart)
|
|
[ -z "$(cmdline_value servicesnostart)" ] || SERVICESNOSTART=$(cmdline_value servicesnostart)
|
|
|
|
if [ ! -z "$SERVICESSTART$SERVICESNOSTART$SERVICESMASK$SERVICESUNMASK" ] ;then
|
|
mkdir -p proc
|
|
mount -o rbind /proc proc
|
|
ISSYSTEMD=$(readlink -fq usr/bin/init | grep "lib/systemd/systemd$")
|
|
for a in $(echo $SERVICESUNMASK,$SERVICESSTART | tr , " ") ;do
|
|
[ $ISSYSTEMD ] && chroot . systemctl unmask $a
|
|
done
|
|
for a in $(echo $SERVICESSTART | tr , " ") ;do
|
|
if [ $ISSYSTEMD ] ;then
|
|
chroot . systemctl enable $a || true
|
|
else
|
|
true
|
|
fi
|
|
done
|
|
for a in $(echo $SERVICESNOSTART | tr , " ") ;do
|
|
if [ $ISSYSTEMD ] ;then
|
|
chroot . systemctl disable $a || true
|
|
else
|
|
true
|
|
fi
|
|
done
|
|
for a in $(echo $SERVICESMASK | tr , " ") ;do
|
|
[ $ISSYSTEMD ] && chroot . systemctl disable $a
|
|
[ $ISSYSTEMD ] && chroot . systemctl mask $a
|
|
done
|
|
umount proc
|
|
fi
|