Add support for proper 32 bit grub
Unified · Split
| @@ -28,7 +28,7 @@ · 27 unmodified lines | ||
| 28 | 28 | #- |
| 29 | 29 | trap "error_out $LINENO $?" INT TERM 0 |
| 30 | 30 | |
| 31 | −readonly REQUIRED_PKGS="base-files libgcc dash coreutils sed tar gawk syslinux grub-x86_64-efi squashfs-tools xorriso" | |
| 31 | +readonly REQUIRED_PKGS="base-files libgcc dash coreutils sed tar gawk syslinux grub-i386-efi grub-x86_64-efi squashfs-tools xorriso" | |
| 32 | 32 | readonly INITRAMFS_PKGS="binutils xz device-mapper" |
| 33 | 33 | readonly PROGNAME=$(basename $0) |
| 34 | 34 | |
| @@ -208,18 +208,33 @@ generate_grub_efi_boot() { · 173 unmodified lines | ||
| 208 | 208 | mount -o rw,flush -t vfat "${LOOP_DEVICE}" "${GRUB_EFI_TMPDIR}" >/dev/null 2>&1 |
| 209 | 209 | |
| 210 | 210 | cp -a $IMAGEDIR/boot $VOIDHOSTDIR |
| 211 | − xbps-uchroot $VOIDHOSTDIR grub-mkstandalone -- \ | |
| 212 | − --directory="/usr/lib/grub/x86_64-efi" \ | |
| 213 | − --format="x86_64-efi" \ | |
| 214 | − --compression="xz" --output="/tmp/bootx64.efi" \ | |
| 215 | − "boot/grub/grub.cfg" | |
| 216 | − if [ $? -ne 0 ]; then | |
| 217 | − umount "$GRUB_EFI_TMPDIR" | |
| 218 | − losetup --detach "${LOOP_DEVICE}" | |
| 219 | − die "Failed to generate EFI loader" | |
| 211 | + if [ $BASE_ARCH = "i686" ]; then | |
| 212 | + xbps-uchroot $VOIDHOSTDIR grub-mkstandalone -- \ | |
| 213 | + --directory="/usr/lib/grub/i386-efi" \ | |
| 214 | + --format="i386-efi" \ | |
| 215 | + --compression="xz" --output="/tmp/bootia32.efi" \ | |
| 216 | + "boot/grub/grub.cfg" | |
| 217 | + if [ $? -ne 0 ]; then | |
| 218 | + umount "$GRUB_EFI_TMPDIR" | |
| 219 | + losetup --detach "${LOOP_DEVICE}" | |
| 220 | + die "Failed to generate EFI loader" | |
| 221 | + fi | |
| 222 | + mkdir -p ${GRUB_EFI_TMPDIR}/EFI/BOOT | |
| 223 | + cp -f $VOIDHOSTDIR/tmp/bootia32.efi ${GRUB_EFI_TMPDIR}/EFI/BOOT/BOOTIA32.EFI | |
| 224 | + else | |
| 225 | + xbps-uchroot $VOIDHOSTDIR grub-mkstandalone -- \ | |
| 226 | + --directory="/usr/lib/grub/x86_64-efi" \ | |
| 227 | + --format="x86_64-efi" \ | |
| 228 | + --compression="xz" --output="/tmp/bootx64.efi" \ | |
| 229 | + "boot/grub/grub.cfg" | |
| 230 | + if [ $? -ne 0 ]; then | |
| 231 | + umount "$GRUB_EFI_TMPDIR" | |
| 232 | + losetup --detach "${LOOP_DEVICE}" | |
| 233 | + die "Failed to generate EFI loader" | |
| 234 | + fi | |
| 235 | + mkdir -p ${GRUB_EFI_TMPDIR}/EFI/BOOT | |
| 236 | + cp -f $VOIDHOSTDIR/tmp/bootx64.efi ${GRUB_EFI_TMPDIR}/EFI/BOOT/BOOTX64.EFI | |
| 220 | 237 | fi |
| 221 | − mkdir -p ${GRUB_EFI_TMPDIR}/EFI/BOOT | |
| 222 | − cp -f $VOIDHOSTDIR/tmp/bootx64.efi ${GRUB_EFI_TMPDIR}/EFI/BOOT/BOOTX64.EFI | |
| 223 | 238 | umount "$GRUB_EFI_TMPDIR" |
| 224 | 239 | losetup --detach "${LOOP_DEVICE}" |
| 225 | 240 | rm -rf $GRUB_EFI_TMPDIR |