Parrot Squawks - Kernel Indigestion - Wizards Corner

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
10,927
Reaction score
9,901
Credits
52,106
I had a problem with my Parrot Home Edition a couple of days ago (5th January), following the running of a substantial number of updates which included a kernel upgrade. The nature of some of the updates was such that I knew in advance that, on completion and reboot, Parrot would take the lead on my extensive Grub Menu.

On rebooting, Linux went to boot Parrot and dropped me at a Kernel Panic screen.

Now, I have a bit of experience with Kernel Panics, and workarounds for them but in this case they would likely not have worked, as the issue ultimately proved to be with the kernel itself, or rather, with some packages already installed which got a stomach ache with a particular kernel.

Which kernel?

In my case it was the one described as 6.5.13

However it has been reported as happening with 6.5.0

So it appears that the 6.5 series has the problems with these packages, and in order to use your newer Parrot kernels, these issues must be addressed (unless or until those kernels are patched).

EDITED - bracketed portion. It is not the kernels at fault, but the defective packages must be removed in order to use the kernels.

I thought I would share with you what I found, in the hope that it will help you should you face these issues.

MY ACTIONS

With Kernel Panics, you quite often have to power down - press and hold the power button until the machine switches off. Then reboot/restart.

1. At my Grub Menu, with Parrot on top, I chose Advanced Options.

The first and second entries are to do with kernel 6.5.13 and its recovery mode, which I know won’t work, so I chose the 6.1.0 option (3rd) and booted from there.

KHsGSdE.jpg


2. Having established that the older kernel worked fine, I rebooted into another Linux (you could use a Parrot Live USB stick, install Timeshift on it) and then restored my Parrot to its state prior to the updates. I then began my search for answers.

QUALIFICATION - use of Timeshift is optional. I use it frequently, and recommend it.

3. I used the following keywords on Google

parrot kernel panic "6.5.0-13"

and found a number of recent articles from Unix & Linux Stack Exchange, Medium and Reddit.

I ultimately went with the Reddit one, because it had a solution from someone on the Parrot Team. I will provide its link below, but before you go racing off to use it, wait until I clarify its Step 6, on initramfs


Broadly speaking the problem was being caused with these packages

xtrx-dkms r8168-dkms realtek-rtl8188eus-dkms nvidia-kernel-dkms nvidia-driver

4. On my distros, I have mlocate or plocate installed on all of them, which allows me the use of the command locate, but if you do not have same, you can use the

find

command (read the manual if unsure, man find)

I found I had two (2) of the packages - r8168-dkms realtek-rtl8188eus-dkms installed, and I purged them as per the article instructions.

5. I then ran, as instructed,

Code:
sudo apt update && sudo parrot-upgrade


and rebooted, and I was good to go with the new kernel, after only three (3) steps.


KERNEL REFERENCES USED AND AFFECTED BY

In my case, I only run updates about once a month, preceded and followed by the taking of Timeshift snapshots.

My previous snapshot for Parrot was from 5 December, and it included the kernel described as

6.1.0-1parrot1-amd64

The kernel that, for me, crashed with Kernel Panic, was

6.5.0-13parrot1-amd64

However the Reddit article, with the post from Parrot’s @tissy_p , references

6.5.0-3parrot1-amd64

in Step 6, where there is a need to rebuild your

initramfs

So if you need to use Steps 4 to 10 from that article solution, be sure to use the correct kernel number that applies to you.

I have pointed out the difference in my case at Reddit, but I have worded it poorly, so may edit or address that.


Let us know if you have any questions or problems.


Cheers

Wizard
 
Last edited:


I had a problem with my Parrot Home Edition a couple of days ago (5th January), following the running of a substantial number of updates which included a kernel upgrade. The nature of some of the updates was such that I knew in advance that, on completion and reboot, Parrot would take the lead on my extensive Grub Menu.

On rebooting, Linux went to boot Parrot and dropped me at a Kernel Panic screen.

Now, I have a bit of experience with Kernel Panics, and workarounds for them but in this case they would likely not have worked, as the issue ultimately proved to be with the kernel itself, or rather, with some packages already installed which got a stomach ache with a particular kernel.

Which kernel?

In my case it was the one described as 6.5.13

However it has been reported as happening with 6.5.0

So it appears that the 6.5 series has the problems with these packages, and in order to use your newer Parrot kernels, these issues must be addressed (unless or until those kernels are patched).

I thought I would share with you what I found, in the hope that it will help you should you face these issues.

MY ACTIONS

With Kernel Panics, you quite often have to power down - press and hold the power button until the machine switches off. Then reboot/restart.

1. At my Grub Menu, with Parrot on top, I chose Advanced Options.

The first and second entries are to do with kernel 6.5.13 and its recovery mode, which I know won’t work, so I chose the 6.1.0 option (3rd) and booted from there.

KHsGSdE.jpg


2. Having established that the older kernel worked fine, I rebooted into another Linux (you could use a Parrot Live USB stick, install Timeshift on it) and then restored my Parrot to its state prior to the updates. I then began my search for answers.

