HCL Talk:ROCK Pi 4
Die actual image contains an itb file (/boot/u-boot.itb) that is for Rock Pi 4A only. There are other versions each with different dtb/dts (even given in /boot/dtb) like Rock Pi 4B Rock Pi 4C Rock Pi 4A plus Rock Pi 4B plus Rock Pi 4C plus that do not work properly on this itb. For instance does an Rock Pi not use any display after grub has started (an a USB keyboard does not work on the console before). It would be great either to have an multi instance itb and multi line grub s.th. you could choose the right version to start for the board by setting the default point from the menu list or a working recipe to create a suitable its file. Is there a chance to get this?
from Nov. 18, 2024
yes it is:
1st. The boot partition from u-boots view is not die partition where boot is found. . It is the partition where grub/efi resides, i.e. the EFI partition. Therefore we need a copy of the devicetree on this partition.
put the sdcard into your card reader and mount the first partition
mount /dev/sdX1 /mnt/efi #replace X with the device letter you get from dmesg.
mount /dev/sdX3 /mnt/root # we will need to copy files from the root partition.
mkdir -p /mnt/efi/dtb/rockchip
Find the device tree blob needed in the boot-directory, now in /mnt/root/boot/dtb/rockchip. This may be rk3399-rock-4c.plus.dtb e.g. Due to size restrictions you may probably not copy all device trees to the efi partition.
cp -p /mnt/root/boot/dtb/rockchip/rk3399-rock-4c-plus.dtb /mnt/efi/dtb/rockchip/
2nd Now we have to use this device tree at boot time.
Due to the restriction of having no (USB-) keyboard at boot (U-boot has disabled this by default) you definitely need a serial console.
Once this is running stop the process at the autoboot delay (2 seconds only to hit any key!).
We need to change the env variable $fdtfile from rockchip/rk3399-rock-pi-4a.dtb issuing
setenv fdtfile rockchip/rk3399-rock-4c-plus.dtb
and to make this persistent to the following boots
saveenv
Now continue with
boot
In the actual kernel (6.11.7.1) the virtual console is working once the drivers are loaded and even poweroff works ootb.
If finitely you want the heartbeat led blinking just add a file to /etc/modules.d with extension .conf that contains
trigled-heartbeat
The remaining restriction is that at boot time you still only have a keyboard on the serial console.