mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
parent
39644f3372
commit
6c91c1870e
3 changed files with 24 additions and 24 deletions
|
@ -15,7 +15,7 @@ _prepare_uefi_shell_tianocore || exit 1
|
||||||
_prepare_efitools_uefi || exit 1
|
_prepare_efitools_uefi || exit 1
|
||||||
_prepare_uefi_X64 || exit 1
|
_prepare_uefi_X64 || exit 1
|
||||||
_prepare_uefi_IA32 || exit 1
|
_prepare_uefi_IA32 || exit 1
|
||||||
#_prepare_systemd-boot_X64 || exit 1
|
_prepare_systemd-boot_X64 || exit 1
|
||||||
_prepare_background || exit 1
|
_prepare_background || exit 1
|
||||||
_reproducibility
|
_reproducibility
|
||||||
_prepare_uefi_image || exit 1
|
_prepare_uefi_image || exit 1
|
||||||
|
|
|
@ -53,30 +53,30 @@ _prepare_kernel_initramfs_files() {
|
||||||
[[ -f "/usr/share/archboot/patches/31-mkinitcpio.fixed" ]] && cp "/usr/share/archboot/patches/31-mkinitcpio.fixed" "/usr/bin/mkinitcpio"
|
[[ -f "/usr/share/archboot/patches/31-mkinitcpio.fixed" ]] && cp "/usr/share/archboot/patches/31-mkinitcpio.fixed" "/usr/bin/mkinitcpio"
|
||||||
|
|
||||||
#shellcheck disable=SC2154
|
#shellcheck disable=SC2154
|
||||||
mkinitcpio -c "${MKINITCPIO_CONFIG}" -k "${ALL_kver}" -g "${_ISODIR}/EFI/BOOT/initramfs_${_RUNNING_ARCH}-pre.img" || exit 1
|
mkinitcpio -c "${MKINITCPIO_CONFIG}" -k "${ALL_kver}" -g "${_ISODIR}/boot/initramfs_${_RUNNING_ARCH}-pre.img" || exit 1
|
||||||
# delete cachedir on archboot environment
|
# delete cachedir on archboot environment
|
||||||
[[ "$(cat /etc/hostname)" == "archboot" ]] && rm -rf /var/cache/pacman/pkg
|
[[ "$(cat /etc/hostname)" == "archboot" ]] && rm -rf /var/cache/pacman/pkg
|
||||||
# grub on x86_64 reports too big if near 1GB
|
# grub on x86_64 reports too big if near 1GB
|
||||||
split -b 670M -d --additional-suffix=.img -a 1 "${_ISODIR}/EFI/BOOT/initramfs_${_RUNNING_ARCH}-pre.img" \
|
split -b 670M -d --additional-suffix=.img -a 1 "${_ISODIR}/boot/initramfs_${_RUNNING_ARCH}-pre.img" \
|
||||||
"${_ISODIR}/EFI/BOOT/initramfs_${_RUNNING_ARCH}-"
|
"${_ISODIR}/boot/initramfs_${_RUNNING_ARCH}-"
|
||||||
rm "${_ISODIR}/EFI/BOOT/initramfs_${_RUNNING_ARCH}-pre.img"
|
rm "${_ISODIR}/boot/initramfs_${_RUNNING_ARCH}-pre.img"
|
||||||
if [[ "$(find "${_ISODIR}/EFI/BOOT" -name '*.img' | wc -l)" -lt "2" ]]; then
|
if [[ "$(find "${_ISODIR}/boot" -name '*.img' | wc -l)" -lt "2" ]]; then
|
||||||
mv "${_ISODIR}/EFI/BOOT/initramfs_${_RUNNING_ARCH}-0.img" "${_ISODIR}/EFI/BOOT/initramfs_${_RUNNING_ARCH}.img"
|
mv "${_ISODIR}/boot/initramfs_${_RUNNING_ARCH}-0.img" "${_ISODIR}/boot/initramfs_${_RUNNING_ARCH}.img"
|
||||||
fi
|
fi
|
||||||
mv "/usr/lib/initcpio/functions.old" "/usr/lib/initcpio/functions"
|
mv "/usr/lib/initcpio/functions.old" "/usr/lib/initcpio/functions"
|
||||||
mv "/usr/bin/mkinitcpio.old" "/usr/bin/mkinitcpio"
|
mv "/usr/bin/mkinitcpio.old" "/usr/bin/mkinitcpio"
|
||||||
# install -m644 "${ALL_kver}" "${_ISODIR}/EFI/BOOT/vmlinuz_${_RUNNING_ARCH}"
|
install -m644 "${ALL_kver}" "${_ISODIR}/boot/vmlinuz_${_RUNNING_ARCH}"
|
||||||
# needed to hash the kernel for secureboot enabled systems
|
# needed to hash the kernel for secureboot enabled systems
|
||||||
install -m644 "${ALL_kver}" "${_ISODIR}/EFI/BOOT/vmlinuz_${_RUNNING_ARCH}"
|
install -m644 "${ALL_kver}" "${_ISODIR}/EFI/BOOT/vmlinuz_${_RUNNING_ARCH}"
|
||||||
# install ucode files
|
# install ucode files
|
||||||
[[ "${_RUNNING_ARCH}" == "aarch64" ]] || cp /boot/intel-ucode.img "${_ISODIR}/EFI/BOOT/"
|
[[ "${_RUNNING_ARCH}" == "aarch64" ]] || cp /boot/intel-ucode.img "${_ISODIR}/boot/"
|
||||||
cp /boot/amd-ucode.img "${_ISODIR}/EFI/BOOT"
|
cp /boot/amd-ucode.img "${_ISODIR}/boot/"
|
||||||
# fix license files
|
# fix license files
|
||||||
mkdir -p "${_ISODIR}"/licenses/amd-ucode
|
mkdir -p "${_ISODIR}"/licenses/amd-ucode
|
||||||
[[ "${_RUNNING_ARCH}" == "aarch64" ]] || mkdir -p "${_ISODIR}"/EFI/licenses/intel-ucode
|
[[ "${_RUNNING_ARCH}" == "aarch64" ]] || mkdir -p "${_ISODIR}"/licenses/intel-ucode
|
||||||
[[ "${_RUNNING_ARCH}" == "aarch64" ]] && cp -r /boot/dtbs "${_ISODIR}/EFI/BOOT/"
|
[[ "${_RUNNING_ARCH}" == "aarch64" ]] && cp -r /boot/dtbs "${_ISODIR}/boot/"
|
||||||
cp /usr/share/licenses/amd-ucode/LICENSE.amd-ucode "${_ISODIR}/EFI/licenses/amd-ucode"
|
cp /usr/share/licenses/amd-ucode/LICENSE.amd-ucode "${_ISODIR}/licenses/amd-ucode"
|
||||||
[[ "${_RUNNING_ARCH}" == "aarch64" ]] || cp /usr/share/licenses/intel-ucode/LICENSE "${_ISODIR}/EFI/licenses/intel-ucode"
|
[[ "${_RUNNING_ARCH}" == "aarch64" ]] || cp /usr/share/licenses/intel-ucode/LICENSE "${_ISODIR}/licenses/intel-ucode"
|
||||||
}
|
}
|
||||||
|
|
||||||
_prepare_fedora_shim_bootloaders_x86_64 () {
|
_prepare_fedora_shim_bootloaders_x86_64 () {
|
||||||
|
@ -134,27 +134,29 @@ _prepare_uefi_AA64() {
|
||||||
|
|
||||||
_prepare_background() {
|
_prepare_background() {
|
||||||
echo "Prepare Grub background ..."
|
echo "Prepare Grub background ..."
|
||||||
[[ -d "${_ISODIR}/boot/grub" ]] || mkdir -p "${_ISODIR}/EFI/BOOT/grub"
|
[[ -d "${_ISODIR}/boot/grub" ]] || mkdir -p "${_ISODIR}/boot/grub"
|
||||||
cp ${_GRUB_BACKGROUND} "${_ISODIR}/EFI/BOOT/grub/archboot-background.png"
|
cp ${_GRUB_BACKGROUND} "${_ISODIR}/boot/grub/archboot-background.png"
|
||||||
}
|
}
|
||||||
|
|
||||||
_prepare_systemd-boot_X64() {
|
_prepare_systemd-boot_X64() {
|
||||||
echo "Prepare X64 systemd-boot ..."
|
echo "Prepare X64 systemd-boot ..."
|
||||||
[[ -d ${_ISODIR}/EFI/BOOT/loader ]] || mkdir -p ${_ISODIR}/loader/entries
|
[[ -d ${_ISODIR}/boot/systemd-boot ]] || mkdir -p ${_ISODIR}/boot/systemd-boot
|
||||||
cp /usr/lib/systemd/boot/efi/systemd-bootx64.efi ${_ISODIR}/EFI/BOOT/
|
[[ -d ${_ISODIR}/boot/loader ]] || mkdir -p ${_ISODIR}/boot/loader/entries
|
||||||
|
cp /usr/lib/systemd/boot/efi/systemd-bootx64.efi ${_ISODIR}/boot/systemd-boot/
|
||||||
cp /usr/share/archboot/systemd-boot/boot/loader/loader-x64.conf \
|
cp /usr/share/archboot/systemd-boot/boot/loader/loader-x64.conf \
|
||||||
${_ISODIR}/loader/loader.conf
|
${_ISODIR}/boot/loader/loader.conf
|
||||||
if [[ -e ${_ISODIR}/boot/initramfs_x86_64.img ]]; then
|
if [[ -e ${_ISODIR}/boot/initramfs_x86_64.img ]]; then
|
||||||
cp /usr/share/archboot/systemd-boot/boot/loader/entries/archboot-x64.conf \
|
cp /usr/share/archboot/systemd-boot/boot/loader/entries/archboot-x64.conf \
|
||||||
${_ISODIR}/loader/entries/archboot-x64.conf
|
${_ISODIR}/boot/loader/entries/archboot-x64.conf
|
||||||
else
|
else
|
||||||
cp /usr/share/archboot/systemd-boot/boot/loader/entries/archboot-x64-local.conf \
|
cp /usr/share/archboot/systemd-boot/boot/loader/entries/archboot-x64-local.conf \
|
||||||
${_ISODIR}/loader/entries/archboot-x64.conf
|
${_ISODIR}/boot/loader/entries/archboot-x64.conf
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
_prepare_systemd-boot_AA64() {
|
_prepare_systemd-boot_AA64() {
|
||||||
echo "Prepare AA64 systemd-boot ..."
|
echo "Prepare AA64 systemd-boot ..."
|
||||||
|
[[ -d ${_ISODIR}/boot/systemd-boot ]] || mkdir -p ${_ISODIR}/boot/systemd-boot
|
||||||
[[ -d ${_ISODIR}/boot/loader ]] || mkdir -p ${_ISODIR}/boot/loader/entries
|
[[ -d ${_ISODIR}/boot/loader ]] || mkdir -p ${_ISODIR}/boot/loader/entries
|
||||||
cp /usr/lib/systemd/boot/efi/systemd-bootaa64.efi ${_ISODIR}/boot/systemd-boot/
|
cp /usr/lib/systemd/boot/efi/systemd-bootaa64.efi ${_ISODIR}/boot/systemd-boot/
|
||||||
cp /usr/share/archboot/systemd-boot/boot/loader/loader-aa64.conf \
|
cp /usr/share/archboot/systemd-boot/boot/loader/loader-aa64.conf \
|
||||||
|
@ -190,8 +192,6 @@ _prepare_uefi_image() {
|
||||||
mkfs.vfat --invariant "${VFAT_IMAGE}" >/dev/null
|
mkfs.vfat --invariant "${VFAT_IMAGE}" >/dev/null
|
||||||
## Copy all files to UEFI vfat image
|
## Copy all files to UEFI vfat image
|
||||||
mcopy -m -i "${VFAT_IMAGE}" -s "${_ISODIR}"/EFI ::/
|
mcopy -m -i "${VFAT_IMAGE}" -s "${_ISODIR}"/EFI ::/
|
||||||
mcopy -m -i "${VFAT_IMAGE}" -s "${_ISODIR}"/loader ::/
|
|
||||||
rm -r "${_ISODIR}"/EFI
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_grub_mkrescue() {
|
_grub_mkrescue() {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
title Arch Linux x86_64 Archboot - EFISTUB
|
title Arch Linux x86_64 Archboot - EFISTUB
|
||||||
linux /EFI/BOOT/vmlinuz_x86_64
|
linux /vmlinuz_x86_64
|
||||||
initrd /amd-ucode.img
|
initrd /amd-ucode.img
|
||||||
initrd /intel-ucode.img
|
initrd /intel-ucode.img
|
||||||
initrd /initramfs_x86_64.img
|
initrd /initramfs_x86_64.img
|
||||||
|
|
Loading…
Reference in a new issue