[Solved] XU4 kernel upgrade from 3.10 to 4.9

Howto upgrade XU4 kernel without reinstalling to whole dietpi?

my XU4 is in the latest (v151) dietpi version.

Thanks a lot for helping me.

Just did this and it worked OK:

Naturally do full backup first.

rename this file:
/boot/exynos5422-odroidxu4.dtb to

wget https://oph.mdrjr.net/meveric/kernel/XU3/4.9.x/linux-image-4.9.29+_4.9.29-20170527-XU3_armhf.deb  -O package.deb

dpkg -i package.deb

That worked for me too!

Thanks John


I’ve installed DietPi on my XU4 (16GB emmc storage) today (with the latest official downloadable xu4 version of DietPi) and wanted to do the kernel upgrade afterwards.

First problem:


That file doesn’t exist here. Instead it’s called


instead. I moved the file to


downloaded the latest kernel and installed it with the commands given by johnvick

Result: The device doesn’t boot anymore…

I didn’t do much configuration before (only hostname + static ip setup) so it’s not a big
problem to rewrite the image onto the emmc card and begin from scratch but I have
no hdmi cable at this place and would like to know if anyone has a clue, why the update
might have not worked so that the next try to update the kernel is a bit more successful…


uname -a gives

Linux Odroid 4.9.29+ #1 SMP PREEMPT Sat May 27 21:38:28 UTC 2017 armv7l GNU/Linux

Possibly the kernel you are trying is newer and not compatible? What’s your version?

The kernel I’ve downloaded and installed is:

After installing DietPi the kernel version is:

Is there anything that needs to be done after installing the 4.9.29+ kernel before I reboot the device?


I think this will work.

Finally I got the necessary HDMI cable to see what’s going on…

The device actually boots after installing the 4.x kernel.

What is not working is the network…

I’ve found this github issue: https://github.com/Fourdee/DietPi/issues/899

System boots, no ethernet. dmesg | grep eth = usbcore: registered new interface driver cdc_ether
Thanks to Meveric for heads up, dtb’s for XU3/4 4.9 kernel are now unique.

If XU4 board:

sed -i “s#exynos5422-odroidxu3.dtb#exynos5422-odroidxu4.dtb#g” /DietPi/boot.ini

I’ve tried to exchange the 3 to 4 in the /boot/boot.ini file. This didn’t work after looking
into the file again after the next reboot. Obviously the /boot/boot.ini file is autogenerated
(every time)? from /DietPi/boot.ini

After exchanging the value in that file, rebooting…

Finally, the device booted with the correct .dtb file and the network is found again.

Problem solved :wink: