- Joined
- May 15, 2006
I'm doing some upgrades on my laptop and decided I'd take another attempt at getting UEFI, GPT, and encryption running with Arch Linux. I've tried this in the past and even their own forums were completely useless. No one has been able to help and I can't find information online, so I'm hoping you awesome folks can help out.
I just did a clean install on a new solid state drive with no other disks in the system. I'm using a freshly downloaded ISO burned to a CD, as I've had issues with flash drive installs in the past. They seem to have fixed the UEFI portion of the live disk, as I can now see EFI variables in my operating system, which makes this a lot easier. But, I'm still having the same problem. Even after a full install and following their (messy, horrendously bad, and nearly impossible to follow) wiki for dm-crypt, lvm, and GRUB2, I'm in the exact same spot I was last time.
The drive is formatted as such:
grub.conf:
GRUB is getting "stuck" immediately after the "initrd /initramfs-linux.img" command. There is a blip of hard drive activity, then nothing until I restart or shut down. No error messages, nothing. Not even if I run it from the GRUB command line. I can find very little information about this problem online and few others have the same situation as me. And the ones that did posted in my original thread on the Arch forums, which never got a resolution, and is now locked.
I've tried installing GRUB with explicitly defined modules (fat, efi_gop, efi_uga), screwing around with mkinitcpio, and a host of other things I probably can't remember.
I could always fall back to MBR/non-UEFI, but I'd rather use something created this millennium and this problem has frustrated me for quite some time, so I'd rather just get this working. The only idea I have left at this point is to separate the EFI and /boot partitions. My only reasoning is that GRUB is having a problem booting/loading off of a vfat partition.
Any help is appreciated. I can get more configuration files if required.
I just did a clean install on a new solid state drive with no other disks in the system. I'm using a freshly downloaded ISO burned to a CD, as I've had issues with flash drive installs in the past. They seem to have fixed the UEFI portion of the live disk, as I can now see EFI variables in my operating system, which makes this a lot easier. But, I'm still having the same problem. Even after a full install and following their (messy, horrendously bad, and nearly impossible to follow) wiki for dm-crypt, lvm, and GRUB2, I'm in the exact same spot I was last time.
The drive is formatted as such:
Code:
/dev/sda
sda1 - EFI (/boot as VFAT)
sda2 - luks open as "lisp" - LVM pv
LispMain - LVM vg
root - LVM lv (/ as EXT4)
swap - LVM lv (swap)
Root FS:
/dev/mapper/LispMain-root
Code:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
insmod efi_gop
insmod efi_uga
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if loadfont unicode ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_input console
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch GNU/Linux, with Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-349c822c-b87e-4626-a855-0bc16f3c8ff0' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 4192-2100
else
search --no-floppy --fs-uuid --set=root 4192-2100
fi
echo 'Loading Linux core repo kernel ...'
linux /vmlinuz-linux root=/dev/mapper/LispMain-root ro cryptdevice=f6b5ee33-f0a0-4ae5-b12e-7a5b93f8b39d:lisp
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
menuentry 'Arch GNU/Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-349c822c-b87e-4626-a855-0bc16f3c8ff0' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 4192-2100
else
search --no-floppy --fs-uuid --set=root 4192-2100
fi
echo 'Loading Linux core repo kernel ...'
linux /vmlinuz-linux root=/dev/mapper/LispMain-root ro cryptdevice=f6b5ee33-f0a0-4ae5-b12e-7a5b93f8b39d:lisp
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux-fallback.img
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
I've tried installing GRUB with explicitly defined modules (fat, efi_gop, efi_uga), screwing around with mkinitcpio, and a host of other things I probably can't remember.
I could always fall back to MBR/non-UEFI, but I'd rather use something created this millennium and this problem has frustrated me for quite some time, so I'd rather just get this working. The only idea I have left at this point is to separate the EFI and /boot partitions. My only reasoning is that GRUB is having a problem booting/loading off of a vfat partition.
Any help is appreciated. I can get more configuration files if required.