diff options
Diffstat (limited to 'make-bootstrap-file.sh')
-rw-r--r-- | make-bootstrap-file.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/make-bootstrap-file.sh b/make-bootstrap-file.sh new file mode 100644 index 0000000..d1c5cb4 --- /dev/null +++ b/make-bootstrap-file.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# build: Bootstrap a base Hyperbola GNU+Linux-libre system. + +set -e -u -o pipefail + +SCRIPT=$(readlink -f "$0") +SCRIPT_PWD=$(dirname "$SCRIPT") +CHROOT_DELETE='y' + +RESULTPATH=${SCRIPT_PWD}/ +ARCH="x86_64" +REPO_URL="https://mirror.fsf.org/hyperbola/gnu-plus-linux-libre/testing" +DOWNLOAD_DIR="/tmp/bootstrap-packages" + +ROOTFS=$(mktemp -d) +mkdir -p "$ROOTFS" +# remove old archives +rm -f "${RESULTPATH}/hyperbola-bootstrap.tar.gz" "${RESULTPATH}/hyperbola-bootstrap.tar.gz.sha512sum" + +# bootstrap +"${SCRIPT_PWD}/hyper-bootstrap.sh" -a "${ARCH}" -r "${REPO_URL}" -d "${DOWNLOAD_DIR}" "${ROOTFS}" + +cd "${ROOTFS}" +# clean up package cache +rm -rf var/cache/* +# create new archive +tar -czf "${RESULTPATH}/hyperbola-bootstrap.tar.gz" --transform "s|^|root.${ARCH}/|" --owner 0 --group 0 -- \ + bin dev home media opt root sbin sys usr lib64 \ + boot etc lib mnt proc run srv tmp var + +sha512sum "${RESULTPATH}/hyperbola-bootstrap.tar.gz" >| "${RESULTPATH}/hyperbola-bootstrap.tar.gz.sha512sum" + +# clean chroot temp +case $CHROOT_DELETE in + y) rm -rf "${ROOTFS}" || true && echo -e "\e[1;32m==>\e[0m\033[1m Temporal chroot deleted! \e[m" ;; + n) echo 'temporal chroot available' ;; + *) echo 'invalid_option "$@"' ;; +esac + +# report result +echo "REPO: $REPO_URL" +echo "DOWNLOAD_DIR: $DOWNLOAD_DIR" +echo "ROOTFS: $ROOTFS" +echo "RESULTPATH: $RESULTPATH" |