- rerequisites:
arm chroot environment: I am using Raspberry Pi OS as an arm chroot environment, you can also use qemu
Download the RADXA image and extract the img file: https://github.com/radxa-build/radxa-cm5-rpi-cm4-io/releases/download/rsdk-b3/radxa-cm5-rpi-cm4-io_bookworm_cli_b3.output.img.xz
Download the kernel and device tree files: https://github.com/dev-null2019/radxa-cm5-uconsole
1、Chroot:
❯ sudo mkdir -p /mnt/p1
❯ sudo losetup --show -f -P radxa-cm5-rpi-cm4-io_bookworm_cli_b3.output.img
❯ sudo mount /dev/loop0p3 /mnt/p1
❯ cd /mnt/p1
❯ sudo mount --bind /dev dev/
❯ sudo mount --bind /sys sys/
❯ sudo mount --bind /proc proc/
❯ sudo mount --bind /dev/pts dev/pts
#Copy the kernel and device tree files to img
❯ sudo cp ~/Downloads/radxa-cm5-uconsole-main ./root -r
$ chroot
❯ sudo chroot .
2、Install Kernel
Uninstall the original kernel in the image:
❯ apt remove linux-headers-6.1.43-15-rk2312
❯ apt remove linux-image-6.1.43-15-rk2312
Install the custom new kernel:
❯ cd /root/radxa-cm5-uconsole-main/kernel/
❯ dpkg -i linux-headers-6.1.43-105-rockchip_6.1.43-105-rockchip_arm64.deb
❯ dpkg -i linux-image-6.1.43-105-rockchip_6.1.43-105-rockchip_arm64.deb3、 Install Device Tree Overlays via resetup
Because there will be problems with overlay.sh script execution under chroot, we need to make a little modification before it can be used normally:
Backup overlay script:
❯ cp -rp /usr/lib/rsetup/tui/overlay/overlay.sh /usr/lib/rsetup/tui/overlay/overlay.sh.bak
❯ cp -rp /usr/lib/rsetup/mod/overlay.sh /usr/lib/rsetup/mod/overlay.sh.bak
Modify the script:
❯ sed -i 's/\$(uname -r)/6.1.43-105-rockchip/g' /usr/lib/rsetup/tui/overlay/overlay.sh
❯ sed -i 's/\$(uname -r)/6.1.43-105-rockchip/g' /usr/lib/rsetup/mod/overlay.sh
Install Device Tree Overlays:
❯ cd /root/radxa-cm5-uconsole-main/devicetree_overlays/
❯ rsetup
Install the three DTS files in turn:Overlays->Install 3rd party overlay-> **.dts
Revert overlay.sh script:
❯ mv /usr/lib/rsetup/tui/overlay/overlay.sh.bak /usr/lib/rsetup/tui/overlay/overlay.sh
❯ mv /usr/lib/rsetup/mod/overlay.sh.bak /usr/lib/rsetup/mod/overlay.sh
4、Exit chroot
❯ exit #quit chroot
❯ cd -
❯ sudo umount /mnt/p1/dev/pts
❯ sudo umount /mnt/p1/dev
❯ sudo umount /mnt/p1/proc
❯ sudo umount /mnt/p1/sys
❯ sudo umount /mnt/p1
❯ sudo losetup -D /dev/loop0
You can now flash the :radxa-cm5-rpi-cm4-io_bookworm_cli_b3.output.img file to the TF card or emmc to try to start, good luck