On 02/03/13 06:44, David Benfell wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi all,
So far, my attempt to install Arch Linux on a UEFI system is a total facepalm moment. The problem is in booting post-install.
So, first, does anyone have actual--and successful--experience installing Arch on a UEFI system? Yes, I went to the Arch Wiki, which initially pointed me at GummiBoot. There are actually two sets of instructions, one given where I looked first, for the UEFI entry, and another under the entry for GummiBoot. Neither succeeds, but I wound up following the latter set of instructions (and cleaning up extra entries with efibootmgr, which fortunately makes this relatively easy).
GummiBoot says it can't find /vmlinuz-linux. I tried modifying the configuration to say /boot/vmlinuz-linux, but no joy. Apparently, I'm really supposed to copy this file and the initrd image to the EFI partition, but nobody says where in the EFI partition, so I have no idea.
I also tried following the instructions for grub-efi. I'm just mystified. I managed to install the right package, but from there I just wasn't understanding a thing. I've been using linux since 1999 so this shouldn't be so completely mystifying.
I tried installing rEFInd (from sourceforge). As near as I can tell, it does indeed detect all the possible boot options on the system. But when I try booting the Arch installation, it says it can't find the root partition. It also detects the GummiBoot option, but that leads the same place as before. Finally, it detects the Windows option, which I hope still works (unfortunately I do need this).
I guess getting something that just works--like it did with BIOS systems--is not in the cards. What do I do now?
Thanks!
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJRMZ+5AAoJELJhbl/uPb4SAA4P/3xG4C5viqdgdZhtZ72hFC9v VLBWw9CguzTvqYMydO4TTqwpyObW0iPFMWRzlkMt7YjmC83qgQJDAI1P7KR4fpHE fHjyqS7IKFnLe4ckKnKJIQMGeEbwcsAaF0Loy/22dW+5U10IRy39NIlvUdWQJKtc O7vpch/lZ2DKFd7zmKgKLu2FLuZK0FvwN2cGH91cYP66rloqaXytXWLZ3IIvCtf5 mGJqwx4CjKWf3FefFANXYsPtb4rmfbE1xl/xeIT4OH0F+0H77EFhFTkBsDknYnHM pUg9B5pHmJ+xMiVSDIYYIXpgT/Spk9DWp4+PZN5N8GBE63J8kzWuUqTVV/XVyR1x 0aZCJAo0Ke+swBa6cGZ/WSWRqA4kP9nJBtJ00qX+PE3FFFd8vjYyP7Qz0cmIhfqV VHx3UXzI9Q8EkMzlENWD79M+WHLeUPQopsdfmWOOI1E7N+5seeFRmekmB+jY1NRJ uXNPCq5w0iIaWB4KuAmchbP3qtoGxU5oXJ5IPh3NQOIdbScN0+4l6HtOmnxMQ2H1 HyR/2nV0e5rvuhsuKBn2ZGyLOvYN6I9AjFBPI5VmY2Ansy750AOOBqXIPLlBouqb Oy0h26dfyn8RdlcoYm4QlXzra1p6ZBk5dJ9GxYhVsXxAaUnlrprXtk3HPQcIjpiS I4n74T8MiK5TxjSDJO60 =6UgK -----END PGP SIGNATURE-----
There is an article in "Linux Format" magazine issue March 2013 (no 168) about UEFI and it includes a worked example that uses Arch as a guest in VirtualBox. It uses GPT partitions and Grub as a boot loader and can boot either via BIOS or UEFI. If there's a chance you can get hold of that it may help you out. In case you can't here's a gist... 1. Boot system from the Arch November 2012 CD 2. Format disk with gdisk and create 4 partitions, for example (this was a 10Gb test disk): Number Start End Size Code Name 1 2048 411647 200.0 MiB EF00 EFI System 2 34 2047 1007.0 KiB EF02 BIOS boot partition 3 411648 821247 200.0 MiB 8300 Linux /boot filesystem 4 821248 20971486 200.0 MiB 8300 Linux /root filesystem # parted /dev/sda (parted) unit s (parted) mktable gpt (parted) mkpart primary 2048 411647 (parted) set 1 boot on (parted) name 1 "EFI System Partition" (parted) mkpart primary 34 2047 (parted) name 2 "BIOS Boot Partition" (parted) set 2 bios_grub on (parted) mkpart primary ext2 411648 821247 (parted) name 3 "Linux /boot filesystem" (parted) mkpart primary ext4 821248 20971486 (parted) name 4 "Linux /root filesystem" (parted) quit (the BIOS partition is there so you can also install a BIOS boot partition in case you want to move the disk to a non-UEFI system. You probably won't need it - it just sits in the wasted space between the end of the GPT partition table and the first aligned sector). 3. Make and mount filesystems # mkfs.vfat -F32 /dev/sda1 # mkfs.ext2 /dev/sda3 # mkfs.ext4 /dev/sda4 # mount /dev/sda4 /mnt # mkdir /mnt/boot # mount /dev/sda3 /mnt/boot # mkdir /mnt/boot/efi # mount /dev/sda1 /mnt/boot/efi 4. Install # pacstrap /mnt base # genfstab -p -U /mnt | sed 's/cp437/437/' >> /mnt/etc/fstab # arch-chroot /mnt pacman -S grub-efi-x86_64 # modprobe efivars # arch-chroot /mnt grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id= arch_grub --recheck # arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg # umount /mnt/boot/efi /mnt/boot /mnt 5. reboot 6. If you want to make it BIOS compatible too: # pacman -S grub-bios # grub-install --target=i386-pc --recheck /dev/sda Hope it helps. John.