2022-01-07 09:08:50 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# created by Tobias Powalowski <tpowa@archlinux.org>
|
2022-02-08 17:01:21 +01:00
|
|
|
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"
|
2022-02-08 17:01:21 +01:00
|
|
|
_ARCHBOOT="archboot-arm"
|
|
|
|
_KEYRING=" archlinuxarm"
|
|
|
|
[[ -z "${1}" ]] && _usage
|
2022-01-07 09:08:50 +01:00
|
|
|
_DIR="$1"
|
2022-02-08 17:01:21 +01:00
|
|
|
#shellcheck disable=SC2120
|
|
|
|
_parameters
|
|
|
|
_root_check
|
2022-01-07 09:08:50 +01:00
|
|
|
echo "Starting container creation ..."
|
2022-01-10 07:51:04 +01:00
|
|
|
echo "Create directory ${_DIR} ..."
|
2022-01-07 09:08:50 +01:00
|
|
|
mkdir "${_DIR}"
|
2022-01-09 14:05:36 +01:00
|
|
|
if [[ "$(uname -m)" == "aarch64" ]]; then
|
2022-02-08 17:01:21 +01:00
|
|
|
_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
|
2022-01-09 14:05:36 +01:00
|
|
|
fi
|
|
|
|
if [[ "$(uname -m)" == "x86_64" ]]; then
|
2022-01-13 12:28:59 +01:00
|
|
|
echo "Downloading archlinuxarm pacman aarch64 chroot..."
|
2022-02-08 17:01:21 +01:00
|
|
|
[[ -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}"
|
2022-01-09 14:05:36 +01:00
|
|
|
echo "Removing installation tarball ..."
|
2022-01-13 12:28:59 +01:00
|
|
|
rm ${_PACMAN_AARCH64_CHROOT}{,.sig}
|
2022-01-09 14:05:36 +01:00
|
|
|
# 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
|
2022-02-08 17:01:21 +01:00
|
|
|
_install_base_packages
|
|
|
|
_cleanmkinitcpio
|
|
|
|
_cleancache
|
|
|
|
_install_archboot
|
|
|
|
_cleanmkinitcpio
|
|
|
|
_cleancache
|
|
|
|
_cleancontainer
|
|
|
|
_clean_locale
|
2022-01-09 14:05:36 +01:00
|
|
|
fi
|
2022-02-08 17:01:21 +01:00
|
|
|
_set_hostname
|
2022-01-07 09:08:50 +01:00
|
|
|
echo "Finished container setup in ${_DIR} ."
|