Chakra entry missing in boot menu - kernel panic when trying to boot live system

Hardware information
CPU: AMD 3900X 12 core cpu
Mainboard: MSI MEG X570 ACE 
Ram: Patriot Viper 16gb DDR-3733@3600
GPU: Zotac Gtx 1080 Amp Extreme
SSD: M.2 Patrio Viper VPN100 512gb

Hello,

as the title already gives away, the chakra boot entry is gone. It happened when I updated the uefi bios. Sadly with the new bios I am also unable to boot the live medium. I just get a kernel panic (screenshot). After all the ‘current’ iso is quite old, while my new system is based on a very modern platform.

There is one thing I tried so far. I booted another linux (kde neon) and tried to restore that entry with the help of efibootmgr.
This is the command I have used (as far as I recall):

sudo efibootmgr -c -L "Chakra" -l "\EFI\chakra\grubx64.efi" -d /dev/sda -p 1

It certainly restored an entry, but that one was broken. From my understanding it just created a link to the chakra bootloader, which of course still exists on the disk. Why that was not enough, is beyond me.

What else can I do? I have read about booting into a live system, chroot into the chakra partition and then do something like “grub-install /dev/sda && update-grub”. Since I am forced to boot a non chakra linux, I am not shure if that would be wise.

Also why did that entry get lost in the first place? That never happened to all the other uefi installs I had in the past from kubuntu/neon. I must say the chakra entry is quite fragile. The last time simply I did not care about fixing that for the moment, since the old system was dying anyway.

Any help is appreciated. Also where do I report so a newer iso can be created? I don’t think I need a working chakra live iso to fix my main problem, but who knows.

don’t trust efibootmgr!
i had some trouble with written entries and a long time i wasn’t able to boot a live system but a cleaned NVRAM solved this problem.

  1. boot a live system
  2. reinstall grub
    2.1 i would clean the NVRAM first and delete all boot entries chakra, neon, and so on
    2.1.1 efibootmger
    2.1.2 efibootmger -b <number> -B
    2.2 install grub https://wiki.archlinux.org/index.php/Grub#UEFI_systems

a propos you can boot directly with UEFI:

efibootmgr -c -d /dev/sda -p 1 -l \vmlinuz-linux -L "Chakra Linux" -u "initrd=/initramfs-linux.img root=/dev/sdXY rw quiet"

Hey,

regarding the nvram thing, I never tried to clear it myself. From what I read it should be cleared with each bios update anyway. Probably that’s how the chakra entry got lost. So I guess/hope that I can rule that out.

Anyways, I am just using a current arch iso now and chroot into the chakra install. Hoping that this should work. I tried to install grub based on the guide you linked.
I have a non functioning Chakra entry again. Booting that entry ends up in grub rescue, telling me symbol grub_file_filters not found. (screenshot).

Here are the steps I have done after booting the arch iso:

  1. I turned swap on pointing to my swap partition.
  2. Mounted the chakra root on “/mnt”
  3. Mounted the home partition on “/mnt/home”
  4. Mounted the efi partition on “/mnt/boot/efi”
  5. arch-chroot on /mnt
  6. Installed grub with: grub-install --target=x86_64-efi --efi-directory=/boot/efi/EFI --bootloader-id=Chakra
  7. Generated a config with: grub-mkconfig -o /boot/grub/grub.cfg

The outputs of all commands looked fine. No errors or anything like that. Perhaps I missed something or did a crucial mistake somewhere.

Regarding the current status, some infos lead me to a boot-repair-disk. Since I do not know what that does, I don’t trust the “one click” solution for now.

My intuition tells me that it is the grub I installed with the arch linux. Maybe it is a different version (newer?) and not compatible with the configs chakra supplies. Or the package is differently built. I am aware that chakra was based on arch once.

I will try to work with the grub rescue, maybe it is an easy fix. First I have to read into it, I never had to deal with that before. But all that will happen later.

Good night.

i found this https://bbs.archlinux.org/viewtopic.php?id=248681 => solution at post 8 => wrong hardware configuration

Ah, I have seen that too, but figured my problem is (probably) something else. On the other hand there is a link in that thread which I consider to be interesting: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=931896#10

Anyways, I “played” a little with the grub rescue console. According to the arch wiki, the usage looked pretty simple. Like I only need 5 simple commands to boot chakra and then can fix grub through chakra.
That did not work as intended.

