archboot/usr/bin/archboot-aarch64-create-container.sh

55 lines
1.7 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# created by Tobias Powalowski <tpowa@archlinux.org>
source /usr/lib/archboot/functions
source /usr/lib/archboot/container_functions
2022-01-13 12:28:59 +01:00
_PACMAN_AARCH64_CHROOT_SERVER="https://pkgbuild.com/~tpowa/archboot-helper/pacman-chroot-aarch64"
_PACMAN_AARCH64_CHROOT="pacman-aarch64-chroot-latest.tar.zst"
_ARCHBOOT="archboot-arm"
_KEYRING=" archlinuxarm"
[[ -z "${1}" ]] && _usage
_DIR="$1"
#shellcheck disable=SC2120
_parameters
_root_check
echo "Starting container creation ..."
2022-01-10 07:51:04 +01:00
echo "Create directory ${_DIR} ..."
mkdir "${_DIR}"
if [[ "$(uname -m)" == "aarch64" ]]; then
_prepare_pacman
_install_base_packages
_cleanmkinitcpio
_cleancache
_install_archboot
_umount_special
_cleancontainer
_clean_archboot_cache
_generate_keyring
_generate_locales
_clean_locale
_copy_mirrorlist_and_pacman_conf
_change_pacman_conf
fi
if [[ "$(uname -m)" == "x86_64" ]]; then
2022-01-13 12:28:59 +01:00
echo "Downloading archlinuxarm pacman aarch64 chroot..."
[[ -f pacman-aarch64-chroot-latest.tar.zst ]] || wget ${_PACMAN_AARCH64_CHROOT_SERVER}/${_PACMAN_AARCH64_CHROOT}{,.sig} >/dev/null 2>&1
2022-01-13 12:28:59 +01:00
# verify dowload
2022-01-13 15:32:45 +01:00
sleep 1
2022-01-13 12:28:59 +01:00
gpg --verify "${_PACMAN_AARCH64_CHROOT}.sig" >/dev/null 2>&1 || exit 1
2022-01-13 15:32:45 +01:00
bsdtar -C "${_DIR}" -xf "${_PACMAN_AARCH64_CHROOT}"
echo "Removing installation tarball ..."
2022-01-13 12:28:59 +01:00
rm ${_PACMAN_AARCH64_CHROOT}{,.sig}
# update container to latest packages
echo "Update container to latest packages..."
2022-01-12 18:57:10 +01:00
systemd-nspawn -D "${_DIR}" pacman -Syu --noconfirm >/dev/null 2>&1
_install_base_packages
_cleanmkinitcpio
_cleancache
_install_archboot
_cleanmkinitcpio
_cleancache
_cleancontainer
_clean_locale
fi
_set_hostname
echo "Finished container setup in ${_DIR} ."