mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
Keshav: Do not include IA32 UEFI files in CDEFI
This commit is contained in:
parent
511ab4a739
commit
55239e3824
1 changed files with 27 additions and 11 deletions
|
@ -632,31 +632,47 @@ _download_pkgs() {
|
||||||
}
|
}
|
||||||
|
|
||||||
_update_cd_uefi() {
|
_update_cd_uefi() {
|
||||||
|
|
||||||
|
TEMP_DIR=$(mktemp -d)
|
||||||
MOUNT_FSIMG=$(mktemp -d)
|
MOUNT_FSIMG=$(mktemp -d)
|
||||||
|
|
||||||
|
## Copy UEFI files fo cdefiboot.img
|
||||||
|
mkdir "${TEMP_DIR}"/boot
|
||||||
|
cp -r "${_ARCHBOOT_ISO_EXT_DIR}"/{EFI,loader} "${TEMP_DIR}"/
|
||||||
|
cp "${_ARCHBOOT_ISO_EXT_DIR}"/boot/vmlinuz_x86_64 "${_ARCHBOOT_ISO_EXT_DIR}"/boot/initramfs_x86_64.img "${TEMP_DIR}"/boot/
|
||||||
|
|
||||||
|
## Delete IA32 UEFI files
|
||||||
|
rm -f "${TEMP_DIR}"/loader/*ia32*.conf
|
||||||
|
rm -f "${TEMP_DIR}"/EFI/tools/shellia32_v{1,2}.efi
|
||||||
|
rm -f "${TEMP_DIR}"/EFI/boot/bootia32.{efi,cfg}
|
||||||
|
rm -rf "${TEMP_DIR}"/EFI/syslinux/efi32
|
||||||
|
|
||||||
## get size of boot x86_64 files
|
## get size of boot x86_64 files
|
||||||
BOOTSIZE=$(du -bc ${_ARCHBOOT_ISO_EXT_DIR}/{EFI,loader,boot/vmlinuz_x86_64,boot/initramfs_x86_64.img} | grep total | cut -f1)
|
BOOTSIZE=$(du -bc ${TEMP_DIR} | grep total | cut -f1)
|
||||||
IMGSZ=$(( (${BOOTSIZE}*102)/100/1024 + 1)) # image size in sectors
|
IMGSZ=$(( (${BOOTSIZE}*102)/100/1024 + 1)) # image size in sectors
|
||||||
|
|
||||||
## Create cdefiboot.img
|
rm -rf "${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/
|
||||||
mkdir -p "${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/
|
mkdir -p "${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/
|
||||||
|
|
||||||
|
## Create cdefiboot.img
|
||||||
dd if=/dev/zero of="${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/cdefiboot.img bs="${IMGSZ}" count=1024
|
dd if=/dev/zero of="${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/cdefiboot.img bs="${IMGSZ}" count=1024
|
||||||
mkfs.vfat "${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/cdefiboot.img
|
mkfs.vfat "${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/cdefiboot.img
|
||||||
LOOPDEV="$(losetup --find --show "${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/cdefiboot.img)"
|
LOOPDEV="$(losetup --find --show "${_ARCHBOOT_ISO_EXT_DIR}"/CDEFI/cdefiboot.img)"
|
||||||
|
|
||||||
## Mount cdefiboot.img
|
## Mount cdefiboot.img
|
||||||
mount -t vfat -o rw,users "${LOOPDEV}" "${MOUNT_FSIMG}"
|
mount -t vfat -o rw,users "${LOOPDEV}" "${MOUNT_FSIMG}"
|
||||||
|
|
||||||
## Copy UEFI files fo cdefiboot.img
|
## Copy all files from TEMP_DIR to MOUNT_FSIMG
|
||||||
mkdir "${MOUNT_FSIMG}"/boot
|
cp -r "${TEMP_DIR}"/* "${MOUNT_FSIMG}"/
|
||||||
cp -r "${_ARCHBOOT_ISO_EXT_DIR}"/{EFI,loader} "${MOUNT_FSIMG}"/
|
|
||||||
cp "${_ARCHBOOT_ISO_EXT_DIR}"/boot/vmlinuz_x86_64 "${_ARCHBOOT_ISO_EXT_DIR}"/boot/initramfs_x86_64.img "${MOUNT_FSIMG}"/boot/
|
|
||||||
|
|
||||||
## Unmount cdefiboot.img
|
## Unmount cdefiboot.img
|
||||||
umount "${LOOPDEV}"
|
umount "${LOOPDEV}"
|
||||||
losetup --detach "${LOOPDEV}"
|
losetup --detach "${LOOPDEV}"
|
||||||
rm -rf "${MOUNT_FSIMG}"
|
rm -rf "${MOUNT_FSIMG}"
|
||||||
|
rm -rf "${TEMP_DIR}"
|
||||||
|
|
||||||
_CD_UEFI_PARAMETERS="-eltorito-alt-boot -e CDEFI/cdefiboot.img -isohybrid-gpt-basdat -no-emul-boot"
|
_CD_UEFI_PARAMETERS="-eltorito-alt-boot -e CDEFI/cdefiboot.img -isohybrid-gpt-basdat -no-emul-boot"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[[ "${_REMOVE_i686}" == "1" ]] && _remove_i686_iso_files
|
[[ "${_REMOVE_i686}" == "1" ]] && _remove_i686_iso_files
|
||||||
|
|
Loading…
Reference in a new issue