You are not logged in.
Pages: 1
I am new here and to Arch. Trying to install a full system to a USB stick (/dev/sdc). I am following the installation guide and all is good until I get to the bootloader section. I am going to use grub, regardless of how often I struggle with it and USB sticks.
Following instructions I mounted root (/dev/sdc2) on /mnt. Then mounted EFI system (/dev/sdc1) at /mnt/boot with the --mkdir option
I did not forget to arch-chroot, which should make the <esp> directory /boot. (I think)
On this page -> wiki.archlinux.org/title/EFI_system_partition, in section 1, it says
"To confirm this is the ESP, mount it and check whether it contains a directory named EFI, if it does this is definitely the ESP."
Already mounted early in the install process, and no directory EFI exists.
And on this page -> wiki.archlinux.org/title/GRUB, in section 2.1, it says to mount the EFI system partition. (done).
Then, "GRUB directory will be created at /boot/EFI/". (which does not exist)
I issued this command "grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB"
The first time I tried to install, the end result was no /boot/EFI directory, and the only option in the boot menu was EFI system setup. Therefore, I started again.
When is the /boot/EFI directory supposed to be created, and by what process? Is it required to exist?
I must be missing something. Did not read, skimmed over, possibly ignored a detail. This is way harder than installing Tails on a stick, that's for sure.
Please save me.
Offline
grub-install makes it itself. What did grub-install say when you ran it?
Offline
I did not notice any errors, but also did not record what it said. In order to answer you, I decided to continue from where I stopped. This time I added the option --removable
grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB --removable
Installing for x86_64-efi platform.
Installation finished. No errors reported.
Then I did
grub-mkconfig -o /boot/grub/grub.cfg
And it WORKED!!!
I have booted arch linux and am sitting at a console.
Since I was making a USB installation, was the --removable option required? If so, the wiki should mention it.
Would this problem be considered solved?
Last edited by notbob1 (2024-02-14 19:17:10)
Offline
"--removable" is not "required" - as long as you use the thumbdrive only on the system the grub-install was done.
What happens:
On a regular grub-install in uefi grub installs itself in <esp>/EFI/<bootloader-id>/grubx64.efi and adds an entry to the uefi boot list pointing to it. This is fine on a fixed disk.
When adding the --removable flag grub uses the "fallback" path <esp>/EFI/boot/bootx64.efi - which gets check by uefi for every drive so it gets auto-added on POST.
Why is --removable important for thumbdrives: Well, when you create the stick on one system and try to use it on another - the uefi of the 2nd system doesn't know anything about the grub install - so the thumbdrive just looks like any other with a FAT32 partition.
If, however, the esp is correctly set the its uefi esp type AND contains a valid efi file at /EFI/boot/bootx64.efi it's considered a valid boot drive and is added (temporarily) to the bios boot drive list.
TLDR: If you want a "mobile" setup - then: yes, removable is required on a thumbdrive - hence its name.
Offline
Pages: 1