create missing directories

This commit is contained in:
Tobias Powalowski 2023-06-23 10:54:48 +02:00
parent cbfc9e43d0
commit bc2976384e

View file

@ -189,6 +189,7 @@ _do_uefi_secure_boot_efitools() {
_do_uefi_common || return 1 _do_uefi_common || return 1
# install helper tools and create entries in UEFI boot manager, if not present # install helper tools and create entries in UEFI boot manager, if not present
if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then
[[ -d "${_UEFISYS_MP}/EFI/BOOT" ]] || mkdir -p "${_UEFISYS_MP}/EFI/BOOT"
if [[ ! -f "${_UEFISYS_MP}/EFI/BOOT/HashTool.efi" ]]; then if [[ ! -f "${_UEFISYS_MP}/EFI/BOOT/HashTool.efi" ]]; then
cp "${_DESTDIR}/usr/share/efitools/efi/HashTool.efi" "${_UEFISYS_MP}/EFI/BOOT/HashTool.efi" cp "${_DESTDIR}/usr/share/efitools/efi/HashTool.efi" "${_UEFISYS_MP}/EFI/BOOT/HashTool.efi"
_BOOTMGR_LABEL="HashTool (Secure Boot)" _BOOTMGR_LABEL="HashTool (Secure Boot)"
@ -267,7 +268,7 @@ _do_pacman_sign() {
_SIGN_KERNEL="" _SIGN_KERNEL=""
_dialog --yesno "Do you want to install a pacman hook\nfor automatic signing /boot/${_VMLINUZ} on updates?" 6 60 && _SIGN_KERNEL=1 _dialog --yesno "Do you want to install a pacman hook\nfor automatic signing /boot/${_VMLINUZ} on updates?" 6 60 && _SIGN_KERNEL=1
if [[ -n "${_SIGN_KERNEL}" ]]; then if [[ -n "${_SIGN_KERNEL}" ]]; then
[[ ! -d "${_DESTDIR}/etc/pacman.d/hooks" ]] && mkdir -p "${_DESTDIR}"/etc/pacman.d/hooks/ [[ -d "${_DESTDIR}/etc/pacman.d/hooks" ]] || mkdir -p "${_DESTDIR}"/etc/pacman.d/hooks
_HOOKNAME="${_DESTDIR}/etc/pacman.d/hooks/999-sign_kernel_for_secureboot.hook" _HOOKNAME="${_DESTDIR}/etc/pacman.d/hooks/999-sign_kernel_for_secureboot.hook"
cat << EOF > "${_HOOKNAME}" cat << EOF > "${_HOOKNAME}"
[Trigger] [Trigger]
@ -327,7 +328,7 @@ _do_efistub_copy_to_efisys() {
if ! [[ "${_UEFISYS_MP}" == "boot" ]]; then if ! [[ "${_UEFISYS_MP}" == "boot" ]]; then
# clean and copy to efisys # clean and copy to efisys
_dialog --infobox "Copying kernel, ucode and initramfs\nto EFI SYSTEM PARTITION (ESP) now..." 4 65 _dialog --infobox "Copying kernel, ucode and initramfs\nto EFI SYSTEM PARTITION (ESP) now..." 4 65
! [[ -d "${_DESTDIR}/${_UEFISYS_MP}/${_UEFISYS_PATH}" ]] && mkdir -p "${_DESTDIR}/${_UEFISYS_MP}/${_UEFISYS_PATH}" [[ -d "${_DESTDIR}/${_UEFISYS_MP}/${_UEFISYS_PATH}" ]] || mkdir -p "${_DESTDIR}/${_UEFISYS_MP}/${_UEFISYS_PATH}"
rm -f "${_DESTDIR}/${_UEFISYS_MP}/${_KERNEL}" rm -f "${_DESTDIR}/${_UEFISYS_MP}/${_KERNEL}"
cp -f "${_DESTDIR}/boot/${_VMLINUZ}" "${_DESTDIR}/${_UEFISYS_MP}/${_KERNEL}" cp -f "${_DESTDIR}/boot/${_VMLINUZ}" "${_DESTDIR}/${_UEFISYS_MP}/${_KERNEL}"
rm -f "${_DESTDIR}/${_UEFISYS_MP}/${_INITRD}" rm -f "${_DESTDIR}/${_UEFISYS_MP}/${_INITRD}"
@ -396,7 +397,7 @@ _do_efistub_uefi() {
_do_systemd_boot_uefi() { _do_systemd_boot_uefi() {
_dialog --infobox "Setting up SYSTEMD-BOOT now..." 3 40 _dialog --infobox "Setting up SYSTEMD-BOOT now..." 3 40
# create directory structure, if it doesn't exist # create directory structure, if it doesn't exist
! [[ -d "${_DESTDIR}/${_UEFISYS_MP}/loader/entries" ]] && mkdir -p "${_DESTDIR}/${_UEFISYS_MP}/loader/entries" [[ -d "${_DESTDIR}/${_UEFISYS_MP}/loader/entries" ]] || mkdir -p "${_DESTDIR}/${_UEFISYS_MP}/loader/entries"
echo "title Arch Linux" > "${_DESTDIR}/${_UEFISYS_MP}/loader/entries/archlinux-core-main.conf" echo "title Arch Linux" > "${_DESTDIR}/${_UEFISYS_MP}/loader/entries/archlinux-core-main.conf"
echo "linux /${_KERNEL}" >> "${_DESTDIR}/${_UEFISYS_MP}/loader/entries/archlinux-core-main.conf" echo "linux /${_KERNEL}" >> "${_DESTDIR}/${_UEFISYS_MP}/loader/entries/archlinux-core-main.conf"
if [[ -n "${_INITRD_UCODE}" ]]; then if [[ -n "${_INITRD_UCODE}" ]]; then
@ -440,7 +441,7 @@ _do_refind_uefi() {
_run_pacman _run_pacman
fi fi
_dialog --infobox "Setting up rEFInd now. This needs some time..." 3 60 _dialog --infobox "Setting up rEFInd now. This needs some time..." 3 60
! [[ -d "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind" ]] && mkdir -p "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind/" [[ -d "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind" ]] || mkdir -p "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind/"
cp -f "${_DESTDIR}/usr/share/refind/refind_${_SPEC_UEFI_ARCH}.efi" "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind/" cp -f "${_DESTDIR}/usr/share/refind/refind_${_SPEC_UEFI_ARCH}.efi" "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind/"
cp -r "${_DESTDIR}/usr/share/refind/icons" "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind/" cp -r "${_DESTDIR}/usr/share/refind/icons" "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind/"
cp -r "${_DESTDIR}/usr/share/refind/fonts" "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind/" cp -r "${_DESTDIR}/usr/share/refind/fonts" "${_DESTDIR}/${_UEFISYS_MP}/EFI/refind/"
@ -740,7 +741,7 @@ EOF
fi fi
fi fi
## copy ter-u16n.pf2 font file ## copy ter-u16n.pf2 font file
[[ ! -d ${_DESTDIR}/${_GRUB_PREFIX_DIR}/fonts ]] && mkdir -p "${_DESTDIR}/${_GRUB_PREFIX_DIR}/fonts" [[ -d ${_DESTDIR}/${_GRUB_PREFIX_DIR}/fonts ]] || mkdir -p "${_DESTDIR}/${_GRUB_PREFIX_DIR}/fonts"
cp -f "${_DESTDIR}/usr/share/grub/ter-u16n.pf2" "${_DESTDIR}/${_GRUB_PREFIX_DIR}/fonts/ter-u16n.pf2" cp -f "${_DESTDIR}/usr/share/grub/ter-u16n.pf2" "${_DESTDIR}/${_GRUB_PREFIX_DIR}/fonts/ter-u16n.pf2"
_chroot_umount _chroot_umount
## Edit grub.cfg config file ## Edit grub.cfg config file
@ -872,7 +873,7 @@ _do_grub_uefi() {
_chroot_mount _chroot_mount
if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then
# install fedora shim # install fedora shim
[[ ! -d ${_DESTDIR}/${_UEFISYS_MP}/EFI/BOOT ]] && mkdir -p "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT/ [[ -d ${_DESTDIR}/${_UEFISYS_MP}/EFI/BOOT ]] || mkdir -p "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT/
cp -f /usr/share/archboot/bootloader/shim"${_SPEC_UEFI_ARCH}".efi "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT/BOOT"${_UEFI_ARCH}".EFI cp -f /usr/share/archboot/bootloader/shim"${_SPEC_UEFI_ARCH}".efi "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT/BOOT"${_UEFI_ARCH}".EFI
cp -f /usr/share/archboot/bootloader/mm"${_SPEC_UEFI_ARCH}".efi "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT/ cp -f /usr/share/archboot/bootloader/mm"${_SPEC_UEFI_ARCH}".efi "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT/
_GRUB_PREFIX_DIR="${_UEFISYS_MP}/EFI/BOOT/" _GRUB_PREFIX_DIR="${_UEFISYS_MP}/EFI/BOOT/"