arch scripts
It took a moment to work out that there is actually no way of bootstrapping an arch environment without permanently installing things to the host system! So we just download a live image and unpack it. Then after that, getting erlang to work was very easy, just install it, install zx, run. No R26 incompatibility problems, life is good!
This commit is contained in:
Executable
+102
@@ -0,0 +1,102 @@
|
||||
#!/bin/sh
|
||||
|
||||
if test `id -u` -ne 0
|
||||
then
|
||||
echo "$0 must be run as root."
|
||||
return
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
FRESH=clean_environment
|
||||
ROOT=test_environment
|
||||
|
||||
add_mount() {
|
||||
if mountpoint -q "$ROOT$1"
|
||||
then
|
||||
echo "$ROOT$1 already mounted."
|
||||
else
|
||||
echo "Mounting $2$1 to $ROOT$1"
|
||||
mkdir -p "$ROOT$1"
|
||||
mount -o bind "$2$1" "$ROOT$1"
|
||||
fi
|
||||
}
|
||||
|
||||
remove_mount() {
|
||||
if mountpoint -q "$ROOT$1"
|
||||
then
|
||||
echo "Unmounting $ROOT$1"
|
||||
umount -l "$ROOT$1"
|
||||
fi
|
||||
}
|
||||
|
||||
add_mounts() {
|
||||
add_mount / "$ROOT"
|
||||
add_mount /proc
|
||||
add_mount /sys
|
||||
add_mount /dev
|
||||
add_mount /dev/pts
|
||||
add_mount /tmp/.X11-unix
|
||||
}
|
||||
|
||||
remove_mounts() {
|
||||
remove_mount /tmp/.X11-unix
|
||||
remove_mount /dev/pts
|
||||
remove_mount /dev
|
||||
remove_mount /sys
|
||||
remove_mount /proc
|
||||
remove_mount /
|
||||
}
|
||||
|
||||
remove_environment() {
|
||||
if test -d "$ROOT"
|
||||
then
|
||||
# Call this script that automatically unmounts the mount points too.
|
||||
remove_mounts
|
||||
echo "Removing $ROOT"
|
||||
rm -r "$ROOT"
|
||||
else
|
||||
echo "No environment found at $ROOT. Doing nothing."
|
||||
fi
|
||||
}
|
||||
|
||||
remove_everything() {
|
||||
if test -d "$ROOT"
|
||||
then
|
||||
# Call this script that automatically unmounts the mount points too.
|
||||
remove_environment
|
||||
fi
|
||||
|
||||
if test -d "$FRESH"
|
||||
then
|
||||
echo "Removing $FRESH"
|
||||
rm -r "$FRESH"
|
||||
fi
|
||||
|
||||
if test -d debootstrap
|
||||
then
|
||||
echo "Removing debootstrap"
|
||||
rm -r debootstrap
|
||||
fi
|
||||
|
||||
if test -f pkglist.x86_64.txt
|
||||
then
|
||||
echo "Removing pkglist.x86_64.txt"
|
||||
rm pkglist.x86_64.txt
|
||||
fi
|
||||
|
||||
if test -f archlinux-bootstrap*.tar.zst
|
||||
then
|
||||
echo "Removing archlinux bootstrap tarballs."
|
||||
rm archlinux-bootstrap*.tar.zst
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
everything) remove_everything ;;
|
||||
mounts) remove_mounts ;;
|
||||
add_mounts) add_mounts ;;
|
||||
environment) remove_environment ;;
|
||||
"") remove_environment ;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user