You are not logged in.
Hi all,
I've seen this asked several times, but the answers I found online seem to differ one another, so I wanted to make sure I'm doing everything correctly. I apologize if this is duplicated or I simply din't see it around.
Basically, after some upgrades (sudo pacman -Syu), I see the lines
( 8/14) Updating linux initcpios...
call to execv failed (No such file or directory)
error: command failed to execute correctlyAnd indeed, if I run mkinitcpio, I get:
[alessandro@commodoroII ~]$ sudo mkinitcpio -p linux
/usr/bin/mkinitcpio: line 390: /etc/mkinitcpio.d/linux.preset: No such file or directory
==> ERROR: Failed to load preset: `/etc/mkinitcpio.d/linux.preset'I have done a basic investigation about what's wrong in the system. Could you please confirm me if the following are true?
I see that '/etc/mkinitcpio.d/' is empty. IIUC, it shouldn't. It should contain this file
After that, issuing 'mkinitcpio -P' should generate the correct initrd
Moreover, a couple of things are not clear to me:
If I wanted to do the generation manually, is there a specific directory and naming convention where to put the intrd? IIUC, as long as it's in '/boot' and it has a '.img' suffix, is all well?
I currently have installed both 'linux' and 'linux-lts'. Is the single 'linux.preset' specified above good for both? Does mkinitcpio process both automatically? Does Arch need one initrd for ech kernel or a single one supports both?
Currently, I see in my '/boot' only 'intel-ucode.img', as I have 'intel-ucode' installed. Moreover, I see in the wiki that this should be the default initrd to be loaded, and in fact I have it properly configured in '/boot/grub/grub.cfg'. I don't understand: is this the effectively initrd that gets loaded during boot? If yes, then do I need the one generated with mkinitcpio?
My /boot directory doesn't contain any other '.img' files. Why can I boot? Because the intel-ucode replace them?
Thanks!
Last edited by bertulli (2022-11-02 13:06:08)
We are still learning
- wise people
Offline
Reinstall the linux package explicitly. Each kernel should have their own preset file.
Basically and for most normal purposes yes
One for each kernel, the initrd needs to match the kernel it intends to boot
All initrds being passed to the cmdline are being loaded, you will load two initrds in this case, the one for intel_ucode AND the one for the kernel, You need BOTH.
This sounds like you are confusing your mounting setup/you didn't mount the /boot during initial installation but are doing so now and hence masking the /boot where you have other initrds
This last point is the most concerning one here, what's your situation? Post
mount
cat /etc/fstab
cat /boot/grub/grub.cfg
tree /boot
umount /boot
tree /bootOffline
I'd also make sure mkinitcpio is okay before reinstalling kernel packages.
( 8/14) Updating linux initcpios... call to execv failed (No such file or directory) error: command failed to execute correctly
From the context (not provided here) you should see that this is a pacman hook. You can start by identifying the hook. Enabling debug/verbose pacman output probably helps, or look up the hook dir and grep:
$ grep -r 'Updating linux initcpios' /usr/share/libalpm/hooks
/usr/share/libalpm/hooks/90-mkinitcpio-install.hook:Description = Updating linux initcpios...The Exec line in that hook refers to a script and that script is responsible for creating .preset files for installed kernels. Because you have en exec(v) error and mkinitcpio says the .preset file is missing, that script could (somehow?) be missing from your system. You can also check
pacman -Qk mkinitcpioand then maybe reinstall the package to get the script back.
Offline
Thanks!
To V1del:
[alessandro@commodoroII ~]$ mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=6066860k,nr_inodes=1516715,mode=755,inode64)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/sdb2 on / type ext4 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=10780)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=6077628k,nr_inodes=1048576,inode64)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
/dev/sdb3 on /home type ext4 (rw,relatime)
/dev/sdb1 on /efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1215524k,nr_inodes=303881,mode=700,uid=1000,gid=1000,inode64)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
[alessandro@commodoroII ~]$ cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sdb2
UUID=0b0b0df4-3f14-49a8-8a97-09a103ca8cb1 / ext4 rw,relatime 0 1
# /dev/sdb1
UUID=CB78-A492 /efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2
# /dev/sdb3
UUID=f40889d2-6c5c-4a56-b19e-53495fcfc8f6 /home ext4 rw,relatime 0 2
# /swapfile (swap)
#/swapfile none swap defaults 0 0
[alessandro@commodoroII ~]$ cat /boot/grub/grub.cfg
#
# 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
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 part_gpt
insmod ext2
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
else
search --no-floppy --fs-uuid --set=root 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
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_GB
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-0b0b0df4-3f14-49a8-8a97-09a103ca8cb1' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
else
search --no-floppy --fs-uuid --set=root 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
fi
echo 'Loading Linux linux-lts ...'
linux /boot/vmlinuz-linux-lts root=UUID=0b0b0df4-3f14-49a8-8a97-09a103ca8cb1 rw loglevel=3 nvidia-drm.modeset=1
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-0b0b0df4-3f14-49a8-8a97-09a103ca8cb1' {
menuentry 'Arch Linux, with Linux linux-lts' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-advanced-0b0b0df4-3f14-49a8-8a97-09a103ca8cb1' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
else
search --no-floppy --fs-uuid --set=root 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
fi
echo 'Loading Linux linux-lts ...'
linux /boot/vmlinuz-linux-lts root=UUID=0b0b0df4-3f14-49a8-8a97-09a103ca8cb1 rw loglevel=3 nvidia-drm.modeset=1
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img
}
menuentry 'Arch Linux, with Linux linux-lts (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-fallback-0b0b0df4-3f14-49a8-8a97-09a103ca8cb1' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
else
search --no-floppy --fs-uuid --set=root 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
fi
echo 'Loading Linux linux-lts ...'
linux /boot/vmlinuz-linux-lts root=UUID=0b0b0df4-3f14-49a8-8a97-09a103ca8cb1 rw loglevel=3 nvidia-drm.modeset=1
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /boot/initramfs-linux-lts-fallback.img
}
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-0b0b0df4-3f14-49a8-8a97-09a103ca8cb1' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
else
search --no-floppy --fs-uuid --set=root 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=0b0b0df4-3f14-49a8-8a97-09a103ca8cb1 rw loglevel=3 nvidia-drm.modeset=1
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /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-0b0b0df4-3f14-49a8-8a97-09a103ca8cb1' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
else
search --no-floppy --fs-uuid --set=root 0b0b0df4-3f14-49a8-8a97-09a103ca8cb1
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=0b0b0df4-3f14-49a8-8a97-09a103ca8cb1 rw loglevel=3 nvidia-drm.modeset=1
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /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/30_uefi-firmware ###
fwsetup --is-supported
if [ "$grub_platform" = "efi" -a "$?" = 0 ]; then
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
fi
### END /etc/grub.d/30_uefi-firmware ###
### 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 ###
[alessandro@commodoroII ~]$ tree /boot
/boot
├── grub
│ ├── fonts
│ │ └── unicode.pf2
│ ├── grub.cfg
│ ├── grubenv
│ ├── locale
│ │ ├── ast.mo
│ │ ├── ca.mo
│ │ ├── da.mo
│ │ ├── de_CH.mo
│ │ ├── de@hebrew.mo
│ │ ├── de.mo
│ │ ├── en@arabic.mo
│ │ ├── en@cyrillic.mo
│ │ ├── en@greek.mo
│ │ ├── en@hebrew.mo
│ │ ├── en@piglatin.mo
│ │ ├── en@quot.mo
│ │ ├── eo.mo
│ │ ├── es.mo
│ │ ├── fi.mo
│ │ ├── fr.mo
│ │ ├── gl.mo
│ │ ├── hr.mo
│ │ ├── hu.mo
│ │ ├── id.mo
│ │ ├── it.mo
│ │ ├── ja.mo
│ │ ├── ka.mo
│ │ ├── ko.mo
│ │ ├── lg.mo
│ │ ├── lt.mo
│ │ ├── nb.mo
│ │ ├── nl.mo
│ │ ├── pa.mo
│ │ ├── pl.mo
│ │ ├── pt_BR.mo
│ │ ├── pt.mo
│ │ ├── ro.mo
│ │ ├── ru.mo
│ │ ├── sl.mo
│ │ ├── sr.mo
│ │ ├── sv.mo
│ │ ├── tr.mo
│ │ ├── uk.mo
│ │ ├── vi.mo
│ │ ├── zh_CN.mo
│ │ └── zh_TW.mo
│ ├── themes
│ │ └── starfield
│ │ ├── blob_w.png
│ │ ├── boot_menu_c.png
│ │ ├── boot_menu_e.png
│ │ ├── boot_menu_ne.png
│ │ ├── boot_menu_n.png
│ │ ├── boot_menu_nw.png
│ │ ├── boot_menu_se.png
│ │ ├── boot_menu_s.png
│ │ ├── boot_menu_sw.png
│ │ ├── boot_menu_w.png
│ │ ├── COPYING.CC-BY-SA-3.0
│ │ ├── dejavu_10.pf2
│ │ ├── dejavu_12.pf2
│ │ ├── dejavu_14.pf2
│ │ ├── dejavu_16.pf2
│ │ ├── dejavu_bold_14.pf2
│ │ ├── README
│ │ ├── slider_c.png
│ │ ├── slider_n.png
│ │ ├── slider_s.png
│ │ ├── starfield.png
│ │ ├── terminal_box_c.png
│ │ ├── terminal_box_e.png
│ │ ├── terminal_box_ne.png
│ │ ├── terminal_box_n.png
│ │ ├── terminal_box_nw.png
│ │ ├── terminal_box_se.png
│ │ ├── terminal_box_s.png
│ │ ├── terminal_box_sw.png
│ │ ├── terminal_box_w.png
│ │ └── theme.txt
│ └── x86_64-efi
│ ├── acpi.mod
│ ├── adler32.mod
│ ├── affs.mod
│ ├── afs.mod
│ ├── afsplitter.mod
│ ├── ahci.mod
│ ├── all_video.mod
│ ├── aout.mod
│ ├── appleldr.mod
│ ├── archelp.mod
│ ├── ata.mod
│ ├── at_keyboard.mod
│ ├── backtrace.mod
│ ├── bfs.mod
│ ├── bitmap.mod
│ ├── bitmap_scale.mod
│ ├── blocklist.mod
│ ├── boot.mod
│ ├── boottime.mod
│ ├── bsd.mod
│ ├── bswap_test.mod
│ ├── btrfs.mod
│ ├── bufio.mod
│ ├── cacheinfo.mod
│ ├── cat.mod
│ ├── cbfs.mod
│ ├── cbls.mod
│ ├── cbmemc.mod
│ ├── cbtable.mod
│ ├── cbtime.mod
│ ├── chain.mod
│ ├── cmdline_cat_test.mod
│ ├── cmp.mod
│ ├── cmp_test.mod
│ ├── command.lst
│ ├── configfile.mod
│ ├── core.efi
│ ├── cpio_be.mod
│ ├── cpio.mod
│ ├── cpuid.mod
│ ├── crc64.mod
│ ├── cryptodisk.mod
│ ├── crypto.lst
│ ├── crypto.mod
│ ├── cs5536.mod
│ ├── ctz_test.mod
│ ├── datehook.mod
│ ├── date.mod
│ ├── datetime.mod
│ ├── diskfilter.mod
│ ├── disk.mod
│ ├── div.mod
│ ├── div_test.mod
│ ├── dm_nv.mod
│ ├── echo.mod
│ ├── efifwsetup.mod
│ ├── efi_gop.mod
│ ├── efinet.mod
│ ├── efitextmode.mod
│ ├── efi_uga.mod
│ ├── ehci.mod
│ ├── elf.mod
│ ├── eval.mod
│ ├── exfat.mod
│ ├── exfctest.mod
│ ├── ext2.mod
│ ├── extcmd.mod
│ ├── f2fs.mod
│ ├── fat.mod
│ ├── file.mod
│ ├── fixvideo.mod
│ ├── font.mod
│ ├── fshelp.mod
│ ├── fs.lst
│ ├── functional_test.mod
│ ├── gcry_arcfour.mod
│ ├── gcry_blowfish.mod
│ ├── gcry_camellia.mod
│ ├── gcry_cast5.mod
│ ├── gcry_crc.mod
│ ├── gcry_des.mod
│ ├── gcry_dsa.mod
│ ├── gcry_idea.mod
│ ├── gcry_md4.mod
│ ├── gcry_md5.mod
│ ├── gcry_rfc2268.mod
│ ├── gcry_rijndael.mod
│ ├── gcry_rmd160.mod
│ ├── gcry_rsa.mod
│ ├── gcry_seed.mod
│ ├── gcry_serpent.mod
│ ├── gcry_sha1.mod
│ ├── gcry_sha256.mod
│ ├── gcry_sha512.mod
│ ├── gcry_tiger.mod
│ ├── gcry_twofish.mod
│ ├── gcry_whirlpool.mod
│ ├── geli.mod
│ ├── gettext.mod
│ ├── gfxmenu.mod
│ ├── gfxterm_background.mod
│ ├── gfxterm_menu.mod
│ ├── gfxterm.mod
│ ├── gptsync.mod
│ ├── grub.efi
│ ├── gzio.mod
│ ├── halt.mod
│ ├── hashsum.mod
│ ├── hdparm.mod
│ ├── hello.mod
│ ├── help.mod
│ ├── hexdump.mod
│ ├── hfs.mod
│ ├── hfspluscomp.mod
│ ├── hfsplus.mod
│ ├── http.mod
│ ├── iorw.mod
│ ├── iso9660.mod
│ ├── jfs.mod
│ ├── jpeg.mod
│ ├── json.mod
│ ├── keylayouts.mod
│ ├── keystatus.mod
│ ├── ldm.mod
│ ├── legacycfg.mod
│ ├── legacy_password_test.mod
│ ├── linux16.mod
│ ├── linux.mod
│ ├── loadbios.mod
│ ├── loadenv.mod
│ ├── loopback.mod
│ ├── lsacpi.mod
│ ├── lsefimmap.mod
│ ├── lsefi.mod
│ ├── lsefisystab.mod
│ ├── lsmmap.mod
│ ├── ls.mod
│ ├── lspci.mod
│ ├── lssal.mod
│ ├── luks2.mod
│ ├── luks.mod
│ ├── lvm.mod
│ ├── lzopio.mod
│ ├── macbless.mod
│ ├── macho.mod
│ ├── mdraid09_be.mod
│ ├── mdraid09.mod
│ ├── mdraid1x.mod
│ ├── memdisk.mod
│ ├── memrw.mod
│ ├── minicmd.mod
│ ├── minix2_be.mod
│ ├── minix2.mod
│ ├── minix3_be.mod
│ ├── minix3.mod
│ ├── minix_be.mod
│ ├── minix.mod
│ ├── mmap.mod
│ ├── moddep.lst
│ ├── modinfo.sh
│ ├── morse.mod
│ ├── mpi.mod
│ ├── msdospart.mod
│ ├── mul_test.mod
│ ├── multiboot2.mod
│ ├── multiboot.mod
│ ├── nativedisk.mod
│ ├── net.mod
│ ├── newc.mod
│ ├── nilfs2.mod
│ ├── normal.mod
│ ├── ntfscomp.mod
│ ├── ntfs.mod
│ ├── odc.mod
│ ├── offsetio.mod
│ ├── ohci.mod
│ ├── part_acorn.mod
│ ├── part_amiga.mod
│ ├── part_apple.mod
│ ├── part_bsd.mod
│ ├── part_dfly.mod
│ ├── part_dvh.mod
│ ├── part_gpt.mod
│ ├── partmap.lst
│ ├── part_msdos.mod
│ ├── part_plan.mod
│ ├── part_sun.mod
│ ├── part_sunpc.mod
│ ├── parttool.lst
│ ├── parttool.mod
│ ├── password.mod
│ ├── password_pbkdf2.mod
│ ├── pata.mod
│ ├── pbkdf2.mod
│ ├── pbkdf2_test.mod
│ ├── pcidump.mod
│ ├── pgp.mod
│ ├── play.mod
│ ├── png.mod
│ ├── priority_queue.mod
│ ├── probe.mod
│ ├── procfs.mod
│ ├── progress.mod
│ ├── raid5rec.mod
│ ├── raid6rec.mod
│ ├── random.mod
│ ├── rdmsr.mod
│ ├── read.mod
│ ├── reboot.mod
│ ├── regexp.mod
│ ├── reiserfs.mod
│ ├── relocator.mod
│ ├── romfs.mod
│ ├── scsi.mod
│ ├── search_fs_file.mod
│ ├── search_fs_uuid.mod
│ ├── search_label.mod
│ ├── search.mod
│ ├── serial.mod
│ ├── setjmp.mod
│ ├── setjmp_test.mod
│ ├── setpci.mod
│ ├── sfs.mod
│ ├── shift_test.mod
│ ├── signature_test.mod
│ ├── sleep.mod
│ ├── sleep_test.mod
│ ├── smbios.mod
│ ├── spkmodem.mod
│ ├── squash4.mod
│ ├── strtoull_test.mod
│ ├── syslinuxcfg.mod
│ ├── tar.mod
│ ├── terminal.lst
│ ├── terminal.mod
│ ├── terminfo.mod
│ ├── test_blockarg.mod
│ ├── testload.mod
│ ├── test.mod
│ ├── testspeed.mod
│ ├── tftp.mod
│ ├── tga.mod
│ ├── time.mod
│ ├── tpm.mod
│ ├── trig.mod
│ ├── tr.mod
│ ├── true.mod
│ ├── udf.mod
│ ├── ufs1_be.mod
│ ├── ufs1.mod
│ ├── ufs2.mod
│ ├── uhci.mod
│ ├── usb_keyboard.mod
│ ├── usb.mod
│ ├── usbms.mod
│ ├── usbserial_common.mod
│ ├── usbserial_ftdi.mod
│ ├── usbserial_pl2303.mod
│ ├── usbserial_usbdebug.mod
│ ├── usbtest.mod
│ ├── video_bochs.mod
│ ├── video_cirrus.mod
│ ├── video_colors.mod
│ ├── video_fb.mod
│ ├── videoinfo.mod
│ ├── video.lst
│ ├── video.mod
│ ├── videotest_checksum.mod
│ ├── videotest.mod
│ ├── wrmsr.mod
│ ├── xfs.mod
│ ├── xnu.mod
│ ├── xnu_uuid.mod
│ ├── xnu_uuid_test.mod
│ ├── xzio.mod
│ ├── zfscrypt.mod
│ ├── zfsinfo.mod
│ ├── zfs.mod
│ └── zstd.mod
└── intel-ucode.img
6 directories, 356 files
[alessandro@commodoroII ~]$ umount /boot
umount: /boot: not mounted.
[alessandro@commodoroII ~]$ sudo umount /boot
[sudo] password for alessandro:
umount: /boot: not mounted.To Raynman: yes, from my pacman log I see that the two times the error 'call to execv failed (No such file or directory)' appeared, it is after '[ALPM] running '90-mkinitcpio-install.hook'...'. Moreover, grepping for 'initcpio' in '/usr/share/libalpm/hooks' I see only
60-mkinitcpio-remove.hook
90-mkinitcpio-install.hookThe 'preset' does seem to be missing, as I was saying in point (a) (please, correct me if you were reffering to something different).
Checking for the missing files I see
[alessandro@commodoroII ~]$ pacman -Qk mkinitcpio
mkinitcpio: 81 total files, 0 missing filesTrying to reinstall 'mkinitcpio' gives me the same error about 'execv', and doesn't add any file, however.
Last edited by bertulli (2022-10-28 11:40:17)
We are still learning
- wise people
Offline
Any particular reason why your main HDD is sdb? Just asking...
Try this:
# pacman -Syu linux intel-ucode grub
# pacman -S mkinitcpioAnd, after that, post here your:
# ls -la /bootLast edited by d.ALT (2022-10-28 13:01:25)
<49,17,III,I> Fama di loro il mondo esser non lassa;
<50,17,III,I> misericordia e giustizia li sdegna:
<51,17,III,I> non ragioniam di lor, ma guarda e passa.
Offline
I should have suggested -Qkk (double k, for altered files), but I did suggest (instead of additional grepping) actually looking at the Exec line in the hook (which I assume is what the "no such file" refers to; unfortunately it doesn't include a path in the error message).
Offline
Any particular reason why your main HDD is sdb? Just asking...
sdX designations are completely random and can change every time you boot your machine.
This is why we recommend using UUID's instead in all relevant config files.
Offline
Let's see whether the alpm script fails and where:
# bash -x /usr/share/libalpm/scripts/mkinitcpio-installOffline
To Raynman: I see
[alessandro@commodoroII ~]$ pacman -Qkk mkinitcpio
backup file: mkinitcpio: /etc/mkinitcpio.conf (Modification time mismatch)
backup file: mkinitcpio: /etc/mkinitcpio.conf (Size mismatch)
backup file: mkinitcpio: /etc/mkinitcpio.conf (MD5 checksum mismatch)
backup file: mkinitcpio: /etc/mkinitcpio.conf (SHA256 checksum mismatch)
mkinitcpio: 82 total files, 0 altered filesWhich is expected, since I installed the nvidia drivers.
The hook launches
Exec = /usr/share/libalpm/scripts/mkinitcpio-installwhich in turn is
#!/bin/bash -e
args=()
all=0
while read -r line; do
if [[ $line != */vmlinuz ]]; then
# triggers when it's a change to usr/lib/initcpio/*
all=1
continue
fi
if ! read -r pkgbase > /dev/null 2>&1 < "${line%/vmlinuz}/pkgbase"; then
# if the kernel has no pkgbase, we skip it
continue
fi
preset="/etc/mkinitcpio.d/${pkgbase}.preset"
if [[ ! -e $preset ]]; then
if [[ -e $preset.pacsave ]]; then
# move the pacsave to the template
mv "${preset}.pacsave" "$preset"
else
# create the preset from the template
sed "s|%PKGBASE%|${pkgbase}|g" /usr/share/mkinitcpio/hook.preset \
| install -Dm644 /dev/stdin "$preset"
fi
fi
# always install the kernel
install -Dm644 "${line}" "/boot/vmlinuz-${pkgbase}"
# compound args for each kernel
args+=(-p "${pkgbase}")
done
if (( all )) && compgen -G /etc/mkinitcpio.d/"*.preset" > /dev/null; then
# change to use all presets
args=(-P)
fi
if (( ${#args[@]} )); then
mkinitcpio "${args[@]}"
fiMy system has /usr/share/mkinitcpio/hook.preset:
# mkinitcpio preset file for the '%PKGBASE%' package
ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-%PKGBASE%"
PRESETS=('default' 'fallback')
#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-%PKGBASE%.img"
#default_options=""
#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/initramfs-%PKGBASE%-fallback.img"
fallback_options="-S autodetect"while /etc/mkinitcpio.d is empty.
To Seth: unfortunately, running the script manually (whose content is above) doesn't work: it hangs and I needed to terminate it.
[alessandro@commodoroII ~]$ sudo bash -x /usr/share/libalpm/scripts/mkinitcpio-install
+ args=()
+ all=0
+ read -r line
^C
[alessandro@commodoroII ~]$ sudo bash -x /usr/share/libalpm/scripts/mkinitcpio-install -P
+ args=()
+ all=0
+ read -r line
^C
[alessandro@commodoroII ~]$ sudo bash -r -x /usr/share/libalpm/scripts/mkinitcpio-install
+ args=()
+ all=0
+ read -r line
^C
[alessandro@commodoroII ~]$ sudo bash -r -x /usr/share/libalpm/scripts/mkinitcpio-install -P
+ args=()
+ all=0
+ read -r line
^C
[alessandro@commodoroII ~]$ sudo bash -e -x /usr/share/libalpm/scripts/mkinitcpio-install
+ args=()
+ all=0
+ read -r line
^C
[alessandro@commodoroII ~]$ sudo bash -e -x /usr/share/libalpm/scripts/mkinitcpio-install -P
+ args=()
+ all=0
+ read -r line
^CTo d.ALT: I just didn't want to delete Windows (partly because I was unsure if I could use Linux for everiything, partly because I wanted to have a fallback in case my Linux system blew up), so I opted for a dual boot. However, I received advice not to have both system on the same disk, due to Windows' habit to forcefully replace the bootloader at upgrades, and to keep them at two separate disk, choosing with UEFI which one to boot. I then replaced my DVD with a SSD caddy (Windows is on HDD, so I could also switch that). So now my main HDD (Windows) is /dev/sda, and the SSD (Arch) is /dev/sdb. Fun thing is, from that moment I basically have never had to boot Windows again ![]()
Anyway, I've read that reinstalling the kernel(s) should solve the problem: I'll wait a moment tho, to hear what the others say about the debug command outputs they asked me
We are still learning
- wise people
Offline
keep them at two separate disk, choosing with UEFI which one to boot
Nice move!
I also did that way in my early Linux days on my laptop (BIOS). ![]()
<49,17,III,I> Fama di loro il mondo esser non lassa;
<50,17,III,I> misericordia e giustizia li sdegna:
<51,17,III,I> non ragioniam di lor, ma guarda e passa.
Offline
The hook has
NeedsTargets
Causes the list of matched trigger targets to be passed to the running hook on stdin.Just edit the script, put "set -x" right below the shebang and trigger it by re-installing linux.
Offline
Mmh, sorry Seth, maybe I am misunderstanding something:
[alessandro@commodoroII ~]$ cat /usr/share/libalpm/scripts/mkinitcpio-install
#!/bin/bash -e
set -x
args=()
all=0
while read -r line; do
if [[ $line != */vmlinuz ]]; then
# triggers when it's a change to usr/lib/initcpio/*
all=1
continue
fi
if ! read -r pkgbase > /dev/null 2>&1 < "${line%/vmlinuz}/pkgbase"; then
# if the kernel has no pkgbase, we skip it
continue
fi
preset="/etc/mkinitcpio.d/${pkgbase}.preset"
if [[ ! -e $preset ]]; then
if [[ -e $preset.pacsave ]]; then
# move the pacsave to the template
mv "${preset}.pacsave" "$preset"
else
# create the preset from the template
sed "s|%PKGBASE%|${pkgbase}|g" /usr/share/mkinitcpio/hook.preset \
| install -Dm644 /dev/stdin "$preset"
fi
fi
# always install the kernel
install -Dm644 "${line}" "/boot/vmlinuz-${pkgbase}"
# compound args for each kernel
args+=(-p "${pkgbase}")
done
if (( all )) && compgen -G /etc/mkinitcpio.d/"*.preset" > /dev/null; then
# change to use all presets
args=(-P)
fi
if (( ${#args[@]} )); then
mkinitcpio "${args[@]}"
fi
[alessandro@commodoroII ~]$ sudo pacman -Syu linux
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
warning: linux-6.0.6.arch1-1 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-6.0.6.arch1-1
Total Installed Size: 163,52 MiB
Net Upgrade Size: 0,00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
(1/1) checking available disk space [######################] 100%
:: Processing package changes...
(1/1) reinstalling linux [######################] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Updating module dependencies...
(3/4) Updating linux initcpios...
call to execv failed (No such file or directory)
error: command failed to execute correctly
(4/4) Update Nvidia module in initcpioI think the problem is the configuration file missing in /etc/mkinitcpio.d/, maybe as I see in this thread? What is the content of that directory on your system?
Last edited by bertulli (2022-11-01 15:26:53)
We are still learning
- wise people
Offline
The script itself isn't launched.
stat /usr/share/libalpm/scripts/mkinitcpio-install /bin/bash /usr/bin/bash
type bash
realpath /bin/bash /usr/bin/bashOffline
The script itself isn't launched.
For curiosity, how could you tell?
[alessandro@commodoroII ~]$ stat /usr/share/libalpm/scripts/mkinitcpio-install /bin/bash /usr/bin/bash
File: /usr/share/libalpm/scripts/mkinitcpio-install
Size: 1122 Blocks: 8 IO Block: 4096 regular file
Device: 8,18 Inode: 2119867 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-11-01 16:23:38.928050902 +0100
Modify: 2022-11-01 16:23:16.447885242 +0100
Change: 2022-11-01 16:23:16.467885389 +0100
Birth: 2022-11-01 16:23:16.447885242 +0100
File: /bin/bash
Size: 948624 Blocks: 1856 IO Block: 4096 regular file
Device: 8,18 Inode: 1973177 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-11-01 12:42:10.686748355 +0100
Modify: 2022-01-08 19:31:11.000000000 +0100
Change: 2022-01-10 11:25:47.508932409 +0100
Birth: 2022-01-10 11:25:47.505599079 +0100
File: /usr/bin/bash
Size: 948624 Blocks: 1856 IO Block: 4096 regular file
Device: 8,18 Inode: 1973177 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-11-01 12:42:10.686748355 +0100
Modify: 2022-01-08 19:31:11.000000000 +0100
Change: 2022-01-10 11:25:47.508932409 +0100
Birth: 2022-01-10 11:25:47.505599079 +0100
[alessandro@commodoroII ~]$ type bash
bash is /usr/bin/bash
[alessandro@commodoroII ~]$ realpath /bin/bash /usr/bin/bash
/usr/bin/bash
/usr/bin/bashLast edited by bertulli (2022-11-01 16:36:38)
We are still learning
- wise people
Offline
Because I'd expect some *sort* script tracing being printed there.
But your bash looks fine.
In the light of recent issues w/ readline and the very suspicious "-e" on the top of that script:
pacman -Qi readlineOffline
Thanks for yor time, by the way. You people are really helping me.
[alessandro@commodoroII ~]$ pacman -Qi readline
Name : readline
Version : 8.2.001-1
Description : GNU readline library
Architecture : x86_64
URL : https://tiswww.case.edu/php/chet/readline/rltop.html
Licenses : GPL
Groups : None
Provides : libhistory.so=8-64 libreadline.so=8-64
Depends On : glibc ncurses libncursesw.so=6-64
Optional Deps : None
Required By : bash bc fluidsynth gdb gdbm gjs gnupg gnutls hunspell
inetutils iwd js102 js78 js91 lib32-readline libxml2
lua lua52 lua53 lvm2 mujs nftables pcre pcre2
smbclient sqlite wpa_supplicant
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 756,66 KiB
Packager : Felix Yan <felixonmars@archlinux.org>
Build Date : dom 30 ott 2022, 22:56:25
Install Date : mar 1 nov 2022, 12:46:39
Install Reason : Installed as a dependency for another package
Install Script : No
Validated By : SignatureWe are still learning
- wise people
Offline
That's already the fixed version, you installed it this noon - did you try to "sudo pacman -Syu linux" before or after that?
The bad version went online on Oct 26, 2022 - 2 days before you started the thread - the timeframe might fit…
Also I missed
I think the problem is the configuration file missing in /etc/mkinitcpio.d/
The mkinitcpio presets are mising because the hook fails, not the other way round.
(3/4) Updating linux initcpios...
call to execv failed (No such file or directory) # <== this is were those files would be created
error: command failed to execute correctly # but failsOffline
That's already the fixed version, you installed it this noon - did you try to "sudo pacman -Syu linux" before or after that?
Honestly I don't remember, but I can check the logs if you want
The bad version went online on Oct 26, 2022 - 2 days before you started the thread - the timeframe might fit…
Yep, that's highly probable.
The mkinitcpio presets are mising because the hook fails, not the other way round.
Ah, I see, thanks. I thought the config file should be present (installed during pacstrap), and mkinitcpio read that.
However, I am afraid it still doesn't work:
[alessandro@commodoroII ~]$ sudo pacman -Syu linux
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
warning: linux-6.0.6.arch1-1 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-6.0.6.arch1-1
Total Installed Size: 163,52 MiB
Net Upgrade Size: 0,00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
(1/1) checking available disk space [######################] 100%
:: Processing package changes...
(1/1) reinstalling linux [######################] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Updating module dependencies...
(3/4) Updating linux initcpios...
call to execv failed (No such file or directory)
error: command failed to execute correctly
(4/4) Update Nvidia module in initcpio
[alessandro@commodoroII ~]$ sudo pacman -Syu mkinitcpio
:: Synchronizing package databases...
core is up to date
extra is up to date
community 7,1 MiB 10,5 MiB/s 00:01 [######################] 100%
multilib is up to date
warning: mkinitcpio-32-2 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (1) mkinitcpio-32-2
Total Installed Size: 0,11 MiB
Net Upgrade Size: 0,00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
(1/1) checking available disk space [######################] 100%
:: Processing package changes...
(1/1) reinstalling mkinitcpio [######################] 100%
:: Running post-transaction hooks...
(1/4) Reloading system manager configuration...
(2/4) Creating temporary files...
(3/4) Arming ConditionNeedsUpdate...
(4/4) Updating linux initcpios...
call to execv failed (No such file or directory)
error: command failed to execute correctlyWe are still learning
- wise people
Offline
***grrrrrrrr***
Move /usr/share/libalpm/scripts/mkinitcpio-install aside and replace it w/
#!/bin/sh
echo GGRRRRRR | tee /tmp/grrrrr.grrIf that produces any ouput (on the console or in /tmp/grrrrr.grr) try
#!/bin/bash -e
echo GGRRRRRR | tee /tmp/grrrrr.grr2If that works but eg. only writes into the file, restore the original script
And inject
exec > >(tee /tmp/grumblfxx.txt)
set -xthen see whether the subsequent trigger writes anything meaningful into /tmp/grumblfxx.txt
Offline
Ok, I moved mkinitcpio-install to mkinitcpio-install.old, and replaced it with the echo script. After setting the permissions with 'ugo+x' (more on this later), I see both the outputs:
[alessandro@commodoroII scripts]$ sudo pacman -Syu linux
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
warning: linux-6.0.6.arch1-1 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-6.0.6.arch1-1
Total Installed Size: 163,52 MiB
Net Upgrade Size: 0,00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
(1/1) checking available disk space [######################] 100%
:: Processing package changes...
(1/1) reinstalling linux [######################] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Updating module dependencies...
(3/4) Updating linux initcpios...
GGRRRRRR
(4/4) Update Nvidia module in initcpio
[alessandro@commodoroII scripts]$ cat /tmp/grrrrr.grr
GGRRRRRRChanging it with 'bash -e', it also correctly gives
[alessandro@commodoroII scripts]$ sudo pacman -Syu linux
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
warning: linux-6.0.6.arch1-1 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-6.0.6.arch1-1
Total Installed Size: 163,52 MiB
Net Upgrade Size: 0,00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
(1/1) checking available disk space [######################] 100%
:: Processing package changes...
(1/1) reinstalling linux [######################] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Updating module dependencies...
(3/4) Updating linux initcpios...
GGRRRRRR
(4/4) Update Nvidia module in initcpio
[alessandro@commodoroII scripts]$ cat /tmp/grrrrr.grr2
GGRRRRRRThen I tried to restore the previous script, and voilà:
[alessandro@commodoroII scripts]$ sudo pacman -Syu linux
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
warning: linux-6.0.6.arch1-1 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-6.0.6.arch1-1
Total Installed Size: 163,52 MiB
Net Upgrade Size: 0,00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
(1/1) checking available disk space [######################] 100%
:: Processing package changes...
(1/1) reinstalling linux [######################] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Updating module dependencies...
(3/4) Updating linux initcpios...
==> 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: 6.0.6-arch1-1
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: xhci_pci
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-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: 6.0.6-arch1-1
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: qla2xxx
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: bfa
==> WARNING: Possibly missing firmware for module: qed
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: qla1280
==> WARNING: Possibly missing firmware for module: xhci_pci
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
(4/4) Update Nvidia module in initcpio!
I have a theory why did this happen. Running pacman with '-vSyu' I discovered it gets its hooks from two dirs, the second being '/etc/pacman.d/hooks'. In there, I had a script for nvidia drivers (as suggested on the wiki), and surprisingly a copy of the '90-mkinitcpio-install.hook'. I didn't remember why it ended up there, probably I put it erroneously when setting up the video card.
I also tried to make pacman run a debug script in a different location ('/usr/share/libalpm/scripts/mkinitcpio-install.debug'), and it failed in the same point with 'permission denied'. In fact, the newly created script correctly had no execution permission! I changed that and it worked, but it made me think. Checking the permission of the original script, it didn't had the right permission too. Was it me that changed it during renaming? Was it an update? Did I issued some disruptive command? I don't know, but at this point I highly supspect that was the primary source of failure.
We are still learning
- wise people
Offline
/etc/pacman.d/hooks … 90-mkinitcpio-install.hook …
Do you still have that file and what are its exact contents?
/usr/share/libalpm/hooks/90-mkinitcpio-install.hook references /usr/share/libalpm/scripts/mkinitcpio-install w/ an absolute path and …
Checking the permission of the original script, it didn't had the right permission too.
… according to the stat in #14, that script had the execution bit set.
Offline
Do you still have that file and what are its exact contents?
Yep, it's
[Trigger]
Type = Path
Operation = Install
Operation = Upgrade
Target = usr/lib/modules/*/vmlinuz
Target = usr/lib/initcpio/*
[Action]
Description = Updating linux initcpios...
When = PostTransaction
Exec = /usr/local/share/libalpm/scripts/mkinitcpio-install
NeedsTargets/usr/share/libalpm/hooks/90-mkinitcpio-install.hook references /usr/share/libalpm/scripts/mkinitcpio-install w/ an absolute path and …
[...]
… according to the stat in #14, that script had the execution bit set.
Ah, so IIUC both of my ideas are wrong, basically ![]()
We are still learning
- wise people
Offline
Exec = /usr/local/share/libalpm/scripts/mkinitcpio-install
stat /usr/local/share/libalpm/scripts/mkinitcpio-install
cat /usr/local/share/libalpm/scripts/mkinitcpio-installYou fixed it by getting that hook out of the way, otherwise the grrr scripts wouldn't have been triggered.
Edit: stressed the difference
Last edited by seth (2022-11-02 12:10:24)
Offline
...Well that's embarassing (*sweat smile*)
Currenty my /usr/local is
[alessandro@commodoroII scripts]$ ls -l /usr/local/share/
total 4
drwxr-xr-x 2 root root 4096 21 ott 15.18 doc
lrwxrwxrwx 1 root root 6 18 ott 23.01 man -> ../manI may be remembering wrongly, but I did a bit of cleaning in /usr/local after I installed a local compiled version of Clang. I remember deleting something from the libalpm directory, probably because it didn't contain anything important. Now I suppose it contained a symlink! I wonder why did that hook ended up that way tho. If I placed a copy in /etc/pacman.d by mistake I most likely didn't edit it.
Moreover, a curiosity: seeing the output of
[alessandro@commodoroII scripts]$ pacman -v
Root : /
Conf File : /etc/pacman.conf
DB Path : /var/lib/pacman/
Cache Dirs: /var/cache/pacman/pkg/
Hook Dirs : /usr/share/libalpm/hooks/ /etc/pacman.d/hooks/
Lock File : /var/lib/pacman/db.lck
Log File : /var/log/pacman.log
GPG Dir : /etc/pacman.d/gnupg/
Targets : None
error: no operation specified (use -h for help)would this mean that the second hook dir overwrites the read hooks from the first?
Anyway, you people have been extremely kind and helpful.
Thank you very much for keeping active the distro!
We are still learning
- wise people
Offline
Google has 3 hits for those files, a gist, a manjaro forum post and it's all about https://wiki.archlinux.org/title/Unifie … acman_hook …
W/o seeing /usr/local/share/libalpm/scripts/mkinitcpio-install it's gonna be impossible to say what you were trying there. *shrug*
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Offline