Kernel panic not syncing: No working init found - after latest update Dec2016

update
kernel
virtualbox
#1

Hi all,

I updated my Manjaro guest system in Virtualbox to the latest updates, after rebooting the guest machine, I get kernel panic - not syncing. No working init found. [Screenshot provided]

How do I solve it on a VB guest machine?

My inixi output is here but the problem has accrued in a VIrtualBox Guest machine.

Thank you in advance.

#2

Unfortuanately, I don’t know enough to explain the exact nature of the error. Your VM Manjaro initramfs could be borked, or it could be a simple GRUB error. Others more expert with GRUB config and/or mkinitcpio could hopefully provide more clarity here.

Is your init systemd or openrc? You are on Manjaro Stable repos for this VM?

What is your host OS? If your host system is Manjaro also, did you update VirtualBox Oracle Extensions to 5.12 from AUR during your upgrade? This would cause a version mismatch as Manajro Stable is still on 5.10, but not sure it would cause this type of booting issue. It may.

Do you have any other kernels installed in your Manjaro VM, other than 4.4 LTS? If so try and boot into it.

You could boot into your Live environment by attaching the Manjaro Live ISO file to the VM optical device, reboot your VM, once there mount your VM system root partition to /mnt, manjaro-chroot to reassign your root directories to /mnt, and use mhwd to install another kernel (ie 4.8 or 4.9) to your VM system. I think this install process creates a new initramfs and reconfigures GRUB to include the new kernel.

I would make a snapshot of your VM before doing all this, just in case.

1 Like
#3

Thank you for your reply, @sueridgepipe
I don’t know how to find out about my init being systemd or openrc.
I did install VirtualBox trough Pamac.
My host OS is Manjaro Stable, 4.4.39-1. I did not specifically go in the AUR section in Pamac in the guest machine to update anything. I just did the recomended update trough Pamac. I only have 4.4 kernel.

My Host Machine inixi output is here

To be honest, I did not understand what exactly to do with this:

You could boot into your Live environment by attaching the Manjaro Live ISO file to the VM optical device, reboot your VM, once there mount your VM system root partition to /mnt, manjaro-chroot to reassign your root directories to /mnt, and use mhwd to install another kernel (ie 4.8 or 4.9) to your VM system. I think this install process creates a new initramfs and reconfigures GRUB to include the new kernel.

Is there a step by step command line procedure I can do? That make it easier for me to understand/progress.

Once again, thank you for your reply.

Appreciate more help if possible.

Regards

#4

A couple of things, it is very useful to have at least 2 kernels installed on your system at any one time. This way if you have issues booting into one, you can try the other.

If you don’t know the difference between systemd and openrc, then you are using systemd, as this is the Manjaro default init process. If you have no idea what an init process is, or about the Linux boot process works, here are some links that may help.

How did you install VirtualBox? From the Manjaro repos or from the Oracle website? You should always use Manjaro repos IMO. What VirtualBox packages do you have installed?

When a system doesn’t boot the only real way to diagnose the issue is to boot into a Manjaro Live environment. On a bare metal system the live boot media is created by burning the Manjaro ISO to a USB device or a DVD. I imagine you created a Live environment to install your system from.

Once successfully booted into a Live environment to properly diagnose an issue you need to change its working directories to your borked systems directories. The command is chroot, but Manjaro has created a better tool called manjaro-chroot which does a few extra mappings on a Manjaro system.

Have a read for what this command is and try and understand it conceptually at least.

https://wiki.archlinux.org/index.php/Change_Root

You boot into your Live environment within VirtualBox VM by virtually putting the Manjaro ISO into the VMs virtual optical device (ie DVD drive). Do this via Settings -> Storage -> Optical Drive. Check the VM boot settings and it should now boot into live, not the VM system.

To chroot from Live into a broken Manjaro system, first boot into Live, then

  1. Work out which device is your system root partition. Use the output of lsblk command to work this out. It will be /dev/sda2, or something similar.

  2. You then need to mount this system root partition to a directory, for example /mnt, or any other directory name you wish. Make sure the /mnt directory exists, if not create it using mkdir. Then use the mount command sudo mount /dev/sda2 /mnt.

  3. Once your system root partition has been successfully mounted you can use manjaro-chroot to change the root directory of your live environment to that of your mounted system root partition, using sudo manjaro-chroot /mnt.

