You are not logged in.
I am running into a little snag with my boot setup. Part of my security strategy is to boot from my SD card, which is usually located at /dev/sdb. Sometimes it's located at /dev/sdc though (due to some kind of inconsistency in the order that devices are mounted during the boot process, I assume).
I understand that the solution for this is generally to reference it by ID. So that's what I have tried.
I've run the following drive format commands to initialize & mount my boot partition on the SD card:
parted /dev/disk/by-id/usb-APPLE_SD_Card_Reader_000000000820-0:0 --script mklabel gpt
parted /dev/disk/by-id/usb-APPLE_SD_Card_Reader_000000000820-0:0 --script mkpart ESP fat32 1MiB 513MiB
parted /dev/disk/by-id/usb-APPLE_SD_Card_Reader_000000000820-0:0 --script set 1 boot on
mkfs.fat -F32 /dev/dev/by-id/usb-APPLE_SD_Card_Reader_000000000820-0:0-part1
mount /dev/disk/by-id/usb-APPLE_SD_Card_Reader_000000000820-0:0-part1 /mnt/boot
That succeeds with no problem.
However, to finalize my install, I run:
efibootmgr -d /dev/disk/by-id/usb-APPLE_SD_Card_Reader_000000000820-0:0 -p part-1 -c -L "Arch Linux" -l /vmlinuz-linux -u "i915.preliminary_hw_support=1 root=/dev/${DISK}6 rw initrd=/intel-ucode.img initrd=/initramfs-linux.img"
That succeeds, and running
efibootmgr
confirms the entry was added. However upon boot, the system can not find any boot partition. There it no visible error, just a blank screen.
I have a feeling that grub could handle this a lot better than just bare efibootmgr, but I really want to keep my boot process as simple as possible as I don't dual boot.
Last edited by keenster (2016-08-10 13:44:24)
Offline
I'm surprised your efibootmgr command succeeded - “-p” takes a number not a string (though it does default to 1 anyway).
Note UEFI neither understands nor cares about “/dev/...”. Efibootmgr just maps the -d/-p to the PARTUUID which you'll see if you use efibootmgr -v to view the entries. However by using “by-id” you ensured the right device was used. You can verify that by using blkid to check the right PARTUUID has been added.
Similarly use “root=PARTUUID=puuid” (where puuid is the PARTUUID of your root partition as shown by blkid) rather than /dev/sdXN
Offline
This makes total sense. Thank you!
Offline