Build system image for photonicat2
Create System Image
Host System Requirements
At least Debian 12 (bookworm) or Ubuntu 22.04. with Memory >= 16GB and disk space >= 100GB.
Build Debian/Ubuntu system image (mainline kernel)
Check README in https://github.com/photonicat/rockchip_rk3576_linux_mainline for building system image.
Build OpenWRT
Host System Requirements
Debian 11 (bullseye) or Ubuntu 20.04, other distributions may work but not tested.
Compiling Requirements
Please a NORMAL USER, not root
On Debian/Ubuntu systems, install the packages:
sudo apt update sudo apt upgrade -y sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \ git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \ libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \ mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \ libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \ vim wget xmlto xxd zlib1g-dev
Get repo files
Get repo files from Github (non-root user):
git clone https://github.com/photonicat/rockchip_rk3568_openwrt.git cd rockchip_rk3568_openwrt
Config build target
Run the command below:
./scripts/feeds update -a ./scripts/feeds install -a cp ./configs/photonicat2_base_defconfig .config
Build system image
Run the command below:
make
The output path is bin/targets/rockchip/armv8/
, system image will be named like photonicatwrt-25.02.0-rxxxx+xx-xxxxxxxxx-rockchip-armv8-ariaboard_photonicat2-squashfs-sysupgrade.img.gz
make menuconfig
save and re-run build process again.
IPKs will be under:
bin/targets/rockchip/armv8/packages/
Build your own package, modules on OpenWRT (Optional)
Use
make menuconfig
to select
<M> package_name
for your desired package(s).
If you want to include your own packages to system image, see OpenWRT official documents https://openwrt.org/docs/guide-developer/packages for help.
Install pcat-manager-web on OpenWRT (Optional)
If you want to use original Web management tool, you should change the port used by luci to 8080, edit /etc/config/uhttpd on device, change
list listen_http '0.0.0.0:80' list listen_http '[::]:80' list listen_https '0.0.0.0:443' list listen_https '[::]:443'
to
list listen_http '0.0.0.0:8080' list listen_http '[::]:8080' list listen_https '0.0.0.0:8443' list listen_https '[::]:8443'
Then install pcat-manager-web on device:
cd /tmp wget https://dl.photonicat.com/repos/photonicatwrt/photonicat2/volatile/pcat-manager-web_2.0.1-27_aarch64_generic.ipk opkg install pcat-manager-web_2.0.1-27_aarch64_generic.ipk
Reboot your device to apply changes.
Flash system images to the onboard eMMC
Prepare update tools and files:
git clone https://github.com/rockchip-linux/rkdeveloptool.git cd rkdeveloptool sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf aclocal autoreconf -i autoheader automake --add-missing ./configure make wget https://dl.photonicat.com/images/photonicat2/RK3576_MiniLoaderAll.bin
Refer: Photonicat_快速上手#4G/5G版本按键功能定义 to enter the firmware update mode, use A-to-A cable to connect USB OTG port to PC, and use the command below:
gunzip photonicatwrt-25.02.0-rxxxx+xx-xxxxxxxxx-rockchip-armv8-ariaboard_photonicat2-squashfs-sysupgrade.img.gz #Replace file name with the one you get indeed. sudo ./rkdeveloptool db MiniLoaderAll.bin sudo ./rkdeveloptool wl 0 photonicatwrt-25.02.0-rxxxx+xx-xxxxxxxxx-rockchip-armv8-ariaboard_photonicat2-squashfs-sysupgrade.img sudo ./rkdeveloptool rd
How to modify your own version of kernel for OpenWRT
Compile rockchip_rk3568_openwrt
with above steps.
Modify:
- DTB: https://github.com/photonicat/rockchip_rk3568_openwrt/blob/master/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3576-photonicat2.dts
- kernel patches: (we need to add/ modify your version of kernel patches into this dir and recompile): https://github.com/photonicat/rockchip_rk3568_openwrt/tree/master/target/linux/rockchip/patches-6.12
Recompile and done.