Okay shit, we pushed the Linux 6.11 based kernel to the APT repo already, but it contains 2 device trees for the two revisions
This of course does not work with our /boot/dietpiEnv.txt
, which defines rk3566-orangepi-3b.dtb
. I hence took the package off the repository again.
@ankagar
I guess you upgraded the kernel already, so that reboot fails expectedly, as of above change, right? In that case, please mount the rootfs on another Linux system, edit /boot/dietpiEnv.txt
, and append adjust the fdtfile
line accordingly:
fdtfile=rockchip/rk3566-orangepi-3b-v2.1.dtb
That should fix boot and, as I cannot imagine any other reason for providing two device trees, Ethernet as well.
If that works: Mainline U-Boot supports those two device trees OOTB: board: rockchip: Add Xunlong Orange Pi 3B · u-boot/u-boot@a52099b · GitHub
And I pushed the mainline U-Boot based package to your APT server already. So it it works, can you try to remove the fdtfile
entirely from /boot/dietpiEnv.txt
? The new bootloader should then pick the correct device tree automatically. But you also need to flash that one:
sudo /boot/dietpi/func/dietpi-set_hardware flash-u-boot-mmc
sudo sed -i '/^fdtfile=/d' /boot/dietpiEnv.txt
sudo reboot
It is pretty non-trivial to do this migration properly, since the new kernel does not work with the old config and the new config does not work with the old bootloader, so all need to be updated and adjusted automatically. However, since the old kernel provided a device tree for v1.1 revision only, I’ll adjust our Armbian fork to ship this particular package with a symlink from old dtb name to new v1.1 dtb. That way systems keep running like before when upgrading this kernel. The next DietPi update will then flash the new bootloader image and remove the fdtfile
entry, so that v2.1 revisions will have Ethernet.