1. 概述
ARS-MB-B1是正旗通信推出的新一代嵌入式WiFi主板,采用瑞芯微RK3568高性能处理器。本文给出搭建RK3568 OpenWRT开发环境的方法,此开发环境基于OpenWRT 23.05及瑞芯微Linux Kernel 5.10.160构建。
2. 准备工作
(1) 安装Ubuntu 22.04 LTS 64位版本,操作系统安装指导请参照https://ubuntu.com/tutorials/install-ubuntu-desktop。
(2) 更新系统软件,运行以下命令:
sudo apt update -y
sudo apt full-upgrade -y
更新后重新启动系统。
(3) 安装编译OpenWRT所需要的软件,运行以下命令:
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison \
build-essential bzip2 ccache clang cmake cpio curl device-tree-compiler flex gawk \
gcc-multilib g++-multilib gettext genisoimage git gperf haveged help2man intltool \
libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev \
libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev libssl-dev \
libtool llvm lrzsz msmtp ninja-build p7zip p7zip-full patch pkgconf python3 python3-pyelftools \
python3-setuptools qemu-utils rsync scons squashfs-tools \
subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
3. 搭建OpenWRT编译环境
(1) 确保Ubuntu可以正常访问github.com。
(2) 使用普通用户登录Ubuntu系统,如lics,在/home/lics目录下创建data/share及data/code目录,其中data/share为共享目录,可以通过Windows访问,data/code为源代码存放目录。
(3) 将我司提供的rkwrt_2305_ars-mb-b1.tar.gz复制到~/data/share目录下,然后运行以下命令:
tar -zxvf rkwrt_2305_ars-mb-b1.tar.gz -C ./
cp rkwrt_2305_ars-mb-b1/rkwrt_2305_init.sh ~/data/code
cd ~/data/code
./rkwrt_2305_init.sh
接下来请耐心等待编译完成。
(4) 编译完成后请输入以下命令:
cp rkwrt_2305/bin/targets/rockchip/armv8/ARS-MB-B1_RKWRT_2305_20250513.zip ~/data/share
其中20250513为当天的日期,会随着日期变化。
(5) 将编译得到的ARS-MB-B1_RKWRT_2305_20250513.zip复制到Windows中,解压,烧录至eMMC或者TF卡,ARS-MB-B1即可正常运行,如下图
附:rkwrt_2305_init.sh脚本内容
#!/bin/sh -x
#For Zencheer ARS-MB-B1 Only!!!
SRC_PATH=/home/lics/data/share/rkwrt_2305_ars-mb-b1
RKWRT_PATH=rkwrt_2305
git clone https://github.com/openwrt/openwrt.git ${RKWRT_PATH}
cd ${RKWRT_PATH}
git checkout openwrt-23.05
./scripts/feeds update -a
./scripts/feeds install -a
#delete original files
rm -rf ./target/linux/rockchip
rm -rf ./target/linux/generic
rm -rf ./package/boot/uboot-rockchip
rm -rf ./package/boot/arm-trusted-firmware-rockchip
rm -rf ./package/kernel/mac80211
rm -rf ./feeds/routing/batman-adv
#copy new files/folders
cp -a ${SRC_PATH}/openwrt/target/linux/rockchip ./target/linux/
cp -a ${SRC_PATH}/openwrt/target/linux/generic ./target/linux/
cp ${SRC_PATH}/openwrt/scripts/img-public.sh ./scripts/
cp ${SRC_PATH}/openwrt/include/image.mk ./include/
cp ${SRC_PATH}/openwrt/include/kernel-5.10 ./include/
cp -a ${SRC_PATH}/openwrt/package/boot/uboot-rockchip ./package/boot/
cp -a ${SRC_PATH}/openwrt/package/boot/rkbin ./package/boot/
cp ${SRC_PATH}/openwrt/package/firmware/linux-firmware/broadcom.mk ./package/firmware/linux-firmware/
cp -a ${SRC_PATH}/openwrt/package/firmware/linux-firmware/ap6256 ./package/firmware/linux-firmware/
#mac80211, copyied form OpenWRT 21.02, need update
cp -a ${SRC_PATH}/openwrt/package/kernel/mac80211 ./package/kernel/
cp ${SRC_PATH}/openwrt/package/base-files/files/bin/config_generate ./package/base-files/files/bin/
cp ${SRC_PATH}/openwrt/package/base-files/files/etc/banner ./package/base-files/files/etc/
cp ${SRC_PATH}/openwrt/package/base-files/files/etc/shadow ./package/base-files/files/etc/
cp ${SRC_PATH}/openwrt/package/base-files/files/etc/inittab ./package/base-files/files/etc/
#batman-adv, copied from OpenWRT 22.03
cp -a ${SRC_PATH}/openwrt/feeds/routing/batman-adv ./feeds/routing/
cp ${SRC_PATH}/openwrt/feeds/luci/modules/luci-base/root/etc/config/luci ./feeds/luci/modules/luci-base/root/etc/config/
#delete tmp folder
rm -rf ./tmp
#generate config file
cp ${SRC_PATH}/openwrt/rkwrt_2305_ars-mb-b1_config ./.config
#extract kernel source code to ./rksdk/kernel
mkdir rksdk
tar -zxvf ${SRC_PATH}/rockchip/kernel-5.10.160.tar.gz -C ./rksdk/
#the following 4 steps perhaps not needed
cp ${SRC_PATH}/rockchip/arch/arm64/boot/dts/rockchip/rk3568-mb3568.dts ./rksdk/kernel/arch/arm64/boot/dts/rockchip/
cp ${SRC_PATH}/rockchip/arch/arm64/boot/dts/rockchip/rk3568-ars-mb-b1.dts ./rksdk/kernel/arch/arm64/boot/dts/rockchip/
cp ${SRC_PATH}/rockchip/arch/arm64/boot/dts/rockchip/rk3568.dtsi ./rksdk/kernel/arch/arm64/boot/dts/rockchip/
cp ${SRC_PATH}/rockchip/arch/arm64/boot/dts/rockchip/Makefile ./rksdk/kernel/arch/arm64/boot/dts/rockchip/
cp ${SRC_PATH}/rockchip/include/linux/kobject.h ./rksdk/kernel/include/linux/
cp ${SRC_PATH}/rockchip/lib/kobject_uevent.c ./rksdk/kernel/lib/
cp ${SRC_PATH}/rockchip/sound/core/Kconfig ./rksdk/kernel/sound/core/
#if kernel 5.10.66 is used, the following step is required
#cp /home/lics/data/share/rkwrt_2305_mb3568/rockchip/include/linux/etherdevice.h ./rksdk/kernel/include/linux/
#echo "##########################\n"
#echo " Done, start to make.\n"
#echo "##########################\n"
make V=s -j4
cd -
由于其中涉及的文件在不断更新,所以我司不在网站上提供rkwrt_2305_ars-mb-b1.tar.gz压缩包,请与我司联系获取最新版本。