device mapper: reload ioctl on luks-.... failed: No such file or directory
Invalid keyfile. Reverting to passphrase
A password is required to access the luks-.... (254:0) volume:
Enter passphrase for /dev/sda2:
This message pops up on startup. I performed the system update via "update" command on my KDE. Upon giving the right password, the propmt again asks for it.
System restored to previous snapshot before performing the update.
I think it's the "mkinitcpio-openswap 0.1.0-3.1" package that might have caused the error.
Previously, mkinitcpio caused problems.
Output of the current one ::
# 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=(usbhid xhci_hcd)
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=(/root/cryptlvm.keyfile)
# 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 modconf block filesystems fsck)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev modconf block filesystems fsck)
#
## This setup assembles a mdadm array with an encrypted root file system.
## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev filesystems fsck)
#
## This setup loads an lvm2 volume group.
# HOOKS=(base udev modconf block lvm2 filesystems fsck)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr and fsck hooks.
HOOKS=(base udev autodetect modconf keyboard keymap consolefont block encrypt filesystems fsck)
# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
# MODULES_DECOMPRESS
# Decompress kernel modules during initramfs creation.
# Enable to speedup boot process, disable to save RAM
# during early userspace. Switch (yes/no).
#MODULES_DECOMPRESS="yes"
Wait, if I am not mistaken in my reading, there is a definitely abnormal number of foreign/AUR packages and also of orphaned packages.
I'm unsure on what to do. I'd say to check your pacman.conf (maybe you've lost the chaotic-aur?) and update also AUR packages, with
To use mkinitcpio-openswap, you need to add the hook openswap in the HOOKS array in /etc/mkinitcpio.conf, before filesystem but after encrypt. Judging by this page, there should have been some terminal output after the installation to remind you to set this up:
post_install() {
echo ""
echo "Alter /etc/openswap.conf file for your swap device name, keyfiles, etc..."
echo ""
echo "For more information see: https://wiki.archlinux.org/index.php/Dm-crypt/Swap_encryption#mkinitcpio_hook"
echo ""
echo "Don't forget to add the openswap hook after encrypt and before resume in your /etc/mkinitcpio.conf and run mkinitcpio -p linux..."
echo ""
}
Don’t forget to edit /etc/openswap.conf to add your swap device and keyfile details.
You also have a resume= kernel parameter set up, but no resume mkinitcpio hook. The resume hook should be placed after encrypt and openswap.
You are also missing the grub-btrfs-overlayfs hook. Did you overwrite /etc/mkinitcpio.conf with a .pacnew file? The grub-btrfs-overlayfs hook should be the last hook. It is needed for booting snapshots using overlayfs.
The same thing happened to me about 10 days ago, I lost the chaotic-aur repository and had some other issues concerning updates including a large number of 'Foreign/AUR package notifications'.
I think the error stems from a previous update where I had a .pacnew file for pacman. Instead of merge I must have chosen to over-write. This cocked things right up.
I fixed it by manually editing the pacman.conf file.
All good now.
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
VerbosePkgLists
ILoveCandy
ParallelDownloads = 5
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
[garuda]
Include = /etc/pacman.d/chaotic-mirrorlist
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
[chaotic-aur]
Include = /etc/pacman.d/chaotic-mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
Also, take a look at the output of garuda-update -a ::
Total Installed Size: 6009.64 MiB
Net Upgrade Size: -110.47 MiB
:: Proceed with installation? [Y/n] y
(189/189) checking keys in keyring [-------------------------------------------------------------] 100%
(189/189) checking package integrity [-------------------------------------------------------------] 100%
(189/189) loading package files [-------------------------------------------------------------] 100%
(189/189) checking for file conflicts [-------------------------------------------------------------] 100%
error: failed to commit transaction (conflicting files)
ttf-google-fonts-git: /usr/share/fonts/carlito/Carlito-Bold.ttf exists in filesystem (owned by ttf-carlito)
ttf-google-fonts-git: /usr/share/fonts/carlito/Carlito-BoldItalic.ttf exists in filesystem (owned by ttf-carlito)
ttf-google-fonts-git: /usr/share/fonts/carlito/Carlito-Italic.ttf exists in filesystem (owned by ttf-carlito)
ttf-google-fonts-git: /usr/share/fonts/carlito/Carlito-Regular.ttf exists in filesystem (owned by ttf-carlito)
Errors occurred, no packages were upgraded.
The pacman.conf is OK now.
The conflicting files error is known, but unfortunately in my opinion out of our reach.
It has already been notified at least a couple of times recently. Here you can see my point of view: in a few words, ttf-google-fonts-git and ttf-carlito should "conflict" (so the system should allow installing only one of them), but they don't.
The latter, is a more "official" package, in the Arch repo, up-to-date, and required by LibreOffice.
The former is in the AUR repo, not maintained since a long time, but unfortunately required by several packages.
I really wouldn't know how to resolve this issue. Ideally I would say to remove ttf-google-fonts-git, however, if you have it, it means that most likely it is required by another package... So you should decide if this other package is important to you and possibly remove it.
I need to edit here in the openswap config :: (I guess it's the default one after the update)
## cryptsetup open $swap_device $crypt_swap_name
## get uuid using e.g. lsblk -f
swap_device=/dev/disk/by-uuid/34422e50-32a4-48db-a409-c6bff6a3fc0a
crypt_swap_name=luks-34422e50-32a4-48db-a409-c6bff6a3fc0a
## one can optionally provide a keyfile device and path on this device
## to the keyfile
keyfile_device=/dev/mapper/luks-e4a2f96d-2166-4f67-993e-aebe5f59fe0c
keyfile_filename=crypto_keyfile.bin
## additional arguments are given to mount for keyfile_device
## has to start with --options (if so desired)
keyfile_device_mount_options=--options=subvol=@
## additional arguments are given to cryptsetup
## --allow-discards options is desired in case swap is on SSD partition
cryptsetup_options="--type luks"
For the carlito problem:
I think, considering "they're just fonts", installing both with --overwrite will likely work.
Or, cleaner, fixing the ttf-google-fonts-git PKGBUILD and installing that.
Pacman does not care where a package came from after all.
Some problem would likely appear again if and when one of those two are updated (hopefully fixing the problem upstream), then rinse and repeat if necessary.
I see the PKGBUILD depends on several ttf-* other packages, my opinion is that it should depend on ttf-carlito too instead of installing the font files itself. It also has an omitted_font_families list, with comment "These are the font families that already exist in the [extra] and [community] repos."