Cannot install kernel 6.12 using mhwd in chroot

Hello, after installing some packages at reboot GRUB only boots with MemTest. I tried to boot the system from the GRUB command line but I couldn’t find the kernel image (6.12) in /boot folder.
Then I tried with the Live USB using the recovery system: the first 2 ways have no effect. The third one installed the 5.10 kernel but I have a black screen when booting.
Now I’m using chroot but if I try to update the system with pacman

[manjaro /]# pacman -Syyu
:: Synchronizing package databases...
 core                  139.9 KiB   260 KiB/s 00:01 [######################] 100%
 extra                   8.3 MiB  3.83 MiB/s 00:02 [######################] 100%
 multilib              140.0 KiB   262 KiB/s 00:01 [######################] 100%
:: Starting full system upgrade...
 there is nothing to do

If I try to install other kernels I get this error:

[manjaro /]# mhwd-kernel -i linux614
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
error: no targets specified (use -h for help)

If i check kernel status i get this:

[manjaro /]# mhwd-kernel -li
Currently running: 6.12.4-1-MANJARO (linux612)
The following kernels are installed in your system:
   * linux510

will not work in chroot

use pacman instead

pacman -S linux612

I wouldn’t use 614 - it’s not an LTS like 612 is

Just install any kernel

use
mkinitcpio -P
update-grub

that should have already done it

update-mirrors -f
pacman -Syu

2 Likes

Thank you, I didn’t know mhwd doesn’t work in chroot.
With pacman I have this error, is a mount missing?

[manjaro /]# pacman -S linux612                      
resolving dependencies...
looking for conflicting packages...

Packages (1) linux612-6.12.17-1

Total Download Size:   139.22 MiB
Total Installed Size:  144.58 MiB

:: Proceed with installation? [Y/n] Y
error: could not open file: /etc/mtab: No such file or directory
error: could not determine filesystem mount points
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.

How do you get to chroot?

/proc should be mounted after that
which means
/etc/mtab
would be accessible
which it is not, as per the error message

mhwd does work
just mhwd-kernel -i ... doesn’t

Are you using btrfs by any chance? manjaro-chroot does not work with btrfs. You’ll need to take care of mounting the necessary volumes yourself. :point_down:

Assuming that the EFI system partition is on /dev/sda1 and the Manjaro root filesystem on /dev/sda2 — change this to what is applicable for your system — it would be something like this… :point_down:

mount -t btrfs -o subvol=@ /dev/sda2 /mnt
mount -t btrfs -o subvol=@home /dev/sda2 /mnt/home
mount -t btrfs -o subvol=@log /dev/sda2 /mnt/var/log
mount -t btrfs -o subvol=@cache /dev/sda2 /mnt/var/cache
mount -t vfat  /dev/sda1 /mnt/boot/efi
mount --bind /dev /mnt/dev
mount -t proc proc /mnt/proc
mount -t sysfs sysfs /mnt/sys
mount -t efivarfs efivarfs /mnt/sys/firmware/efi/efivars
chroot /mnt /bin/bash

Done!
I got into chroot by the Manjaro recovery tool (I attach screen)

Now I retried directly from terminal and mounted the system folder

    ~  lsblk                                                            ✔ 

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0  67.7M  1 loop /run/miso/sfs/livefs
loop1    7:1    0   1.1G  1 loop /run/miso/sfs/mhwdfs
loop2    7:2    0   1.5G  1 loop /run/miso/sfs/desktopfs
loop3    7:3    0 858.9M  1 loop /run/miso/sfs/rootfs
sda      8:0    0 223.6G  0 disk 
└─sda1   8:1    0 223.6G  0 part /run/media/manjaro/3601e1d3-845a-4d06-85d5-06b2b213d7b9
sdb      8:16   1  57.3G  0 disk /run/miso/bootmnt
├─sdb1   8:17   1   3.6G  0 part 
└─sdb2   8:18   1     4M  0 part 
    ~  sudo mount /dev/sda1 /mnt                                        ✔ 

    ~  sudo mount --types proc /proc /mnt/proc                          ✔ 


    ~  sudo mount --rbind /sys /mnt/sys                                 ✔ 
    ~  sudo mount --rbind /dev /mnt/dev                                 ✔ 
    ~  sudo chroot /mnt                                                 ✔ 
[manjaro /]# pacman -S linux612
resolving dependencies...
looking for conflicting packages...

Packages (1) linux612-6.12.17-1

Total Download Size:   139.22 MiB
Total Installed Size:  144.58 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 linux612-6.12.17...   139.2 MiB  4.56 MiB/s 00:31 [######################] 100%
(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) installing linux612                          [######################] 100%
Optional dependencies for linux612
    wireless-regdb: to set the correct wireless channels of your country
    [installed]
    linux-firmware: firmware images needed for some devices [installed]
:: Running post-transaction hooks...
(1/5) Arming ConditionNeedsUpdate...
(2/5) Updating module dependencies...
(3/5) Install DKMS modules
==> ERROR: Missing 6.12.17-1-MANJARO kernel headers for module v4l2loopback/0.13.2.
(4/5) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux612.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-6.12-x86_64 -g /boot/initramfs-6.12-x86_64.img
==> Starting build: '6.12.17-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [kms]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [plymouth]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-6.12-x86_64.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux612.preset: 'fallback'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-6.12-x86_64 -g /boot/initramfs-6.12-x86_64-fallback.img -S autodetect
==> Starting build: '6.12.17-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [kms]
==> WARNING: Possibly missing firmware for module: 'ast'
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'bfa'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'xhci_pci_renesas'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [plymouth]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-6.12-x86_64-fallback.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
(5/5) Updating Grub-Bootmenu
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.10-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
ERROR: mkdir /var/lock/dmraid
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
done
[manjaro /]# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux510.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-5.10-x86_64 -g /boot/initramfs-5.10-x86_64.img
==> Starting build: '5.10.234-2-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [kms]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [plymouth]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-5.10-x86_64.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux510.preset: 'fallback'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-5.10-x86_64 -g /boot/initramfs-5.10-x86_64-fallback.img -S autodetect
==> Starting build: '5.10.234-2-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [kms]
==> WARNING: Possibly missing firmware for module: 'ast'
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'bfa'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [plymouth]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-5.10-x86_64-fallback.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux612.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-6.12-x86_64 -g /boot/initramfs-6.12-x86_64.img
==> Starting build: '6.12.17-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [kms]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [plymouth]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-6.12-x86_64.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux612.preset: 'fallback'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-6.12-x86_64 -g /boot/initramfs-6.12-x86_64-fallback.img -S autodetect
==> Starting build: '6.12.17-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [kms]
==> WARNING: Possibly missing firmware for module: 'ast'
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'bfa'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'xhci_pci_renesas'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [plymouth]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-6.12-x86_64-fallback.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
[manjaro /]# update-grub
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.10-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
done

But still doesn´t boot. After the splash loading screen i got a black monitor.

No, i’m not using a btrfs filesystem. Thanks

I do not know this tool, what it does and how.
To me it looks like another obfuscation layer.

My opinion from trying to use it - not your fault.
It sure did mess with my perfectly functional system - I’m not touching the tool again.

What I do know is the command line tool manjaro-chroot

lsblk -f
gives more relevant and important output

Do not mount anything after you booted the ISO - just use
manjaro-chroot -a
from that same terminal.

See how that goes.

Do not use the system recovery tool.
If you do, I cannot help you - as I do not know it - see above.

It is available on live iso, package named manjaro-rescue authored by @Ste74

Stefano Capitani / manjaro-rescue · GitLab

A launcher named Restore installed system settings is provided.

I know.
I’ll have a look at it’s code to try and learn how it works.

Before writing my last post, I did try to use it - on my perfectly functioning system.
It didn’t manage to spot that I have (in /etc/fstab)
a separate partition for /var/cache/pacman/pkg
and so it proceeded to download the updates without mounting that partition.
Not the end of the world, but the / file system is not the place the downloaded packages belong (in my setup).
I interrupted the tool and had to clean up the mess manually.

1 Like

you have to remove this old kernel version ,
and add other

under chroot

pacman -Rs linux510 
pacman -S linux66 linux66-headers linux612-headers
mkinitcpio -P
sync
exit ( end chroot )

I suggest you create an issue with the developer @Ste74 as he is very open to improving the tool

The problem with such tools - any deviation on the target system must be accounted for - and that is not an easy task.

1 Like

No, it didn’t fix the problem. Always stuck on boot after loading screen
Now instead of the 510, as second kernel I have 66

[manjaro /]# mhwd-kernel -li
Currently running: 6.12.4-1-MANJARO (linux612)
The following kernels are installed in your system:
   * linux612
   * linux66

can you reboot , press Esc to see grub appears
go in advanced section and select kernel6.6

Yeah, i had already tested both kernels boot in GRUB without success

Yes, i used the recovery tool only at the first try. Then i follow your step using the standard manjaro-chroot and mount /dev/sda1

If yuo wanna give a look at lsblk -f output…here the result:

lsblk -f                                                         ✔ 
NAME FSTYPE FSVER LABEL             UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0
     squash 4.0                                                                0   100% /run/miso/sfs/livefs
loop1
     squash 4.0                                                                0   100% /run/miso/sfs/mhwdfs
loop2
     squash 4.0                                                                0   100% /run/miso/sfs/desktopfs
loop3
     squash 4.0                                                                0   100% /run/miso/sfs/rootfs
sda                                                                                     
└─sda1
     ext4   1.0                     3601e1d3-845a-4d06-85d5-06b2b213d7b9  141.7G    30% /run/media/manjaro/3601e1d3-845a-4d06-85d5-06b2b213d7b9
sdb  iso966 Jolie MANJARO_XFCE_2421 2024-12-16-11-22-45-00                     0   100% /run/miso/bootmnt
├─sdb1
│    iso966 Jolie MANJARO_XFCE_2421 2024-12-16-11-22-45-00                              
└─sdb2
     vfat   FAT12 MISO_EFI          9D59-BEAA             

manjaro-chroot -a should work

install a kernel using pacman
mhwd-kernel -i doesn’t work in chroot

mhwd-kernel -l lists what is available - choose one and
pacman -S linuxXYZ

OK, here’s the story:
With the help of @Nachlese I solved the main problem about missing kernel in GRUB boot
I kept the focus on the kernel not thinking that the problem instead had moved
So, digging into the boot.log in /var/log and I found a break in the LightDM.
Going in depth I also checked Xorg.0.log and it is here that I found an error on the nVidia kernel.
I reinstalled the drivers but when I checked if the module was loaded (with modprobe), new errors came out.
After several checks, I finally found out that nouveau driver creates the conflict with proprietary nVidia files, so I put it on blacklist and boot went smoothly. Honestly I do not know what has activated them in the past…

Thank you all for your support

in this case , that i do
double command in terminal , to get the good blacklist drivers

 sudo mhwd -a pci free 0300 
 sudo mhwd -a pci nonfree 0300