The culprit is loading the linux.mod module. Which is important and needed for running another command later. At first that arch grub looked at a “wrong” location. Or at least not where that file is on my chakra installation (screenshot). So I booted the arch install, copied the file to the “correct” location and tried again. This is the result: another screenshot

grub_file_filters not found

I am now very shure that this grub I installed trough the arch installation medium is simply not compatible with the chakra installation. Does this make sense?

The more and more I think about it, I should have tried to boot chakra with the help of efibootmgr, like you have mentioned in your first post. Then I could work with chakra. Do a grub install and configuration based on the chakra packages. To late for that now.

Ohh, how I would love to just reinstall chakra now :upside_down_face:

I will do more research based on my new findings. Maybe I can use the linux.mod file that arch uses?^^

this does not make sense if you are chrooted because it’s grub from chakra.
have you reinstalled grub pacman -S grub?

anyway, you are not forced to use grub because there are more opportunities.
i am using the UEFI interface to boot the kernel direct (see example above) because it is faster then a boot loader like grub.

That is good to know! I thought it would simply use the arch repository.
Since I have not reinstalled the grub package before, I just did that. Followed by all the steps I mentioned in post 3. That resulted in the same error (“file filters not found”).

I tried some various other things which always resulted in the same error. I spare you the useless details I originaly had here. It was simply to much :laughing:

I will abondon Grub, since it doesn’t seem to like me anymore. rEFInd sounds interesting and seems super simple to implement, like that will work. There even is a tutorial on the chakra forum by Chroot Doot: How to install rEFInd

rEFInd is installed, but not configured correctly for now. Since I used chroot to install it, the wrong kernel options are written in the config.

This is the current config:

“Boot with standard options” “archisobasedir=arch archisolabel=ARCH_202001”
“Boot to single-user mode” “archisobasedir=arch archisolabel=ARCH_202001 single”
“Boot with minimal options” “ro root=/dev/nvme0n1p6”

I do not know the correct kernel options, nor how I can get them while chrooting. Other than that rEFInd is working. At least I can boot windows and it is certainly picking up every conceivable thing. Including my non working grub entries.
For some reason there is no (broken) rEFInd entry based on the uncomplete configuration. I kind of expected there to be an entry for that. Maybe it will appear, once I have applied the correct kernel options.

If anybody knows what I need to input there, I would be thrilled to know it too!

Good night :slightly_smiling_face:

you can find the used kernel options in /etc/default/grub or in /boot/grub/grub/grub.cfg… or you belief me rw quiet or if you use hibernation rw quiet resume.

how to use refind https://wiki.archlinux.org/index.php/REFInd

edit:

don’t use ro

My abstinence did not mean that I fixed it. I just needed a break and had other things in mind.

What I did so far was creating a custom entry for rEFInd (“manual boot stanza”). For some reason I get an error regarding vmlinuz-linux:
Invalid loader file! Error: Not found while loading vmlinuz-linux

Here the configuration of said entry:

menuentry "ChakraTest" {
    icon /EFI/refind/icons/os_chakra.png
    volume 8ef902d9-0bec-4a9d-b8b5-1e575a3a5f55
    loader /boot/vmlinuz-linux
    initrd /boot/initramfs-linux.img
    options "root=UUID=8ef902d9-0bec-4a9d-b8b5-1e575a3a5f55 rw quiet resume=UUID=a33f1ecf-787b-4de7-a815-c4e87f701552"
    #submenuentry "Boot using fallback initramfs" {
    #   initrd /boot/initramfs-linux-fallback.img
    #}
}

The UUID of volume is pointing to my root partition, where Chakra is installed and the /boot/vmlinuz-linux can be found. While the other UUID in options is pointing on the swap partition.

Here the ouput of blkid:

blkid output

