Align with latest 26.1.2.1 version from https://build.opensuse.org/package/show/isv:SUSE:Edge:Metal3:Ironic:2024.2/ironic-image
43 lines
1.1 KiB
Bash
43 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
set -euxo pipefail
|
|
|
|
ARCH=$(uname -m)
|
|
DEST=${2:-/tmp/esp.img}
|
|
OS=${1:-sles}
|
|
|
|
if [ $ARCH = "aarch64" ]; then
|
|
BOOTEFI=BOOTAA64.EFI
|
|
GRUBEFI=grubaa64.efi
|
|
else
|
|
BOOTEFI=BOOTX64.efi
|
|
GRUBEFI=grubx64.efi
|
|
fi
|
|
|
|
dd bs=1024 count=6400 if=/dev/zero of=$DEST
|
|
mkfs.msdos -F 12 -n 'ESP_IMAGE' $DEST
|
|
|
|
mkdir -p /boot/efi/EFI/BOOT
|
|
mkdir -p /boot/efi/EFI/$OS
|
|
if [ $ARCH = "aarch64" ]; then
|
|
cp -L /usr/share/efi/aarch64/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
|
|
cp -L /usr/share/efi/aarch64/grub.efi /boot/efi/EFI/BOOT/grub.efi
|
|
cp /usr/share/grub2/arm64-efi/grub.efi /boot/efi/EFI/$OS/grubaa64.efi
|
|
else
|
|
cp -L /usr/lib64/efi/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
|
|
#cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/$GRUBEFI
|
|
cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/grub.efi
|
|
fi
|
|
|
|
mmd -i $DEST EFI
|
|
mmd -i $DEST EFI/BOOT
|
|
mcopy -i $DEST -v /boot/efi/EFI/BOOT/$BOOTEFI ::EFI/BOOT
|
|
if [ $ARCH = "aarch64" ]; then
|
|
mcopy -i $DEST -v /boot/efi/EFI/BOOT/grub.efi ::EFI/BOOT
|
|
mcopy -i $DEST -v /boot/efi/EFI/$OS/$GRUBEFI ::EFI/BOOT
|
|
else
|
|
mcopy -i $DEST -v /boot/efi/EFI/$OS/grub.efi ::EFI/BOOT
|
|
fi
|
|
mdir -i $DEST ::EFI/BOOT;
|
|
|