Well, problem solved, but mystery unresolved. Wonder what was going wrong when I tried to do it manually...
]]>You need to highlight the entry "Arch Linux archiso x86_64 UEFI USB", press "e", and then edit the cmdline at the bottom.
Gotcha, sorry for being oblivious. Never used gummiboot as a bootloader. In any case, after appending "efi_no_storage_paranoia" to the command there, the same problem is persisting.
Going to give archboot a try now. Will come back with results.
]]>the.ridikulus.rat wrote:@Chaosed0: When you boot the USB and the gummiboot menu shows up, edit the kernel menu entry by adding the parameter "efi_no_storage_paranoia" (its efi_* not efo_*) and then try efibootmgr.
If you want to try Archboot, see https://bbs.archlinux.org/viewtopic.php?id=170238 for the download link.
Hmm, I don't think I get a gummiboot menu. The first menu I get looks like this:
Arch Linux archiso x86_64 UEFI USB UEFI Shell x86_64 v1 UEFI Shell x86_64 v2 EFI Default Loader Reboot Into Firmware Interface
The first entry takes me to Arch on the USB. The two Shell options display "Error loading \EFI\shellx64_v1.efi: Unsupported" (or "shellx64_v2", if I select the v2 one). "EFI Default Loader" seems to do nothing at all; it just goes back into the same menu. The last option restarts the computer and takes me to the laptop bios.
If nothing else helps, I'll give Archboot a try. I'd like to try the "efi_no_storage_paranoia" option first, though, because I do recall seeing it as a potential solution somewhere; I just couldn't figure out where to put it.
You need to highlight the entry "Arch Linux archiso x86_64 UEFI USB", press "e", and then edit the cmdline at the bottom.
EDIT: That is the Gummiboot menu.
]]>@Chaosed0: When you boot the USB and the gummiboot menu shows up, edit the kernel menu entry by adding the parameter "efi_no_storage_paranoia" (its efi_* not efo_*) and then try efibootmgr.
If you want to try Archboot, see https://bbs.archlinux.org/viewtopic.php?id=170238 for the download link.
Hmm, I don't think I get a gummiboot menu. The first menu I get looks like this:
Arch Linux archiso x86_64 UEFI USB
UEFI Shell x86_64 v1
UEFI Shell x86_64 v2
EFI Default Loader
Reboot Into Firmware Interface
The first entry takes me to Arch on the USB after a bunch of stuff goes across the screen; what looks like a bunch of initialization. Afterwards, it brings me to the root shell.
The two Shell options display "Error loading \EFI\shellx64_v1.efi: Unsupported" (or "shellx64_v2", if I select the v2 one). "EFI Default Loader" seems to do nothing at all; it just goes back into the same menu. The last option restarts the computer and takes me to the laptop bios.
If nothing else helps, I'll give Archboot a try. I'd like to try the "efi_no_storage_paranoia" option first, though, because I do recall seeing it as a potential solution somewhere; I just couldn't figure out where to put it.
]]>If you want to try Archboot, see https://bbs.archlinux.org/viewtopic.php?id=170238 for the download link.
]]>@Chaosed0: Can you boot the iso kernel with "efi_no_storage_paranoia" parameter and try efibootmgr again?
EDIT: Also post the output of "gdisk -l /dev/sda" and "fdisk -l /dev/sda" commands.
Sorry, how would I go about booting the kernel with that parameter? I tried looking it up, and it told me to add "efo_no_storage_paranoia" to the file "/etc/default/grub" in the USB drive; I guess it's either readonly or the storage isn't persistent, and it reset the next time I rebooted. No GRUB menu shows up either, so I can't change it from there.
Here's the output of the commands:
# gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.7
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 242187500 sectors, 115.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 6BA42EEC-77D1-477E-9485-67ECFFD9D3B4
Partition table holds up to 128 entries
First usable sector is 2048, last usable sector is 242187466
Partitions will be aligned on 2048-sector boundaries
Total free space is 821 sectors (410.5 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 31459327 15.0 GiB 8300
2 31459328 241138890 100.0 GiB 8300
3 241139712 242187466 511.6 MiB EF00
# fdisk -l /dev/sda
Disk /dev/sda: 124.0 GB, 124000000000 bytes, 242187500 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
# Start End Size Type Name
1 2048 31459327 15G Linux filesyste
2 31459328 241138890 100G Linux filesyste
3 241139712 242187466 511.6M EFI System
EDIT: Also post the output of "gdisk -l /dev/sda" and "fdisk -l /dev/sda" commands.
]]>I think this is one of the brain-dead issues with some firmwares which expect /EFI/Microsoft/Boot/bootmgfw.efi to be present. Just copy a version of uefi shell to /EFI/Microsoft/Boot/bootmgfw.efi and then reboot into the system and recreate the entry using efibootmgr. For "Launch EFI shell from filesystem device", the shell application needs to be present at <EFISYS>/shellx64.efi (in the root of the efisys partition itself).
I copied "/EFI/grub/grubx64.efi" to "/EFI/Microsoft/Boot/bootmgfw.efi" and created an entry using the same efibootmgr command as two posts above; still no luck. The entry still gets deleted on a reboot, the disk doesn't show up in the devices, etc. I also copied grubx64.efi to /shellx64.efi, but the bios still refuses to recognize it's there.
Here's some output of efibootmgr. This is what it looks like before adding any entries:
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0002
Boot0001* UEFI: WD My Passport 070A2003
Boot0002* Hard Drive
Here's after adding the entry:
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0000,0001,0002
Boot0000* grub
Boot0001* UEFI: WD My Passport 070A2003
Boot0002* Hard Drive
After rebooting, it goes back to exactly like it was before adding any entries.
Here's my fstab, if it helps at all:
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda1
UUID=556e2aff-a493-4ca9-a62e-175a890b0d03 / ext4 rw,relatime,data=ordered 0 1
# /dev/sda3
UUID=5B17-E429 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
# /dev/sda2
UUID=90dee4b7-caac-4d46-a9c6-4dae5bfc4cea /home ext4 rw,relatime,data=ordered 0 2
(Figured out how to set up ssh on my desktop, so feel free to ask for any more output or files.)
]]>Went through the entire install again, still doesn't work (device doesn't show up in the boot device menu). Two things I'm noticing here (when booted into the USB):
When chrooted into the new root partition, "efibootmgr" segfaults.
When run outside of the chroot, efibootmgr shows an entry for GRUB after installing GRUB; however, after a reboot, this entry disappears. The same thing happens if I try to add an entry manually using
# efibootmgr -c -d /dev/sda -p 3 -l /EFI/grub/grubx64.efi -L "grub"
Does that mean I'm losing the entry somehow? I took a look inside the BIOS, where there is reputedly a way to add EFI boot entries, and indeed there is, under "add boot device"; however, the only disk that's listed there is the USB disk. I can't add an entry for my HDD.
Next step is to try to get an EFI shell installed, I guess.
I think this is one of the brain-dead issues with some firmwares which expect /EFI/Microsoft/Boot/bootmgfw.efi to be present. Just copy a version of uefi shell to /EFI/Microsoft/Boot/bootmgfw.efi and then reboot into the system and recreate the entry using efibootmgr. For "Launch EFI shell from filesystem device", the shell application needs to be present at <EFISYS>/shellx64.efi (in the root of the efisys partition itself).
EDIT: 1.5 GB efisys part size is not an issue. You can even have 5 GB efisys part as long as the FS is FAT32.
]]>When chrooted into the new root partition, "efibootmgr" segfaults.
When run outside of the chroot, efibootmgr shows an entry for GRUB after installing GRUB; however, after a reboot, this entry disappears. The same thing happens if I try to add an entry manually using
# efibootmgr -c -d /dev/sda -p 3 -l /EFI/grub/grubx64.efi -L "grub"
Does that mean I'm losing the entry somehow? I took a look inside the BIOS, where there is reputedly a way to add EFI boot entries, and indeed there is, under "add boot device"; however, the only disk that's listed there is the USB disk. I can't add an entry for my HDD.
Next step is to try to get an EFI shell installed, I guess.
EDIT: Got an EFI shell from this link. Mounted /dev/sda3 and dropped the shell into its root as "shellx64.efi". Rebooted and went back to the BIOS screen; the "Launch EFI Shell from filesystem device" option is still giving me "Warning: Not Found". Any suggestions?
]]>I think I installed GRUB properly, anyway, but when I get into that menu nothing shows up but the Arch USB I made. If it's not plugged in, then nothing at all shows up. I installed GRUB with exactly the commands listed in the Beginner's Guide, though (with the exception of the change from /boot to /boot/efi). Well, I'm going to try it from scratch again, as I said, and I'll get back.
]]>If you installed GRUB properly for UEFI (it looks like you did) then it should appear in the EFI boot menu. On my girlfriend's UX31A, you bring that up by hammering escape while the computer boots. Try doing that. If that doesn't work, you can try installing an EFI shell (download from the internet, boot from USB, copy to ESP) and using that to manually start GRUB.
]]>I suspect this has something to do with the bios being UEFI. However, I followed the instructions here to modify GRUB and, when going to "Launch EFI shell from filesystem device", the screen flickers and then a popup is displayed saying "Warning: Not found". I've also tried installing gummiboot, but that didn't work either. In the BIOS, the main HD isn't displayed as one of the devices that I can boot from either.
I've read this post, and I tried again from scratch using the information, but nothing helped. I didn't try archboot, though, since I don't know where to find the ISO or how to make a USB out of it.
The steps I followed are thus (pretty much all of them follow the beginner's guide):
I created a USB from the latest Arch linux iso, using these intstructions from my desktop computer (Mint 15).
I booted into said drive, and was presented with five options. I chose the one too boot into Arch. I tested UEFI support using the method at the beginning of the Beginner's guide; this succeeded.
I connected to the internet using wifi-menu.
Using cgdisk, I erased all the existing partitions on the SSD. I then created three partitions on the drive; a 1.5G EFI System Partition (sda3) - I used the code "ef00" to make it an ESP; a 15G linux partition (sda1); and a 99G linux partition (sda2).
I formatted the partitions. I formatted sda1 and sda2 to ext4, and I formatted sda3 to FAT32.
I mounted sda1 to /mnt, sda2 to /mnt/home, and sda3 to /mnt/boot/efi (I changed "/boot" to "/boot/efi" here because of the link above; here it is again).
I ran pacstrap -i /mnt base, which completed successfully; then, I generated an fstab at /mnt/etc/fstab, which I left as default.
I chrooted into /mnt, uncommented the en_US.UTF8 locale, symlinked the America/New_York timezone, updated the hardware clock, set the hostname, and ran passwd.
I skipped setting up the initial ramdisk environment.
I setup GRUB using the commands under the UEFI section in the guide; I first exited out of the chroot to run the three commands it says to run out of chroot, and then went back into chroot and followed the rest of the steps. The only thing I changed there was to change "/boot" to "/boot/efi". GRUB installed successfully, without any errors.
I ran
grub-mkconfig -o /boot/grub/grub.cfg
.
Finally, I rebooted, went into the bios, and chose "Launch EFI shell from filesystem device", which gave me "Warning: Not found". The main HD isn't listed as something I can boot from, though it is recognized as a SATA device. I'm kind of stumped after this. I also tried updating the BIOS, to no avail.
I'm feeling a little out of my depth here; hopefully someone can help me get this running. You'll probably need more info to diagnose the issue, but I'm not really certain how I should post those files from my laptop using just the arch shell. Anyhow, hopefully someone can help. In the meantime, I'm going to try the install from scratch again, reading more carefully.
]]>