e /dev/nvme0n1p1: LABEL="Wiederherstellung" UUID="F29625AC96257271" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="faf3a6d2-921a-476d-99df-4244ed1ef803" /dev/nvme0n1p2: UUID="66D7-D533" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="a4b4f117-c1a8-4ee7-b2ab-6211c6df25e5" /dev/nvme0n1p4: UUID="ECD60BFED60BC7B2" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="00967b60-7371-4571-baa5-99e7caf1db0e" /dev/nvme0n1p5: UUID="a33f1ecf-787b-4de7-a815-c4e87f701552" TYPE="swap" PARTUUID="986c8b99-40e8-4f37-baeb-6f8fdb9b36c0" /dev/nvme0n1p6: UUID="8ef902d9-0bec-4a9d-b8b5-1e575a3a5f55" TYPE="ext4" PARTUUID="88326830-272c-4093-921f-90eb910b711e" /dev/nvme0n1p7: UUID="495d71d8-61f9-4fa5-a98a-53a0782f02e0" TYPE="ext4" PARTUUID="030b254d-fc1b-4659-a5d0-dc834991c7e7" /dev/sdb1: LABEL="Spiele" UUID="793EA9B8406947B8" TYPE="ntfs" PTTYPE="dos" PARTUUID="7a7151ab-bd2c-0847-bbde-747c212b6455" /dev/sda2: LABEL="Daten" UUID="BA4AE46A4AE4253B" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="320c3e88-1c74-44aa-99e7-762b9cbccf37" /dev/sdc1: UUID="2020-01-01-05-20-18-00" LABEL="ARCH_202001" TYPE="iso9660" PTUUID="684f00b2" PTTYPE="dos" PARTUUID="684f00b2-01" /dev/sdc2: SEC_TYPE="msdos" LABEL_FATBOOT="ARCHISO_EFI" LABEL="ARCHISO_EFI" UUID="BD56-BD11" TYPE="vfat" PARTUUID="684f00b2-02" /dev/loop0: TYPE="squashfs" /dev/nvme0n1p3: PARTLABEL="Microsoft reserved partition" PARTUUID="3b168d32-c518-45b2-aba1-cc76cccd83cb" /dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="853f0968-08a0-4991-9b6d-6292f4d913d0"

My refind_linux.conf in /boot/ is basically untouched (I only removed the “ro”). But since I use a manual boot stanza now, that file is not needed anymore (according to the arch wiki).

refind_linux.conf
"Boot with standard options"  "archisobasedir=arch archisolabel=ARCH_202001"
"Boot to single-user mode"    "archisobasedir=arch archisolabel=ARCH_202001 single"
"Boot with minimal options"   "root=/dev/nvme0n1p6"

From what I found on the net, it could mean various things. Like either I point to wrong partition, or EFI is not accepting/finding the kernel.
I can’t comment on the kernel stuff, but I am very shure that I am using the correct partition. Or my understanding of rEFInd is fundamentally wrong.

When I look at the examples for arch systems the loader points towards the “vmlinuz-linux” file while the initrd command should point to the “initramfs-linux.img” file. That’s what I am doing right now and those files coincidentally do exist on my system. Even where I would expect them (under /boot).
Then again, reading the official (?) wiki makes manual boot stanzas look more complicated. Like loader and initrd expects other files than I am providing.

Maybe I will switch back to the refind_linux.conf. Now it looks like a simpler form of a custom entry, that works with some automation involved (like auto detecting the kernel). I will certainly invest some time in that. But thinking about my failing custom entry, I doubt that this will magically work.

Btw. thanks for the help so far. Otherwise I would be completely lost and just go with kde neon for the moment.^^

in the arch wiki thy use PARTUUID in the option line but i would also try similar efibootmgr notifivćation

loader /vmlinuz-linux  
initrd /initramfs-linux.img 
options root=UUID=<manyNumbers> rw <options>"

https://bbs.archlinux.org/viewtopic.php?id=182069

I fixed it, probably with a temporary fix, but I got it working. That relief man…

https://www.rodsbooks.com/refind/linux.html#testing

Creating a test configuration did it. So I have to copy the vmlinuz-linux and initramfs-linux.img file into the efi partition. Into a subfolder to be exact (in my case Chakra). Then I have to copy the refind_linux.conf into the same folder.

This is the content of that configuration, I keept it as simple as possible and basically just pointed to the root partition:

"Boot with minimal options"   "root=/dev/nvme0n1p6"

That newly created entry is working. It is hard to describe how I feel right now :grin:

Now I could potentially create a correct entry with the help of the mkrlconf command. Or try to fix my manual boot stanza.
Considering that using the UUID or PARTUUID was not working, perhaps the path like pointer will do it. After all using /dev/nvme… is working with the new approach.

Anyways now I can chill and take it slowly.

@brikler: Thanks for sticking with me!

I learned a lot regarding bootloaders and efi I never thought I needed before :sweat_smile:

Edit: For your information, I just run mkrlconf. The now correctly generated refind_linux.conf is also just pointing to the root partition…

"Boot with standard options"  "root=/dev/nvme0n1p6"
"Boot to single-user mode"    "root=/dev/nvme0n1p6 single"
"Boot with minimal options"   "ro root=/dev/nvme0n1p6"
1 Like