Hi - so I ran a sudo pacman -Syyu this morning, and rebooted my system after it was complete, at the boot screen I am getting the following error message:
Loading kernel linux ...
error: file 'boot/vmlinuz-linuz' not found.
Loading initial ramdisk ...
error: you need to load a kernel first.
Press any key to continue..._
But if I press any key, it just loops me back.
After doing some cursory searching online it looks like something happened during my update and the kernel did not load correctly…okay…
So I boot up a live disk and chrooted into the system. I tried running mkinitcpio -P and get returned with bash: mkinitcpio: command not found
Then I tried to just reinstall the kernel and headers with sudo pacman -Syu linux linux-headers and it almost gets through the reinstall but at the end it fails with the following error: (4/4) Check if user should be informed about rebooting after certain system package upgrades. /usr/bin/eos-reboot-required2: line 20: /usr/share/endeavouros/scripts/eos-script-lib-yad: No such file or directory which I believe is an eos error.
So as of right now I am stuck and in need of help. I would like to try to fix the system, if someone could point me in the right direction.
Also below is my system specs from inxi -Fxxc0z | eos-sendlog, (although this is just copied from another post as currently in the chroot environment I get back the error bash: eos-sendlog: command not found)
UPDATE: ok so I was able to get booted back into my system.
From the chroot environment I ran sudo pacman -S mkinitcpio, for whatever reason one of the pgp signatures was invalid, so I deleted it. after that mkinitcpio seemed to be installed so I ran a sudo pacman -Syu linux linux-headers and it seemed to actually rebuild this time, although I still got the error: (4/4) Check if user should be informed about rebooting after certain system package upgrades. /usr/bin/eos-reboot-required2: line 20: /usr/share/endeavouros/scripts/eos-script-lib-yad: No such file or directory
I shut down the chroot and rebooted and was able to boot into the kernel. Going to install the lts kernel as a backup now.
If anyone has any thoughts on the last error please let me know.
Hello,
were you using dracut or mkinitcpio before this incident (I think newer EOS installs use dracut by default)?
As I am using mkinitcpio, I have a pacman hook /usr/share/libalpm/hooks/90-mkinitcpio-install.hook that triggers the script /usr/share/libalpm/scripts/mkinitcpio which takes care of necessary things after a kernel update. One of that things is to copy the vmlinuz to /boot/
So, since you apparently didn’t have to reinstall the kernel what probably happened is that either this hook (or the dracut pendant) wasn’t run (at least not as it was supposed to be) or the script didn’t work.
That’s apparently some pacman hook that should initiate the check whether you need to be informed about a necessary reboot in the notifier among others by running the script /usr/share/endeavouros/scripts/eos-script-lib-yad.
I don’t know by which package it’s provided. The easiest way to solve this would be to reinstall this package. @manuel Is that part of eos-welcome?
@PigOfDestiny Hmm so I am not sure if I was using dracut or mkinitcpio, I have an “older” EOS install (I want to say 2019? 2020?) so I assume mkinitcpio. I have not idea why that hook wouldn’t have run though…I don’t recall anything strange happening prior to this issue.
Ok now I am having a new issue when trying to run pacman -Syyu (really not sure what I did to this machine!) - I get the following error message:
error: failed to commit transaction (conflicting files)
ostree: /etc/dracut.conf.d/ostree.conf exists in filesystem
ostree: /etc/ostree-mkinitcpio.conf exists in filesystem
ostree: /usr/bin/ostree exists in filesystem
ostree: /usr/bin/rofiles-fuse exists in filesystem
ostree: /usr/include/ostree-1/ostree-async-progress.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-autocleanups.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-bootconfig-parser.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-content-writer.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-core.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-deployment.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-diff.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-dummy-enumtypes.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-gpg-verify-result.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-kernel-args.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-mutable-tree.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-ref.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-remote.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo-deprecated.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo-file.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo-finder-avahi.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo-finder-config.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo-finder-mount.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo-finder-override.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo-finder.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo-os.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-repo.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-sepolicy.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-sign-ed25519.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-sign.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-sysroot-upgrader.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-sysroot.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-types.h exists in filesystem
ostree: /usr/include/ostree-1/ostree-version.h exists in filesystem
ostree: /usr/include/ostree-1/ostree.h exists in filesystem
ostree: /usr/lib/dracut/modules.d/98ostree/module-setup.sh exists in filesystem
ostree: /usr/lib/girepository-1.0/OSTree-1.0.typelib exists in filesystem
ostree: /usr/lib/initcpio/install/ostree exists in filesystem
ostree: /usr/lib/libostree-1.so exists in filesystem
ostree: /usr/lib/libostree-1.so.1 exists in filesystem
ostree: /usr/lib/libostree-1.so.1.0.0 exists in filesystem
ostree: /usr/lib/libostree/ostree-trivial-httpd exists in filesystem
ostree: /usr/lib/ostree/ostree-grub-generator exists in filesystem
ostree: /usr/lib/ostree/ostree-prepare-root exists in filesystem
ostree: /usr/lib/ostree/ostree-remount exists in filesystem
ostree: /usr/lib/pkgconfig/ostree-1.pc exists in filesystem
ostree: /usr/lib/systemd/system-generators/ostree-system-generator exists in filesystem
ostree: /usr/lib/systemd/system/ostree-boot-complete.service exists in filesystem
ostree: /usr/lib/systemd/system/ostree-finalize-staged-hold.service exists in filesystem
ostree: /usr/lib/systemd/system/ostree-finalize-staged.path exists in filesystem
ostree: /usr/lib/systemd/system/ostree-finalize-staged.service exists in filesystem
ostree: /usr/lib/systemd/system/ostree-prepare-root.service exists in filesystem
ostree: /usr/lib/systemd/system/ostree-remount.service exists in filesystem
ostree: /usr/lib/tmpfiles.d/ostree-tmpfiles.conf exists in filesystem
ostree: /usr/share/bash-completion/completions/ostree exists in filesystem
ostree: /usr/share/gir-1.0/OSTree-1.0.gir exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/home.png exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/index.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/left-insensitive.png exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/left.png exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-Core-repository-independent-functions.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-GPG-signature-verification-results.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-In-memory-modifiable-filesystem-tree.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-OstreeRepo.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-Progress-notification-system-for-asynchronous-operations.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-Root-partition-mount-point.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-SELinux-policy-management.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-Signature-management.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-Simple-upgrade-class.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-bootconfig-parser.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-chain-input-stream.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-checksum-input-stream.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-content-writer.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-deployment.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-diff.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-kernel-args.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-ref.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-remote.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-repo-file.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-repo-finder.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-repo-remote-finder.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree-ostree-version.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/ostree.devhelp2 exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/reference.html exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/right-insensitive.png exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/right.png exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/style.css exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/up-insensitive.png exists in filesystem
ostree: /usr/share/gtk-doc/html/ostree/up.png exists in filesystem
ostree: /usr/share/licenses/ostree/COPYING exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-cleanup.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-config-diff.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-deploy.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-init-fs.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-instutil.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-os-init.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-pin.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-set-origin.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-status.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-switch.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-undeploy.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-unlock.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin-upgrade.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-admin.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-cat.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-checkout.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-checksum.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-commit.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-config.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-create-usb.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-diff.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-export.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-find-remotes.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-fsck.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-gpg-sign.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-init.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-log.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-ls.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-prune.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-pull-local.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-pull.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-refs.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-remote.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-reset.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-rev-parse.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-show.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-sign.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-static-delta.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-summary.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree-trivial-httpd.1.gz exists in filesystem
ostree: /usr/share/man/man1/ostree.1.gz exists in filesystem
ostree: /usr/share/man/man1/rofiles-fuse.1.gz exists in filesystem
ostree: /usr/share/man/man5/ostree.repo-config.5.gz exists in filesystem
ostree: /usr/share/man/man5/ostree.repo.5.gz exists in filesystem
ostree: /usr/share/ostree/trusted.gpg.d/README-gpg exists in filesystem
Errors occurred, no packages were upgraded.
This means that your packages database is probably corrupt or damaged, probably after a failed update. ostree should just replace itself (in pacman language), but pacman thinks ostree is not installed.
There are 2+ ways to deal with this.
In depth investigation (pacman.log, pacman DB comparison)
Force pacman to overwrite
+. Reinstall the system
All have advantages and disadvantages, so the choice is yours
Ugh. Definitely don’t want to reinstall (I am quite comfy in my system these days).
I will force pacman to overwrite as a last option, what are my steps to investigate? (sorry this is why I posted in the newbie forum b/c while my linux skills are coming along, I still have a lot to learn!)
I did make a backup of /etc and /home/user on an external drive using rsync, I don’t think I need to backup and other directories though…at least I don’t believe I used them.
I looked in /var/log/pacman.log and I don’t see anything strange looking (at least to my eyes)…I was just looking at the last two updates prior to the incident. The only thing I can think is maybe I aborted an upgrade at somepoint? I don’t recall doing that but I see a pacman -Suyy started, then a pacman -Syyu started shortly after, thinking maybe I hit Ctrl-C because I thought I typed it wrong?
In any case - what else should I do? just go for the overwrite and hope for the best?
Edit: I also realize I have a timeshift backup from a month ago. Is that a better option?