Any commands you don’t understand internet search them, or read the man page, or search the Manjaro/Arch wiki for explanations, or do all three :slight_smile:.

Once you have chrooted into your borked system, all the commands you execute are applied to this system, not your Live environment.

For example to check journal logs for errors from previous boot cycle you could use

journalctl -p err -b

To install an additonal kernel you can you the mhwd-kernel command. Have a read on how Manjaro handles kernel installation and removal here.

https://wiki.manjaro.org/index.php?title=Manjaro_Kernels

So to install a new kernel into your chrooted VirtualBox Manjaro VM system, use the command.

sudo mhwd-kernel -i linuxXX

Where XX is the kernel version (ie 48 for latest 4.8 kernel, or 49 for latest 4.9 kernel, etc). The 4.9 kernel is very new, so I’d probably use the latest 4.8 kernel, but it is up to you. In a VirutalBox VM both should work.

After installation your GRUB menu should now have an entry for your new kernel. If you want to boot into the old one, you access it from the Advanced menu.

Now attempt to boot into your new kernel in your borked VM Manjaro system.

I know this is a lot of info, but it is kind of the perfect kind of problem to learn from, particularly how the Linux boot process works and how to use manjaro-chroot to diagnose issues in a broken system.

Like I said previously, take a VirtualBox Snapshot of your VM machine as a backup, just in case. Worst case you restore the snapshot and nothing has changed.

3 Likes
[Stable Update] 2017-07-27 - Kernels, VirtualBox, Deepin, Mesa
#5

Thank you so much for the detailed explanation @sueridgepipe

I have installed everything through Manjaro repos, including VirtualBox.
I did do your instructions and chroot and installed kernel 4.8 in the guest machine, rebooted, and could boot into 4.8. But when booting into 4.4, I get the same kernel panic message.
Can it be fixed somehow or I should continue using 4.8?

On the host machine I have virtualbox 5.1.10-1, virtualbox-guest-iso 5.1.10-1, virtualbox-host-dkms 5.1.10-1.1 and linux44-virtualbox-host-modules 5.1.10-1.
On the guest machine I have virtualbox-guest-dkms 5.1.10-1.1, virtualbox-guest-utils 5.1.10-1, linux44-virtualbox-guest-modules 5.1.10-1 and linux48-virtualbox-guest-modules 5.1.10-4.

This did not give anything to me while on live boot:

But after successful boot this is what I get for the day:

Dec 28 08:58:08 ManjVBXfce kernel: e1000 0000:00:03.0 enp0s3: Detected Tx Unit Hang
Tx Queue <0>
TDH <0>
TDT <1>
next_to_use <1>
next_to_clean <0>
buffer_info[next_to_clean]
time_stamp
next_to_watch <0>
jiffies
next_to_watch.status <0>
Dec 28 08:58:09 ManjVBXfce kernel: e1000 0000:00:03.0 enp0s3: Reset adapter

Thank you.

P.S. I have started to read the Wiki pages. Thank you

#6

You could boot into your VM Manjaro system using Linux 4.8 kernel, use the Manjaro Settings Manager GUI to remove the 4.4 kernel and then re-install it. Or you could use mhwd-kernel from the CLI, the choice is yours. Reboot into 4.4, from the Advanced GRUB menu, and see if it works.

Remember that you should never try and remove the kernel from the environment your are currently using. This will definitely cause issues, for obvious reasons.

If you only have the one kernel on your host system I would install another one there too. I have both 4.8 and 4.4, will move to 4.9 after a couple of point fixes, but you can choose whatever you prefer. This should also install the appropritate virtualbox host module packages for the new kernel too. The 4.4 LTS kernel is rock solid and a great backup.

Note that the journalctl command I gave will only help diagnosing issues from a Live environment after you have chrooted. You could drop the -b flag, which will list all errors, but if your journal log is big it could contain a lot of them. Have a read of this.

1 Like
closed #7

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.