You are not logged in.
My computer froze in the middle of upgrading, and I had to force shutdown. Now when I try to boot, I receive the following error message: "error: file '/boot/vmlinuz-linux' not found".
Solutions I've tried:
Followed the steps in https://wiki.archlinux.org/title/Pacman … an_upgrade. After running step 4, the update completed, but the following error message appeared while it was updating:
"/bin/sh: error while loading shared libraries: /usr/lib/libncursesw.so.6: file too short".
Mounted the root and efi file systems and tried to chroot; received the following error message:
"/bin/bash: error while loading shared libraries: /usr/lib/libncursesw.so.6: file too short".
Ran "pacstrap -K /mnt base linux linux-firmware" and received the following error message:
"Errors occurred, no packages were upgraded. ==> ERROR: Failed to install packages to new root"
Last edited by block_universe (2024-05-29 21:11:20)
Offline
There're more packages broken and if ncurses is affected, almost nothing will work.
Check
LC_ALL=C pacman --root /mnt -Qkk | grep -v ', 0 altered files'If there're files w/ broken or missing mtree's, you'll first have to re-install those "--dbonly", then along all packages w/ a suspicious amount of deviating files
pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -S --dbonly <list of packages w/ broken mtrees> # ignore "file to short" etc. errors during this run
pacman --root /mnt --cachedir /mnt/var/cache/pacman/pkg -S <list of all broken packages>Don't forget to mount the boot partition into /mnt/boot and don't try to chroot.
Offline
That did the trick. My system boots now. Thank you very much.
However, now a new message appears during boot after the screen with these lines:
Loading Linux linux ...
Loading initial ramdisk ...
and before the login prompt appears.
The message is:
fsck: /usr/bin/fsck.ext4: execute failed: Exec format error
ERROR: fsck failed on 'UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
(with the xxx's being the actual UUID, of course)
Should I do something to fix this even though I can boot and login?
Last edited by block_universe (2024-05-28 23:54:18)
Offline
pacman -Qikk e2fsprogs
ldd /usr/bin/fsck.ext4Offline
After trying your solution, the message still appears as before. May I just ignore it?
(Also, if this is unrelated to the original post, I can just mark as solved. I'm still getting used to best practices.)
Last edited by block_universe (2024-05-29 16:59:03)
Offline
That's not a solution but a diagnostic, please post the output.
It might still be caused by the original problem - we'll see.
Offline
...I'm dumb.
Output of first command:
[name@host ~]$ pacman -Qikk e2fsprogs
Name : e2fsprogs
Version : 1.47.1-4
Description : Ext2/3/4 filesystem utilities
Architecture : x86_64
URL : http://e2fsprogs.sourceforge.net
Licenses : GPL LGPL MIT
Groups : None
Provides : libcom_err.so=2-64 libe2p.so=2-64
libext2fs.so=2-64 libss.so=2-64
Depends On : sh util-linux-libs
Optional Deps : lvm2: for e2scrub
util-linux: for e2scrub [installed]
smtp-forwarder: for e2scrub_fail
script
Required By : krb5 lib32-e2fsprogs
libblockdev-fs
Optional For : udisks2
Conflicts With : None
Replaces : None
Installed Size : 5.20 MiB
Packager : Christian Hesse
<eworm@archlinux.org>
Build Date : Fri 24 May 2024 05:44:51 AM PDT
Install Date : Tue 28 May 2024 04:43:00 PM PDT
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
e2fsprogs: 209 total files, 0 altered filesOutput of second command:
[name@host ~]$ ldd /usr/bin/fsck.ext4
linux-vdso.so.1 (0x00007533ec305000)
libext2fs.so.2 => /usr/lib/libext2fs.so.2 (0x00007533ec21e000)
libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007533ec218000)
libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007533ec1df000)
libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007533ec1d5000)
libe2p.so.2 => /usr/lib/libe2p.so.2 (0x00007533ec1cb000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007533ebfdf000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007533ec307000)Last edited by block_universe (2024-05-29 20:13:57)
Offline
e2fsprogs is fine and the file a dynamically linked elf library…
pacman -Qikk util-linux-libs glibcOffline
[name@host ~]$ pacman -Qikk util-linux-libs glibc
Name : util-linux-libs
Version : 2.40.1-1
Description : util-linux runtime libraries
Architecture : x86_64
URL : https://github.com/util-linux/util-linux
Licenses : BSD-2-Clause BSD-3-Clause BSD-4-Clause-UC GPL-2.0-only GPL-2.0-or-later
GPL-3.0-or-later ISC LGPL-2.1-or-later LicenseRef-PublicDomain
Groups : None
Provides : libutil-linux libblkid.so=1-64 libfdisk.so=1-64 libmount.so=1-64
libsmartcols.so=1-64 libuuid.so=1-64
Depends On : glibc sqlite
Optional Deps : python: python bindings to libmount [installed]
Required By : cryptsetup e2fsprogs glib2 libblockdev-crypto libblockdev-fs libblockdev-part
libblockdev-swap libnm libsm parted rasqal systemd udisks2 util-linux volume_key
Optional For : None
Conflicts With : libutil-linux
Replaces : libutil-linux
Installed Size : 1301.99 KiB
Packager : Christian Hesse <eworm@archlinux.org>
Build Date : Mon 06 May 2024 12:22:23 PM PDT
Install Date : Fri 10 May 2024 09:33:31 AM PDT
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
util-linux-libs: 79 total files, 0 altered files
Name : glibc
Version : 2.39+r52+gf8e4623421-1
Description : GNU C Library
Architecture : x86_64
URL : https://www.gnu.org/software/libc
Licenses : GPL-2.0-or-later LGPL-2.1-or-later
Groups : None
Provides : None
Depends On : linux-api-headers>=4.10 tzdata filesystem
Optional Deps : gd: for memusagestat [installed]
perl: for mtrace [installed]
Required By : abseil-cpp acl alsa-lib alsa-plugins alsa-utils appstream argon2 at-spi2-core
attr audit base bash binutils bison bluez bluez-libs bluez-utils bridge-utils
brotli bzip2 c-ares confuse coreutils cups cups-filters dav1d debugedit
debuginfod device-mapper diffutils docker duktape dvisvgm efibootmgr efivar
egl-wayland expat fakeroot ffcall ffmpeg fftw file findutils flex fribidi gawk
gcc-libs gdb gdbm gdk-pixbuf2 ghostscript giflib glib-networking glib2 glu gmp
gnupg gnutls gperftools grep gsm gtk-update-icon-cache gtk3 gtk4 gzip harfbuzz
harfbuzz-icu hyphen i3blocks icu ijs imath inetutils iproute2 jack2 jansson
jbig2dec jbigkit jdk17-openjdk jdk21-openjdk json-c k6 kbd keyutils kmod krb5
l-smash less lib32-glibc libadwaita libass libassuan libasyncns libatasmart
libatomic_ops libavc1394 libavif libblockdev libblockdev-crypto libblockdev-fs
libblockdev-loop libblockdev-mdraid libblockdev-nvme libblockdev-part
libblockdev-swap libbpf libcap libcap-ng libcdr libcmis libconfig libcups
libcupsfilters libdatrie libde265 libdeflate libdovi libdrm libe-book libedit
libelf libepoxy libev libevdev libexif libexttextcat libffi libfontenc
libgpg-error libgtop libheif libice libidn libinput libixion libjpeg-turbo
libksba liblangtag libmnl libmspub libndp libnet libnfnetlink libnghttp2
libnghttp3 libngtcp2 libnl libnsl libogg libomxil-bellagio libopenmpt liborcus
libp11-kit libpaper libpcap libpciaccess libpgm libpipeline libplacebo libpng12
libppd libproxy libqxp libraw1394 libreoffice-still librsvg libsamplerate libsasl
libseccomp libsigsegv libsndfile libsodium libssh libstemmer libsynctex libtasn1
libthai libtheora libtiff libtirpc libtommath libtool libunibreak libunistring
libunwind libusb libutempter libuv libverto libvisio libvpx libwacom libwebp
libx11 libxau libxaw libxcb libxcrypt libxcursor libxcvt libxdmcp libxext
libxkbcommon libxkbcommon-x11 libxkbfile libxml2 libxmu libxrandr libxshmfence
libxss libyaml libzmf lpsolve lsof lz4 lzo m4 make man-db md4c mdadm mesa
mesa-utils minizip mkinitcpio-busybox mpdecimal mpfr mtdev ncurses neon nettle
npth nspr nss ocl-icd opencore-amr openexr openjpeg2 openssh openssl opus orc
pacman pam patch pciutils pcre pcre2 perl pinentry pixman pkgconf poppler
popt portaudio potrace procps-ng python-markupsafe python-pyrsistent
python-rpds-py python-tornado python-yaml qpdf raptor rasqal rav1e readline
redland rubberband sbc sdl2 sed shaderc shadow shared-mime-info snappy sqlite
startup-notification steam sudo svt-av1 systemd-libs tar tdb texlive-bin
tracker3 tree tslib udisks2 usbutils util-linux util-linux-libs valgrind
vid.stab vim volume_key vulkan-icd-loader wayland which xcb-util-cursor
xf86-input-libinput xorg-server xorg-xauth xorg-xkbcomp xorg-xprop xorg-xrdb
xvidcore xxhash yajl zeromq zimg zlib zstd zxing-cpp
Optional For : tzdata
Conflicts With : None
Replaces : None
Installed Size : 47.25 MiB
Packager : Frederik Schwan <freswa@archlinux.org>
Build Date : Tue 07 May 2024 09:56:19 AM PDT
Install Date : Fri 10 May 2024 09:33:30 AM PDT
Install Reason : Explicitly installed
Install Script : Yes
Validated By : Signature
backup file: glibc: /etc/locale.gen (Modification time mismatch)
backup file: glibc: /etc/locale.gen (Size mismatch)
backup file: glibc: /etc/locale.gen (SHA256 checksum mismatch)
glibc: 1611 total files, 0 altered filesMay I ask what exactly you're looking for?
Last edited by block_universe (2024-05-29 20:24:45)
Offline
execute failed: Exec format error means "this file cannot be executed", but nothingyou posted looks prone to cause this.
Can you manually
fsck /dev/disk/by-uuid/<uuid-here>or
fsck.ext4 /dev/disk/by-uuid/<uuid-here>?
Does the error only appear during the (early) boot?
Might be the copy in the initramfs, try to regnerate that (mkinitcpio)
Offline
root@archiso ~ # fsck /dev/disk/by-uuid/<uuid>
fsck from util-linux 2.40
e2fsck 1.47.0 (5-Feb-2023)
/dev/<partition>: recovering journal
/dev/<partition> contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks and sizes
Inode <inode-number> extent tree (at level 1) could be shorter. Optimize<y>? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Orphan file (inode 12) block 65 is not clean
Clear<y>? yes
/dev/<partition>: ***** FILE SYSTEM WAS MODIFIED *****
/dev/<partition>: 452431/49152000 files (0.7% non-contiguous), 17457476/196608000 blocksI'm not exactly sure what that means, but after doing this, it still booted with the "execute failed" message.
Then I ran
mkinitcpio -Prebooted, and the error message was gone.
I can't thank you enough for your help and patience.
Offline
Hi,
I didn't know if I should create a new post since this one exists
I have the same problem, but almost about all my packages have altered files (more than 950 of them) and I can't handpick them to pass to pacman for dbonly so any package not found has to be deleted from the file I pass to pacman but I cant do that too because I can't scroll up to see whats not found or cant pipe the output to a file and I don't know why
Also it doesn't seem to succeed with the dbonly anyways throwing errors about some different library being too short
Offline
You can re-install all packages first --dbonly (ignore the errors, that's normal - you're only fixing the database, there're still a lot of broken files around) and then without.
Offline
I need about 20gigs of space to to that update but I have about 6 free
So I thought I'd update just the lib packages first, but doing so all the downloaded packages are marked corrupted therefore none are upgraded
I get this for every(?) package and it finishes with a "failed to commit transaction"
error: <package>: signature from "John Doe <johndoe@archlinux.org>" is unknown trustEDIT: For anyone facing the same issue, what worked for me is
delete the /etc/pacman.d/gnupg folder, then
pacman-key --config /mnt/etc/pacman.conf --gpgdir /mnt/etc/pacman.d/gnupg --init
pacman-key --config /mnt/etc/pacman.conf --gpgdir /mnt/etc/pacman.d/gnupg --populate
pacman-key --config /mnt/etc/pacman.conf --gpgdir /mnt/etc/pacman.d/gnupg --refresh-keys # this one will probably take a real long timethen if you also have the storage space trouble
pacman ... $(<packages you need to install> | awk 'NR>=0 && NR<=100' ) # only passes the 0th to the 100th line to pacman to install
pacman -Scc # cleans the cache to free up spaceincrease numbers every time untill there are no more packages
Last edited by varolbora5 (2024-05-30 13:20:16)
Offline