HP Compaq DC5800 Kernel Panic on Ubuntu: Fix

Some years back I inherited an old HP Compaq DC5800 Micro-tower. I happily ran Ubuntu 16.04 LTS on it for a long time. Then one one day I did the ritual updates (which included the kernel) and on rebooting, the DC5800 did a Kernel Panic and halted. I booted using the previous kernel and all was fine. The machine never managed to update the kernel again. If I tried, it suffered a Kernel Panic on reboot. I have (yesterday) found the solution to the problem. Below is a guide with pictures.

Others had suffered the same fate and the general consensus appeared at the time (2018) to be that this was going to be one of the few machines that Linux would leave behind.

Unless I used the last working kernel (4.13.0-45-generic) and so stayed down-level, I was stuck.

 

My last forlorn attempt two years ago to address the issue was to try and install Ubuntu 18.04LTS from a DVD. The thing Kernel Panicked before I even got to an interactive screen.

As things turned out the machine was then turned off for about two years. It ended up in the garage and was forgotten about. But I came to need another machine to do some testing a few days back. The old HP DC5800 would be a good platform – if I could update the kernel.

I Googled it again. There was a great deal more about the problem. Some people’s DC5800’s were OK. Some weren’t. Then one crucial comment came up that the BIOS level was critical.

I did the obvious and went to the HP page for DC5800. I swear to God that when I looked at the page yesterday it stated that there were no updates available. Today though they are there! In this HP link

After finding nothing on the HP site, by sheer luck I came across this 2019 NeverWare post detailing the problem for a different flavour of Linux. The post also had a link to a bios update (notably not on the HP website). I decided to try it. If I bricked the machine then I would have lost little. The original BIOS on my machine was 1.53. I did the update to 1.60 and it worked.

In short if the DC5800 has a BIOS level of 1.53 or below then it will Kernel Panic on any Kernel above 4.13.0-45-generic. To get it to work with later Kernels I needed to install BIOS level 1.60.

Doing the update is simple. Copy the file onto a USB stick. Plug the stick in (I used the bottom socket on the front) before you boot the machine. Power on, then as the blue HP logo screen appears (below) hit F10.

HP DC5800 Boot Screen
Notice the BIOS level bottom left. This is after the update i.e. 1.60 Before the update it was 1.53

After hitting F10 you end up here:

DC5300 Flash System ROM
Go down from System Information to to Flash System ROM using the down arrow key

After Select Flash System ROM your get to this screen:

Toggle down from the default (CD-ROM) to USB. If you don’t have a USB in socket then you will only get CD-ROM. Notice also that you now need to use F10 to accept instead of carriage return.

Select USB. It will find the file on the USB stick and (I assume it verifies it too) and presents it to you for approval:

DC5800 Selecting the Flash File
It does seem able to pick out the file from others on the same USB stick. But to be safe maybe just have the one file on it!

Press F10 and it will update your BIOS to 1.60 (It takes a couple of seconds – as I remember). Notice when you reboot next that the version number on the boot screen (bottom left hand side) has changed from v1.53 to v1.6

I put a DVD copy of Ubuntu 18.04LTS into the thing and rebooted. It came up fine. No Kernel Panic. My next task is to update the thing to Ubuntu 20.04LTS.

Anyway if you are struggling with a Kernel Panic on a HP Compaq DC5800 I hope this helps. The rest of my Ubuntu fixs/gotcha’s and work-rounds are Here

9 thoughts on “HP Compaq DC5800 Kernel Panic on Ubuntu: Fix

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>