# constants unlikely to change
DIRNAME_SSH=.ssh
+FNAME_INITRD=initrd.img
FNAME_PROFILE=.profile
+FNAME_VMLINUZ=vmlinuz
NAME_DEV=dev
PATH_DEV="/${NAME_DEV}"
PATH_MNT=/mnt
msg 'Disabling automatic installation of APT recommends …'
printf 'APT::Install-Recommends "false";\n' >| "${TARGET}"
}
+efi_copy_kernel_vmlinuz() {
+ local PATH_EFI_NAME_BOOT=$1
+ local PREFIX=${2:-}
+ msg 'EFI setup: copying kernel and initrd into %s …' "${PATH_EFI_NAME_BOOT}"
+ for FILENAME in "${FNAME_INITRD}" "${FNAME_VMLINUZ}"; do
+ cp "${PREFIX}/${FILENAME}" "${PATH_EFI_NAME_BOOT}/"
+ done
+}
. "$(dirname "$0")/_lib.sh"
# constants unlikely to change
-FNAME_INITRD=initrd.img
FNAME_NM_CONN=wifi.nmconnection
-FNAME_VMLINUZ=vmlinuz
PATH_CRYPTTAB=/etc/crypttab
PATH_EFI=/boot/efi
PATH_FSTAB=/etc/fstab
IDX_BOOT_PARTITION=1
PATH_BOOT_DEVICE="${PATH_DEV}/nvme0n1"
-# inputs to confirm
+# inputs
usage $# "partition" "boot-name"
PARTITION=$1
NAME_BOOT=$2
printf '%s\n' "${NAME_BOOT}" >| "${PATH_MNT_HOSTNAME}"
printf '127.0.1.1\t%s\n' "${NAME_BOOT}" >> "${PATH_MNT_HOSTS}"
-# for firmware-iwlwifi below (as debootstrap only enables "main" by default)
-msg 'Enabling non-free-firmware component in target sources.list …'
+msg 'For firmware-iwlwifi, enabling non-free-firmware in target sources.list …'
sed -i 's/ main$/ main non-free-firmware/' "${PATH_MNT_APT_SOURCES}"
disable_apt_recommends "${PATH_MNT_ROOT}"
EOF
chmod 600 "${PATH_MNT_NM_CONN}"
-msg 'EFI setup: copying kernel and initrd into %s …' "${PATH_EFI_NAME_BOOT}"
mkdir "${PATH_EFI_NAME_BOOT}"
-for FILENAME in "${FNAME_INITRD}" "${FNAME_VMLINUZ}"; do
- cp "${PATH_MNT_ROOT}/${FILENAME}" "${PATH_EFI_NAME_BOOT}/"
-done
+efi_copy_kernel_vmlinuz "${PATH_EFI_NAME_BOOT}" "${PATH_MNT_ROOT}"
msg 'EFI setup: adding boot entry %s …' "${NAME_BOOT}"
efibootmgr \
--create \
# sanity checks
check_tools scp ssh ssh-keygen tar
-DIR_TEMP=$(mktemp --directory)
-PATH_REPO_TAR="${DIR_TEMP}/${FNAME_REPO_TAR}"
-msg 'Creating tar of repo in temporary directory %s …' "${DIR_TEMP}"
+PATH_TEMP=$(mktemp --directory)
+PATH_REPO_TAR="${PATH_TEMP}/${FNAME_REPO_TAR}"
+msg 'Creating tar of repo in temporary directory %s …' "${PATH_TEMP}"
tar cf "${PATH_REPO_TAR}" -C "${PATH_REPO_PARENT}" "${NAME_REPO_DIR}"
msg 'Uploading repo tar to server …'
ssh-keygen -f "${PATH_MY_KNOWN_HOSTS}" -R "${SERVER}"
fi
scp ${OPTS_SSH_NEW_HOST} "${PATH_REPO_TAR}" "${TARGET}:~"
-rm -rf "${DIR_TEMP}"
+rm -rf "${PATH_TEMP}"
msg 'Unpacking repo and running setup script …'
# --no-same-owner owns the files to root, prevening "dubious ownership" when
--- /dev/null
+#!/bin/sh
+. "$(dirname "$0")/_lib.sh"
+
+usage $# "efi-partition"
+PARTITION_EFI=$1
+
+PATH_TEMP=$(mktemp --directory)
+PATH_EFI_NAME_BOOT="${PATH_TEMP}/$(hostname)"
+
+msg 'Mounting EFI partition %s at %s …' "${PARTITION_EFI}" "${PATH_TEMP}"
+mount "${PARTITION_EFI}" "${PATH_TEMP}"
+
+efi_copy_kernel_vmlinuz "${PATH_EFI_NAME_BOOT}"
+
+msg 'Unmounting EFI partition …'
+umount "${PATH_TEMP}"
+rmdir "${PATH_TEMP}"