Add ways to mount other directory.
This commit is contained in:
parent
6657687b60
commit
7c376c8a5d
15
archbox.conf
15
archbox.conf
@ -5,26 +5,29 @@ CHROOT="$INSTALL_PATH/root.x86_64"
|
|||||||
|
|
||||||
# Nix OS will breaks when you mount /run, change MOUNT_RUN to "no"
|
# Nix OS will breaks when you mount /run, change MOUNT_RUN to "no"
|
||||||
# if you use Nix OS, don't forget to use `archbox --mount-runtime-only`
|
# if you use Nix OS, don't forget to use `archbox --mount-runtime-only`
|
||||||
# after user login
|
# after user login.
|
||||||
MOUNT_RUN="yes"
|
MOUNT_RUN="yes"
|
||||||
|
|
||||||
# Mount modules and boot directory, useful if you want to use kernels
|
# Mount modules and boot directory, useful if you want to use kernels
|
||||||
# from Arch Linux repo, otherwise it's best to remain disabled
|
# from Arch Linux repo, otherwise it's best to remain disabled.
|
||||||
MOUNT_MOD="no"
|
MOUNT_MOD="no"
|
||||||
|
|
||||||
# Lazy unmounting, make sure you know what you're doing if enabling this!
|
# Lazy unmounting, make sure you know what you're doing if enabling this!
|
||||||
LAZY_UMOUNT="no"
|
LAZY_UMOUNT="no"
|
||||||
|
|
||||||
# Put your desired enviroment variable here, for example
|
# Put your desired enviroment variable here, for example:
|
||||||
#
|
#
|
||||||
# ENV_VAR="HOME=/var/home/lemniskett"
|
# ENV_VAR="HOME=/var/home/lemniskett"
|
||||||
#
|
#
|
||||||
ENV_VAR=""
|
ENV_VAR=""
|
||||||
|
|
||||||
# Parse a Systemd service and executes it on boot, order matters, for example
|
# Parse a Systemd service and executes it on boot, order matters, for example.
|
||||||
#
|
#
|
||||||
# SERVICES=(vmware-networks-configuration vmware-networks vmware-usbarbitrator nginx)
|
# SERVICES=( vmware-networks-configuration vmware-networks vmware-usbarbitrator nginx )
|
||||||
#
|
#
|
||||||
# Keep in mind that this doesn't resolve service dependencies, so you may need to
|
# Keep in mind that this doesn't resolve service dependencies, so you may need to
|
||||||
# enable the dependencies manually
|
# enable the dependencies manually.
|
||||||
SERVICES=()
|
SERVICES=()
|
||||||
|
|
||||||
|
# Share other host directories into Archbox, absolute path needed.
|
||||||
|
SHARED_FOLDER=( /home )
|
||||||
|
@ -26,7 +26,6 @@ rmbind() {
|
|||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
start)
|
start)
|
||||||
rbind /home
|
|
||||||
bindproc
|
bindproc
|
||||||
rbind /tmp
|
rbind /tmp
|
||||||
rbind /sys make-rslave
|
rbind /sys make-rslave
|
||||||
@ -34,13 +33,16 @@ case $1 in
|
|||||||
[[ $MOUNT_RUN = "yes" ]] && rbind /run
|
[[ $MOUNT_RUN = "yes" ]] && rbind /run
|
||||||
[[ $MOUNT_MOD = "yes" ]] && rbind /lib/modules && rbind /boot
|
[[ $MOUNT_MOD = "yes" ]] && rbind /lib/modules && rbind /boot
|
||||||
[[ -d /var/lib/dbus ]] && rbind /var/lib/dbus
|
[[ -d /var/lib/dbus ]] && rbind /var/lib/dbus
|
||||||
for i in ${SERVICES[@]}; do
|
for i in ${SHARED_FOLDER[@]}; do
|
||||||
chroot $CHROOT /bin/su -c "/usr/local/bin/archboxctl exec $i" > /dev/null 2>&1
|
mkdir -p $CHROOT/$i
|
||||||
|
rbind $i
|
||||||
|
done
|
||||||
|
for j in ${SERVICES[@]}; do
|
||||||
|
chroot $CHROOT /bin/su -c "/usr/local/bin/archboxctl exec $j" > /dev/null 2>&1
|
||||||
done
|
done
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
rmbind /home
|
|
||||||
rmbind /proc
|
rmbind /proc
|
||||||
rmbind /tmp
|
rmbind /tmp
|
||||||
rmbind /sys
|
rmbind /sys
|
||||||
@ -48,7 +50,9 @@ case $1 in
|
|||||||
[[ $MOUNT_RUN = "yes" ]] && rmbind /run
|
[[ $MOUNT_RUN = "yes" ]] && rmbind /run
|
||||||
[[ $MOUNT_MOD = "yes" ]] && rmbind /lib/modules && rmbind /boot
|
[[ $MOUNT_MOD = "yes" ]] && rmbind /lib/modules && rmbind /boot
|
||||||
rmbind /var/lib/dbus
|
rmbind /var/lib/dbus
|
||||||
kill $(pidof serviced) 2>/dev/null
|
for i in ${SHARED_FOLDER[@]}; do
|
||||||
|
rmbind $i
|
||||||
|
done
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
Loading…
Reference in New Issue
Block a user