From 64ab3e20f2c5954bc7d079912b8c7d310cb618c2 Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Sat, 20 Jul 2024 16:22:59 +0200 Subject: [PATCH] mount more things --- enter-chrooted-slackware.sh | 43 ++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/enter-chrooted-slackware.sh b/enter-chrooted-slackware.sh index 78242a4..d08ba82 100755 --- a/enter-chrooted-slackware.sh +++ b/enter-chrooted-slackware.sh @@ -4,31 +4,29 @@ set -e # # Exit if location not specified # if [ -z "$1" ]; then -# echo "chroot folder not specified" -# exit 1 +# echo "chroot folder not specified" +# exit 1 # elif [ "$1" = -h ]; then -# echo "./chroot.sh " -# exit 1 +# echo "./chroot.sh " +# exit 1 # fi -location=${1:-$(dirname $(realpath $0))/chrooted-slackware/} +location=${1:-$(dirname "$(realpath "$0")")/chrooted-slackware/} echo "$location" cd "$location" # Mounting, basic -sudo mount -t proc proc "$location"/proc || exit 1 -sudo mount -o bind /sys "$location"/sys || exit 1 -sudo mount -o bind /dev "$location"/dev || exit 1 -sudo mount -o bind /mnt/backup "$location"/mnt/backup || exit 1 -sudo mount -o bind /home/installs "$location"/home/installs || exit 1 +for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do + sudo mount -B $i "$location"$i || exit 1 +done + +for i in /home/installs; do + sudo mount -B $i "$location"$i || exit 1 +done mkdir -p "$location"/var/lib/sbopkg/ rsync -Ha --delete --info=progress2 /var/lib/sbopkg/ "$location"/var/lib/sbopkg/ -# Mounting extra partition which is already mounted on host -# first one is host mount path, second is chroot mount -#sudo mount -B /mnt/datalinux2 "$1"/mnt/data - # For internet access sudo cp /etc/resolv.conf "$location"/etc/resolv.conf @@ -36,13 +34,18 @@ sudo cp /etc/resolv.conf "$location"/etc/resolv.conf # Need to ensure correct variables # http://www.iitk.ac.in/LDP/LDP/lfs/5.0/html/chapter06/chroot.html sudo chroot "$location" \ - /usr/bin/env -i \ - HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ - PATH=/bin:/usr/bin:/sbin:/usr/sbin \ - /bin/bash --login + /usr/bin/env -i \ + HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \ + PATH=/bin:/usr/bin:/sbin:/usr/sbin \ + /bin/bash --login # Unmounting after exit from chroot -#sudo umount "$location"/mnt/data -sudo umount "$location"/{proc,sys,dev,mnt/backup,home/installs}/ || exit 1 +for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do + sudo umount "$location"$i || exit 1 +done + +for i in /home/installs; do + sudo umount "$location"$i || exit 1 +done echo "Done"