0

I found an old PC with a AMD Athlon XP and 256 MB of RAM, so i tried to install Debian 9 and use it as a test server.

The install was completed without problems, but when i tried to boot the system from for the first time the problems started to show up. I managed to fix certain problems with searches on StackExchange or by playing with the BIOS:

  • System trying to load a Floppy drive even if is not installed (disabled Floppy support in the Bios)
  • "ACPI Error: Method Execution failed" (disabled ACPI on the Bios)
  • "ALERT! UUID=... does not exist. Dropping to a shell!" (replaced "root=UUID=..." by "root=/" on the GRUB launch parameters)

After fixing all of those, there's still one that I'm unable to fix:

Call trace:

[< ca2f6c82 >] ? dump_stack+0x55/0x73

[< ca16879a >] ? panic0x94/0x1d8

[< ca06c15e >] ? do_exit+0x9fe/0xa00

[< ca06c196 >] ? SyS_exit+0x16/0x20

[< ca00372a >] ? do_fast_syscall_32+0x9a/0x160

[< ca5b6d62 >] ? sysenter_past_esp+0x47/0x75

Kernel Offset 0x9000000 from 0xc1000000 (relocation range:0xc0000000-0xce7effff)

--[ end Kernel panic - not syncing: Attempted to kill init! exit code 0x00000100

And after a few minutes:

random: crng init done

The partitions were created manually with this format:

  • sda1 - /boot - 200mb
  • sda2 - / - 39.5gb
  • sda3 - swap - 2gb

Just in case, I used the network installer for x86/i386 from here.

¿What can I do to fix/bypass this kernel panic error?

  • Once you are "dropped to a shell", check if the /dev/sdaX device nodes are present via the ls /dev command. – Ferenc Wágner Mar 26 '18 at 12:50
  • Sorry about the delay, i was working on something. Yes, the device nodes are present. – Lemon Mar 28 '18 at 2:49
0

That kernel panic is just a consequence of the system not being able to find the real root filesystem.

You cannot use root=/ as a boot parameter, since at the point the boot parameter is used, the system has not yet mounted the real root filesystem, and needs this boot parameter to know where the real root filesystem is. Specifying root=/ attempt to use the temporary initramfs root directory as the device containing the root filesystem, which is simply wrong and cannot work.

If your partition listing is correct, you should use root=/dev/sda2 instead.

  • Using /dev/sda2 still throw the "ALERT! ... does not exist." even if the partition listing is correct (tested from a live CD) – Lemon Mar 26 '18 at 8:34
  • Then the driver for either the disk controller or the filesystem type used on the root filesystem might not be included in the kernel or initramfs. – telcoM Mar 26 '18 at 8:50
0

The solution was to install a non-PAE kernel.

For some strange reason, the Debian 9 installer used the PAE kernel for recent PC's even if this is an old one that does not have PAE support (ironically, the non-PAE kernels say "for older PCs" in their description and in this case it was not used).

To start, I booted the installer in "Recovery Mode" with /dev/sda2 selected and /dev/sda1 mounted as /boot.

After reaching the command line, I updated the package cache (sudo apt-get update) and did an apt-cache search for the "linux-image" packages (aka the kernels):

apt-cache search linux-image

The result was (reduced):

linux-image-4.9.0-6-686 - Linux 4.9 for older PCs

linux-image-4.9.0-6-686-dbg - Debug symbols for linux-image-4.9.0-5-686

linux-image-4.9.0-6-686-pae - Linux 4.9 for modern PCs

linux-image-4.9.0-6-686-pae-dbg - Debug symbols for linux-image-4.9.0-5-686-pae

linux-image-4.9.0-6-686-rt-pae - Linux 4.9 for modern PCs, PREEMPT_RT

linux-image-4.9.0-6-686-rt-pae-dbg - Debug symbols for linux-image-4.9.0-5-686-rt-pae

So I installed linux-image-4.9.0-6-686 to diagnose what was failing, the result was that the system booted and the login screen showed up.

After that I removed the old kernels and started using the system.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.