3. I used the following keywords on Google

parrot kernel panic "6.5.0-13"

and found a number of recent articles from Unix & Linux Stack Exchange, Medium and Reddit.

I ultimately went with the Reddit one, because it had a solution from someone on the Parrot Team. I will provide its link below, but before you go racing off to use it, wait until I clarify its Step 6, on initramfs


Broadly speaking the problem was being caused with these packages

xtrx-dkms r8168-dkms realtek-rtl8188eus-dkms nvidia-kernel-dkms nvidia-driver

4. On my distros, I have mlocate or plocate installed on all of them, which allows me the use of the command locate, but if you do not have same, you can use the

find

command (read the manual if unsure, man find)

I found I had two (2) of the packages - r8168-dkms realtek-rtl8188eus-dkms installed, and I purged them as per the article instructions.

5. I then ran, as instructed,

Code:
sudo apt update && sudo parrot-upgrade


and rebooted, and I was good to go with the new kernel, after only three (3) steps.


KERNEL REFERENCES USED AND AFFECTED BY

In my case, I only run updates about once a month, preceded and followed by the taking of Timeshift snapshots.

My previous snapshot for Parrot was from 5 December, and it included the kernel described as

6.1.0-1parrot1-amd64

The kernel that, for me, crashed with Kernel Panic, was

6.5.0-13parrot1-amd64

However the Reddit article, with the post from Parrot’s @tissy_p , references

6.5.0-3parrot1-amd64

in Step 6, where there is a need to rebuild your

initramfs

So if you need to use Steps 4 to 10 from that article solution, be sure to use the correct kernel number that applies to you.

I have pointed out the difference in my case at Reddit, but I have worded it poorly, so may edit or address that.


Let us know if you have any questions or problems.


Cheers

Wizard
Congrats on plowing through your issue. I would have reinstalled the OS.
 
Fantastic bit of patience shown by yourself, Wizard.

Thanks for sharing your fix also, I am sure that it will help someone in the future - I just hope they have the same level of patience as yourself.
 
No, this has nothing to do with the kernel the issue is related to botched external modules: nvidia and realtek. It was enough to delete/purge offensive part, and reinstall.
If all users are affected irrelevant of the hardware, then this is one more proof that custom kernels make sense. Running timeshift is an unnecessary step.
 
Maybe I can clarify a few points, here.

No, this has nothing to do with the kernel the issue is related to botched external modules: nvidia and realtek.

I qualified, on the kernel, with

Now, I have a bit of experience with Kernel Panics, and workarounds for them but in this case they would likely not have worked, as the issue ultimately proved to be with the kernel itself, or rather, with some packages already installed which got a stomach ache with a particular kernel.
My highlighting.

The Parrot MATE I have running was installed from the following iso, which is the one most recently provided from DistroWatch

Parrot-home-5.2_amd64.iso

from March 2023.

I will list those problematic modules and drivers again. They were/are

xtrx-dkms
r8168-dkms
realtek-rtl8188eus-dkms

nvidia-kernel-dkms
nvidia-driver

My install resulted in only two (2) of those being present, as highlighted in colour. Others might have more or different.

The kernel that shipped with it was

linux-image-6.0.0-12parrot1-amd64 6.0.12-1parrot1

...that is, the 6.0 series.

tune2fs tells me that I installed it on this computer

Sat Sep 23 14:02:27 2023

My Parrot worked fine with those problematic packages until 5th December just passed, and because I only update monthly, I missed the release of the 6.5.0-3parrot1-amd64 referenced above, and referenced elsewhere by Parrot's team.

Instead, my updates were including 6.5.0-13parrot1-amd64, the introduction of which generated the Kernel Panic.

It was enough to delete/purge offensive part, and reinstall.

... and reinstall?

That would have simply repeated the issue, when you ran updates, I wonder if you have tried that?

The only thing to do if you took that course would be to
  • reinstall, and THEN
  • delete/purge offensive part and THEN
  • run updates
A reference on the nature of Kernel Panics can be read here https://phoenixnap.com/kb/kernel-panic and it says, in part

How to Fix Software Issues Causing Kernel Panic​

The steps below help troubleshoot kernel panic in case of software issues:
  1. Update Outdated Software. Ensure all software is updated and disable any programs installed just before the kernel panics started.
  2. Check On-Boot Launches. Check which programs are set to launch on boot. Disable any newly added software and check if the problem persists.
  3. Check for System Updates. Download the latest updates for your operating system and device drivers. If you are running an unstable beta version of the OS, it could be the cause of kernel panic.
  4. Use a Rescue Image. If you have recently made many changes to the system, consider using System Restore or Time Machine to roll back the changes to a point before the kernel panics started. Some operating systems offer rescue images by default. Boot up a rescue image to troubleshoot the issues.
  5. Check Crash Log. Linux log files provide useful insight into system errors. Examine the logs and check for anything that may cause an error with the kernel.
  6. Remove Third-Party Extensions. If you have installed any third-party kernel extensions, try removing them to identify if they are causing the issue.
  7. Free Up Disk Space. Free disk space is necessary to ensure the smooth operation of apps and processes. If there is no free disk space on the system, try manually removing old files and unused software to minimize the possibility of future kernel panics.
  8. Boot Up in Safe Mode. All Unix-based systems have a safe mode. If the system keeps going into kernel panic, try booting up in safe mode to have the opportunity to troubleshoot the issue.
  9. Reinstall the OS. If none of the steps above helped, reinstall the operating system to ensure no software bugs or malware will interfere and cause kernel panics. However, make sure to back up your data before reinstalling.

