You are not logged in.
Okay first forum post , i decided to give archlinux a try and this is where i ended up after two days of troubleshooting.
When i attempt to boot i get the following error:
error: disk `lvmid/heqmj21-...` not found.
One potential clue i found was that no matter if GRUB_ENABLE_CRYPTODISK is true or false the generated grub.cfg end up being the same(tho regenerated).
Looking at the generated grub.cfg there is no trace of mounting or decrypting the drive before it stars looking for logical volumes.
I added cryptodisk to GRUB_PRELOAD_MODULES should that happen automatically when GRUB_ENABLE_CRYPTODISK is true?
As nvme0n1p2 is a partition without headers, i had to go with PARTUUID that should work right?
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 549.2M 1 loop /run/archiso/sfs/airootfs
sdd 8:48 1 3.6G 0 disk
└─sdd1 8:49 1 3.6G 0 part /run/archiso/bootmnt
nvme0n1 259:0 0 232.9G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /mnt/boot
└─nvme0n1p2 259:2 0 231.9G 0 part
└─cryptlvm 254:0 0 231.9G 0 crypt
├─VolumeGroup-swap 254:1 0 10G 0 lvm
└─VolumeGroup-root 254:2 0 221.9G 0 lvm /mnt
My /boot and efi is on nvme0n1p1, my encrypted block(plain) is on nvme0n1p2.
The key is located on sdd1.
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(piix ide_disk reiserfs)
MODULES=()
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect keyboard keymap modconf block encrypt lvm2 filesystems fsck)
# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
mkinitcpio -p linux
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 5.7.12-arch1-1
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [encrypt]
-> Running build hook: [lvm2]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 5.7.12-arch1-1
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [encrypt]
-> Running build hook: [lvm2]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3" #quiet
GRUB_CMDLINE_LINUX="cryptdevice=PARTUUID=dbeda28d-e7cd-404b-b643-125bb7698183:cryptlvm keyfile=PARTUUID=0009bf2d-01:auto:/andariel crypto=:aes-xts-plain64:512:0:"
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos cryptodisk"
# Uncomment to enable booting from LUKS encrypted devices
GRUB_ENABLE_CRYPTODISK=true
# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT="true"
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --recheck /dev/nvme0n1
Installing for x86_64-efi platform.
Installation finished. No error reported.
grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
done
#
# 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 cryptodisk
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
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 [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod lvm
insmod ext2
set root='lvmid/heqmj2-iS7g-teAm-iyhx-dPU4-pPmm-uBWzPJ/INcz3s-paMb-pwwR-Jh1T-mPYU-1PJh-UeJKD4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/heqmj2-iS7g-teAm-iyhx-dPU4-pPmm-uBWzPJ/INcz3s-paMb-pwwR-Jh1T-mPYU-1PJh-UeJKD4' 78de3cbd-d5c9-40e6-8bef-37b7d1ea1003
else
search --no-floppy --fs-uuid --set=root 78de3cbd-d5c9-40e6-8bef-37b7d1ea1003
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; 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
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-78de3cbd-d5c9-40e6-8bef-37b7d1ea1003' {
load_video
set gfxpayload=keep
insmod gzio
insmod lvm
insmod ext2
set root='lvmid/heqmj2-iS7g-teAm-iyhx-dPU4-pPmm-uBWzPJ/INcz3s-paMb-pwwR-Jh1T-mPYU-1PJh-UeJKD4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/heqmj2-iS7g-teAm-iyhx-dPU4-pPmm-uBWzPJ/INcz3s-paMb-pwwR-Jh1T-mPYU-1PJh-UeJKD4' 78de3cbd-d5c9-40e6-8bef-37b7d1ea1003
else
search --no-floppy --fs-uuid --set=root 78de3cbd-d5c9-40e6-8bef-37b7d1ea1003
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=/dev/mapper/VolumeGroup-root rw cryptdevice=PARTUUID=dbeda28d-e7cd-404b-b643-125bb7698183:cryptlvm keyfile=PARTUUID=0009bf2d-01:auto:/andariel crypto=:aes-xts-plain64:512:0: loglevel=3
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-78de3cbd-d5c9-40e6-8bef-37b7d1ea1003' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-78de3cbd-d5c9-40e6-8bef-37b7d1ea1003' {
load_video
set gfxpayload=keep
insmod gzio
insmod lvm
insmod ext2
set root='lvmid/heqmj2-iS7g-teAm-iyhx-dPU4-pPmm-uBWzPJ/INcz3s-paMb-pwwR-Jh1T-mPYU-1PJh-UeJKD4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/heqmj2-iS7g-teAm-iyhx-dPU4-pPmm-uBWzPJ/INcz3s-paMb-pwwR-Jh1T-mPYU-1PJh-UeJKD4' 78de3cbd-d5c9-40e6-8bef-37b7d1ea1003
else
search --no-floppy --fs-uuid --set=root 78de3cbd-d5c9-40e6-8bef-37b7d1ea1003
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=/dev/mapper/VolumeGroup-root rw cryptdevice=PARTUUID=dbeda28d-e7cd-404b-b643-125bb7698183:cryptlvm keyfile=PARTUUID=0009bf2d-01:auto:/andariel crypto=:aes-xts-plain64:512:0: loglevel=3
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-78de3cbd-d5c9-40e6-8bef-37b7d1ea1003' {
load_video
set gfxpayload=keep
insmod gzio
insmod lvm
insmod ext2
set root='lvmid/heqmj2-iS7g-teAm-iyhx-dPU4-pPmm-uBWzPJ/INcz3s-paMb-pwwR-Jh1T-mPYU-1PJh-UeJKD4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/heqmj2-iS7g-teAm-iyhx-dPU4-pPmm-uBWzPJ/INcz3s-paMb-pwwR-Jh1T-mPYU-1PJh-UeJKD4' 78de3cbd-d5c9-40e6-8bef-37b7d1ea1003
else
search --no-floppy --fs-uuid --set=root 78de3cbd-d5c9-40e6-8bef-37b7d1ea1003
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=/dev/mapper/VolumeGroup-root rw cryptdevice=PARTUUID=dbeda28d-e7cd-404b-b643-125bb7698183:cryptlvm keyfile=PARTUUID=0009bf2d-01:auto:/andariel crypto=:aes-xts-plain64:512:0: loglevel=3
echo 'Loading initial ramdisk ...'
initrd /boot/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/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 ###
cat fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/VolumeGroup-root
UUID=78de3cbd-d5c9-40e6-8bef-37b7d1ea1003 / ext4 rw,relatime 0 1
# /dev/mapper/VolumeGroup-swap
UUID=857efa66-ae24-4fdf-9d39-3cc90efdabc1 none swap defaults 0 0
Offline