You are not logged in.
Hi all,
I am a total beginner to anything OS related.
I happened to mess up my arch linux system. I am getting the following error when I try to restart my server: kernel panic - not syncing : Attempted to kill init! exit code = 0x00007f00 .
I remember having done something wrong with openssl and the final command I executed was "sudo rm /usr/lib/libcrypto.so.1.1 /usr/lib/libssl.so.1.1 ".
I used a bootable USB to get a libcrypto.so.1.1 and libssl.so.1.1 and pasted them in the /usr/lib of my filesystem. Even after doing this, adding the path to LD_LIBRARY_PATH, editing /etc/ld.so.conf.d to include /usr/lib, changing the permission, I still get the error "error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory" -- what is the meaning of this and how can I resolve this?
Secondly now when I try to do "openssl version" on my filesystem (with chroot) I get the error "/usr/lib/libc.so.6: version 'GLIBC_2.38' not found (required by /usr/lib/libcrypto.so.3)". When to try to install GLIBC_2.38 using pacman, I get the above libcrypto.so.1.1 error. How do I resolve this? My hope is that once I install GLIBC_2.38 , I will fix openssl and will have my machine working fine. Or will have atleast cracked the recipe to getting it work properly.
Directly trying to install openssl again also gives the same libcrypto.so.1.1 error.
Someone please help me. Very desperately need stuff to work. Attaching an image of the entire trace of what I am doing can be found here
Thanks!
Offline
Boot the install iso and us its pacman to update and fix your system.
https://wiki.archlinux.org/title/Pacman … an_upgrade
You probably cannot use the chroot via --sysroot, so use --root=/mnt and --cachedir=/mnt/var/cache/pacman/pkg instead.
For a list of damaged packages:
sudo LC_ALL=C pacman -Qkk | grep -v ', 0 altered files'Everyhing "mtree" is bad, every deviation in /usr/bin and /usr/lib is bad, some changes in /etc are certainly normal.
editing /etc/ld.so.conf.d to include /usr/lib
Undo that, go knows what files you copied there, but the library path isn't your problem.
Offline
hi ! thank you soo much for your answer.
So I did all the steps. After I did a reboot, I got the error
[FAILED] Failed to mount /boot.
[DEPEND] Dependency failed for Local File Systems.
[FAILED] Failed to mount Mount unit for certbot, revision 3566;certbot, revision 3643;core, revision 16574; core20,snapd..To fix the last error, I used
systemctl disable all/snapd/files/which/were/causing/error/as some forum answers suggested that snapd is not that important of a package. This removed all the last errors.
Now I am stuck with the first two. To fix this, I corrected my linux kernel version. Now I do
mount my/filesystem /mnt
mount -t proc proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
chroot /mnt
uname -a
uname -r
file /boot/vmlinux....Using the last 2 commands, I see linux-6.7.6-arch1-2 while the last one shows linux-6.7.6-arch1-2 and linux-lts-6.6. Then why am I still facing the issue?
Also /etc/fstab has the right UUID of /boot.
Checking the list of broken packages, I did find a couple including /usr/lib/os-release, /boot/syslinux (missing), /boot/syslinux/syslinux.cfg (missing), /boot/memtest86+ (missing), ec/boot/memtest86+/memtest.bin (missing) etc. The complete list can be found here . However, I took this snapshot before making the linux compatible. So might be that now some of these are fixed. Can try again tomorrow if any of the packages seem relevant to my current situation.
Any suggestions for how I should resolve the /boot error and if what I did for the other snapd mounts is wrong?
Really grateful and appreciate your help!
Last edited by cy12345 (2024-03-24 13:37:03)
Offline
Please use [code][/code] tags, bbs predates markdown by approximately your lifetime. Edit your post in this regard.
I doesn't look like you're booting a boot partition there?
And just
Also /etc/fstab has the right UUID of /boot.
inside the chroot won't mount it.
Mount it and update the system/kernel.
The output of uname from the chroot will still just show the booted kernel, which is the one of the install iso.
Offline
Thanks!
I have a partition p1 which has the home and all the files, there is a boot folder here. I mount p1 as /mnt and therefore have a folder /mnt/boot.
There is another partition p2 which is listed as /boot in /mnt/etc/fstab and I mount p2 as /boot.
After this I see that /mnt/boot basically has all the right versions of linux that I installed (6.7.6-arch1-2) and also linux-lts (6.6). This folder has vmlinuz-linux and vmlinuz-linux-lts but doesn't have Grub and EFI folders.
However, /boot (p2) has the linux which I didn't install but has the grub and EFI folders and also a vmlinuz-linux. In the Grub folder, there is a file called grub.cfg which has lines like
linux /vmlinuz-linux root=UUID="uuid of p1 (/mnt)" Should this be the case?
I replaced all files in /boot with the files in /mnt/boot but there was no grub, so I kept the old grub -- got the same error. Then I changed the UUID in the above line with that of p2's uuid and then the system would crash randomly.
I mount proc as mount -t proc proc /mnt/proc. Then I do
cat /proc/cmdline or
cat /mnt/proc/cmdline and I always see
BOOT_IMAGE=/arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisodevice=UUID=2024-03-01-15-06-37-00but there is no such folder as /arch and the UUID is also not the UUID of p2.
What should I do? can you please tell me how to mount what and then what should I do? Will be really grateful for your help, I really need to get this system running asap :'(:'(:'(:'(:'(:'(
Offline
After this I see that /mnt/boot basically has all the right versions of linux that I installed (6.7.6-arch1-2) and also linux-lts (6.6). This folder has vmlinuz-linux and vmlinuz-linux-lts but doesn't have Grub and EFI folders.
However, /boot (p2) has the linux which I didn't install but has the grub and EFI folders and also a vmlinuz-linux
So you're most likely booting from "p2" (in general, please don't paraphrase, https://bbs.archlinux.org/viewtopic.php?id=57855 ) - wipe /mnt/boot, mount "p2" there and re-install the kernel.
/proc/cmdline from the iso boot will always show the iso boot, it's meaningless wrt your problem.
Offline
We mounted /boot on /mnt/boot and then updated linux after doing arch-root to /mnt. It didn't work this time as well.
So we realized we had to do grub-mkconfig -o /path/to/grub.cfg and then it worked. This time we also removed the 'quiet' parameter from the Grub.cfg by pressing key E when the grub menu appeared. Then we had to wait atleast 10 minutes for fsck to run on all partitions. And voila! we could log in.
Thank you soooo much for your help. We were so lost.. but your guidance eventually sorted everything
:)
Offline
"We"?
Literally
grub-mkconfig -o /path/to/grub.cfg
won't have done anything, but you might still have run into https://archlinux.org/news/grub-bootloa … ibilities/
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