One of those

  • Use a Rescue Image. If you have recently made many changes to the system, consider using System Restore or Time Machine to roll back the changes to a point before the kernel panics started. Some operating systems offer rescue images by default. Boot up a rescue image to troubleshoot the issues.

...does not mention Timeshift, but it should be included, I submit.

And that is exactly what I did. I restored my Parrot to the pre-update state (took less than 10 minutes), then searched and deleted the two (for me) culprits, and then applied the updates and upgrades.

Problem solved. So
Running timeshift is an unnecessary step.

...may be your opinion, but the evidence speaks to the contrary.

I hope all of this is clear.

Cheers

Wizard
 
Just read reddit post. With understanding :) Devs advised to reinstall modules. They suggested to reinstall kernel so initrd is restored with new modules. This was easy solution for users without the knowledge how to rebuild initrd. They clearly stated that reinstalling OS (or restoring from backup) is not needed. Based on reddit post this was really mild issue easy fixable.
I always run custom kernels. Mishap like this is nothing serious :)
This is not me, but Parrot devs explaining how to fix the issue. You have "upgraded" kernel to exactly the same version.
The problem here is that novice may think that the steps you described in first post are correct while in fact they are not. Because there is no need to use timeshift and someone without backup will think that without backup one have to reinstall whole OS.
I am using custom kernels since ver 2 and I can tell that this was really trivial.
 
I have edited 2 points in my first Post, I hope it is to everyone's liking now.

They clearly stated that reinstalling OS (or restoring from backup) is not needed.

You should lose the bracketed content, nothing was said at the Reddit link about restoration solutions.

They suggested to reinstall kernel so initrd is restored with new modules.

No they referred to initramfs. initrd is deprecated, and is not mentioned at the article

man initramfs

has this, in part


The update-initramfs script manages your initramfs images on your local
box. It keeps track of the existing initramfs archives in /boot.
There are three modes of operation create, update or delete. You must
at least specify one of those modes.

The initramfs is a gzipped cpio archive. At boot time, the kernel un‐
packs that archive into RAM disk, mounts and uses it as initial root
file system. All finding of the root device happens in this early
userspace.

I am glad for you with

I always run custom kernels. Mishap like this is nothing serious :)

and

I am using custom kernels since ver 2 and I can tell that this was really trivial.

However, that probably is of little comfort to 90% or more of our readers and membership, who likely fall into the category of novice/beginner/intermediate.

I believe this thread, as edited, should assist those people who use Parrot Home as their daily driver, and may not find the appearance of a Kernel Panic as trivial.

Enjoy your Linux, everyone.

Cheers

Wizard
 
Last edited:
You have only three commands to run:
To fix this, DO NOT REINSTALL PARROT FROM SCRATCH but follow the steps below to restore your ParrotOS installation (thanks to Louis Master and Kent - from our Telegram community - who gave their contribution by providing these instructions) :

  1. From the GRUB menu select "Advanced Mode" and start Parrot OS 6.1 kernel;
  2. Purge the following packages (which are the causing problem) with this command:
sudo apt purge xtrx-dkms r8168-dkms realtek-rtl8188eus-dkms nvidia-kernel-dkms nvidia-driver

3. Launch these commands then reboot

sudo apt update && sudo parrot-upgrade
Nothing else. This is what Parrot devs suggest and this is what you should do.
Everything else is just excess baggage :)
I have seen my mistake initrd vs initramfs. I did not think that this is such a big deal. Personally I don't use either. Nevertheless I am sorry for my error.

While I did not ask for your assesment of my experience, thank you for your classification as novice/beginner/intermediate.
 
"you" should have been "who" - a typo (my bad) which I have edited above. Read it now, if it will settle your ruffled feathers.

Everything else is just excess baggage :)

In your opinion, only, it would seem, so far.

The purpose of this Thread is to share with others what I did and recommend, underpinned by the comments from (not the Devs, but) Parrot's Community Manager, who placed instructions provided by their Telegram members.

It is not a Tutorial, merely a guide with options (Timeshift being one of those), and as such does not require limiting itself to a minimal skeleton of "must do" steps.

If you use our Search facility and type in

wizards corner

followed below that by

wizardfromoz (auto-completes)

you will find I do that from time to time and articles are generally well received.

If you wish to persist in further nit-picking, you might wish to assess whether you wish to remain here, or to seek other options in terms of forums.

Cheers

Chris Turner
wizardfromoz
 


Top