This commit is contained in:
Marc Beninca 2024-11-12 10:11:35 +01:00
parent 44adf7cc8f
commit fbfb4c27e6
Signed by: marc.beninca
GPG key ID: 9C7613450C80C24F

View file

@ -1,41 +1,44 @@
mo() { mo() {
local directory="${1}" local directory="${1}"
local file local file
if [ "${directory}" ] ; then if [ "${directory}" ] ; then
directory="$(realpath "${directory}")" directory="$(realpath "${directory}")"
file="${directory}/filesystem.squashfs" file="${directory}/filesystem.squashfs"
if mkdir "overlay" ; then if mkdir "overlay" ; then
cd "overlay" cd "overlay"
mkdir {lower,upper,work,mount} mkdir {lower,upper,work,mount}
if mount "${file}" "lower" ; then if mount "${file}" "lower" ; then
mount -t "overlay" "overlay" "mount" \ mount \
-o lowerdir="lower",upperdir="upper",workdir="work" -o lowerdir="lower",upperdir="upper",workdir="work"
fi -t "overlay" \
cd .. "overlay" "mount"
fi fi
else cd ..
echo "KO: directory?" fi
fi else
echo "KO: directory?"
fi
} }
uo() { uo() {
cd "overlay" cd "overlay"
if umount "mount" ; then if umount "mount" ; then
rmdir "mount" rmdir "mount"
rm --recursive "upper" "work" rm --recursive "upper" "work"
if umount "lower" ; then if umount "lower" ; then
rmdir "lower" rmdir "lower"
fi fi
fi fi
cd .. cd ..
rmdir "overlay" rmdir "overlay"
} }
mr() { mr() {
for f in "dev" "dev/pts" "proc" "sys" ; do local f
mount --bind "/${f}" "overlay/mount/${f}" for f in "dev" "dev/pts" "proc" "sys" ; do
done mount --bind "/${f}" "overlay/mount/${f}"
done
} }
alias cr="\ alias cr="\
@ -50,33 +53,34 @@ chroot \
" "
ur() { ur() {
for f in "sys" "proc" "dev/pts" "dev" ; do local f
umount --lazy "overlay/mount/${f}" for f in "sys" "proc" "dev/pts" "dev" ; do
done umount --lazy "overlay/mount/${f}"
done
} }
mm() { mm() {
mount --make-rslave --rbind "/deb" "overlay/mount/deb" mount --make-rslave --rbind "/deb" "overlay/mount/deb"
} }
um() { um() {
umount --recursive "overlay/mount/deb" umount --recursive "overlay/mount/deb"
} }
ms() { ms() {
local directory="${1}" local directory="${1}"
local level="${2}" local level="${2}"
if [ "${directory}" ] ; then if [ "${directory}" ] ; then
if mkdir "${directory}" ; then if mkdir "${directory}" ; then
[ "${level}" ] || level="18" [ "${level}" ] || level="18"
cp overlay/mount/{vmlinuz,initrd.img} "${directory}" cp overlay/mount/{vmlinuz,initrd.img} "${directory}"
mksquashfs \ mksquashfs \
"overlay/mount" "${directory}/filesystem.squashfs" \ "overlay/mount" "${directory}/filesystem.squashfs" \
-noappend \ -noappend \
-comp "zstd" -Xcompression-level "${level}" -comp "zstd" -Xcompression-level "${level}"
chown --recursive 1000:1000 "${directory}" chown --recursive 1000:1000 "${directory}"
fi fi
fi fi
} }