[ad_1]
Question: How can I manually boot Linux on EFI systems with Grub?
Where I’m stuck:
I’m trying to install a custom kernel, root file system, and grub on an x64 computer. The USB stick has an equivalent installation script and boots, but when I attempt to install the eMMC on the x64 device it displays “Boot option restore”. This is a reboot loop and I suspect Grub has something to do with it.
The images (not mine):
The (simplified) code:
# Create GPT, partition 1, type BIOS boot, bootable flag
(echo -e "g\nn\n1\n\n+128M\nt\n4\nM\na\nM\nw\n") | fdisk /dev/mmcblk0
sleep 1
mkfs.vfat -N BOOT /dev/mmcblk0p1
# Create partition 2
(echo -e "n\n2\n\n\nY\nw\n") | fdisk /dev/mmcblk0
sleep 1
mkfs.ext4 -F -L ROOTFS /dev/mmcblk0p2
dd if=rootfs of=/dev/mmcblk0p2 conv=fsync
mount /dev/mmcblk0p2 /mnt
mount /dev/mmcblk0p1 /mnt/boot/efi
cp vmlinuz-custom /mnt/boot
chroot /mnt <<-EOF
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devtmpfs none /dev
update-initramfs -c -k custom
grub-install --target=x86_64-efi --removable --recheck \
--root-directory=/ \
--efi-directory=/boot/efi \
--boot-directory=/boot/efi/EFI \
--bootloader-id=grub /dev/mmcblk0;
mkdir /boot/grub
update-grub
umount /proc /sys /dev
EOF
Already checked:
- UUIDs seem to be correct in Grub
- Installation script USB and EMMC are not the same but equivalent.
- Reset BIOS options to default settings
[ad_2]