You are not logged in.

#1 2019-01-14 09:07:56

atis
Member
Registered: 2019-01-01
Posts: 17

[Solved]: Linux kernel mismatch on /boot and pacman -Q linux

I just did a system update

 pacman -Syu 

Then a quick restart later I cannot start i3 because

 $DISPLAY 

and

 no Screen found errors. 

(Those aren't the exact errors I saw, just what I remember).

I also used a live usb to chroot into my installation and try updating again thinking if something got messed up during the update process, this could fix it. But I was wrong sad

 systemctl status systemd-modules-load.service 

shows this msg

systemd[1]: Starting Load Kernel Modules ...
systemd-modules-load[602]: Failed to lookup module alias 'crypto_user': Function not implemented
systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
systemd[1]: Failed to start Load Kernel Modules.
 grep boot /proc/self/mounts 

shows this

 /dev/nvme0n1p5 /boot ext2 rw,relatime,block_validity,barrier,user_xattr,acl 0 0 
 modprobe dm_mod 

shows this

 modprobe: FATAL: Module dm_mod not found in directory /lib/modules/4.20.0-arch1-1-ARCH 

Although looking at the repos

 linux 4.20.1.arch1-1 

seems to be the latest version. I don't remember which one got installed when I updated the system but I think it should be the one in the repo. So why would kernel version show 4.20.0-arch1-1? I suspect this could be the thing that's causing the error.

Last edited by atis (2019-01-15 12:58:08)

Offline

#2 2019-01-14 09:40:09

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,430

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

What's your output for

pacman -Q linux
uname -a

the versions reported there have to match
Did you have that /boot partition mounted while doing the update? If not then that's likely to be your issue

Offline

#3 2019-01-14 10:08:33

atis
Member
Registered: 2019-01-01
Posts: 17

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

 pacman -Q linux 

shows

 linux 4.20.1.arch1-1 

and

 uname -a 

shows

 Linux atis 4.20.0-arch1-1-ARCH #1 SMP PREEMPT Mon Dec 24 03:00:40 UTC 2018 x86_64 GNU/Linux 

It is (was) as working system. I was just doing a routine weekly update at the time.

I assume if you booted into a working system, /boot should be mounted by default, should it not?

Offline

#4 2019-01-14 11:31:33

atis
Member
Registered: 2019-01-01
Posts: 17

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

I just tried updating from live-usb with EFI partition mounted on /boot.

 mkinitcpio -p linux 

does show

 Starting build: 4.20.1-arch1-1-ARCH 

but after it's done,

 pacman -Q linux 

and

 uname -a 

still show different versions.

Offline

#5 2019-01-14 11:42:42

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,430

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

Just for clarification the uname -a should be run from the actual system not the chroot. /boot doesn't have to be mounted for a successful boot it depends on what is configured in your boot loader.  if that one points to the /boot partition then it will boot from there, however if it points to the /boot directory on your root partition, it will boot from there. Depending on which of the two is the case, you are installing the kernel to the wrong location (if /boot as in the partition is unmounted the kernel will be written to the /boot directory on your root filesystem, and not to the partition)

Offline

#6 2019-01-14 11:52:28

atis
Member
Registered: 2019-01-01
Posts: 17

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

Both

 arch-chroot 

and the actual system report same output on

 uname -a 

. I should add I'm using systemd-boot not grub.

V1del wrote:

if that one points to the /boot partition then it will boot from there, however if it points to the /boot directory on your root partition, it will boot from there

That could be it. At first I did the normal install with

 /boot 

mounted from root's. Just now I ran

 pacman -S linux 

with my EFI partition on /boot path (Windows' EFI partition. It's a dual boot machine).

Both of the times it showed different results on either of those commands.

EDIT: /boot partition mentioned in my fstab is the one loaded in root. Windows' EFI isn't mentioned in it.

Last edited by atis (2019-01-14 11:56:23)

Offline

#7 2019-01-14 12:31:49

atis
Member
Registered: 2019-01-01
Posts: 17

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

Right now I have downgraded the kernel and things seems to be fine now.

This is what

 lsblk 

shows

NAME                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
nvme0n1                 259:0    0   477G  0 disk  
├─nvme0n1p1             259:1    0   499M  0 part  
├─nvme0n1p2             259:2    0   100M  0 part  
├─nvme0n1p3             259:3    0    16M  0 part  
├─nvme0n1p4             259:4    0 237.9G  0 part  
├─nvme0n1p5             259:5    0   400M  0 part  /boot
└─nvme0n1p6             259:6    0 238.1G  0 part  
  └─lvm                 254:0    0 238.1G  0 crypt 
    ├─volgroup0-lv_root 254:1    0    30G  0 lvm   /
    └─volgroup0-lv_home 254:2    0 208.1G  0 lvm   /home

Offline

#8 2019-01-14 16:12:35

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,430

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

You really have to figure out what's what here. If you use systemd-boot the case is pretty clear, unless you chainload another bootloader your /boot partition and the location of your linux images must (well technically, no, but you save yourself a lot of unnecessary scripting and additional work if that is the case) be the same as the ESP (so the ext2 partition in your OP cannot be correct, it should be a FAT variant).

Last edited by V1del (2019-01-14 16:15:54)

Offline

#9 2019-01-14 17:04:44

atis
Member
Registered: 2019-01-01
Posts: 17

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

Ah I see! So while

 nvme0n1p5 

gets mounted at

 /boot 

it isn't actually doing the job. I think I made that one when I thought I didn't have windows already installed but then I found out, so I installed systemd-boot on the ESP partition (nvme0n1p2) but the old

 /boot 

remained in my

 /etc/fstab 

I think I know what to do. Boot into

 arch-chroot 

via Live-USB. Mount proper partitions at proper locations, so first root, then  boot (nvme0n1p2) and then home.

 rm -rf 

that old fstab. Generate a new one and then run

 pacman -Syu 

which hopefully should fix everything.

Thanks for the help! I'll try this asap and report back.

Last edited by atis (2019-01-14 17:06:02)

Offline

#10 2019-01-15 12:55:58

atis
Member
Registered: 2019-01-01
Posts: 17

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

Hey V1del, that was the issue and I did exactly as my post above and it worked! Everything is working without a problem. Thanks for the help!

Offline

#11 2019-01-15 13:29:59

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,430

Re: [Solved]: Linux kernel mismatch on /boot and pacman -Q linux

Glad to hear, yes, this can be a bit confusing if you are used to BIOS boots and might've used a bootloader that can read from linux filesystems. But in this case you have to ensure the images are written to the EFI partition for them to be read by systemd-boot

Offline

Board footer

Powered by FluxBB