1 前言
开发板默认的根文件系统是buildroot,这是一个通过生成定制化的Linux系统来满足硬件资源有限的场景,非常适合嵌入式Linux。
但是,我计划后面要运行AI应用,自带的buildroot过于精简,为了方便使用,我们需要Debian系统。
2 编译系统
2.1 安装环境准备
建议先安装必要的依赖包
sudo apt update
sudo apt install -y \
git \
make \
build-essential \
debootstrap \
live-boot \
live-config \
squashfs-tools \
xorriso \
syslinux \
syslinux-utils \
isolinux \
genisoimage \
dosfstools \
mtools \
grub-pc-bin \
grub-efi-amd64-bin \
grub-efi-ia32-bin \
wget \
curl \
cpio \
python3 \
rsync \
ca-certificates
2.2 修改编译配置文件
进入上一篇文章中已经下载并解压好的SDK文件夹。
cd HZ-EVM-RK3568-5.10-KERNEL-SDK
然后进入menuconfig
make menuconfig
在Rootfs上按回车

使用键盘上下键,到default rootfs system这里

选中debian,并按回车

键盘左右键选中save,回车保存

保存的位置不要改,直接回车

保存完毕后ctrl+C退出。
接着进入到kernel文件夹下
cd kernel
再进入这里的menuconfig
make menuconfig
在menuconfig中点击 /键,搜索AP6,搜索到AP6XXX,如下所示

点击键盘的数字1,进入如下界面,将下面固件和NVRAM路径分别配置成
/vendor/etc/firmware/fw_bcm43456c5_ag.bin
/vendor/etc/firmware/nvram_ap6256.txt

保存、退出menuconfig
2.3 覆盖默认配置文件
先备份一下默认配置 defconfig
cp arch/arm64/configs/rockchip_linux_defconfig arch/arm64/configs/rockchip_linux_Back20250630_defconfig
再保存我们的配置文件为defconfig
make ARCH=arm64 savedefconfig
覆盖原配置文件
mv defconfig arch/arm64/configs/rockchip_linux_defconfig
然后回到SDK根目录
2.4 开始编译
编译极大概率不会是一遍成功的,基本上都会出现问题,如有问题请查文章末尾的问题及解决一节
build脚本的各个命令解释:
./build.sh lunch
./build.sh
./build.sh uboot
./build.sh kernel
./build.sh rootfs
我们这里执行全部编译,输入:
./build.sh
编译过程非常久,中途会下载依赖,所以一定要连接网络。我的8核16线程的R7 5800H全量编译的话需要等待2小时。
3 烧录镜像
查看编译好的镜像
ls ./output/HZ-RK3568_MV01/latest/IMAGES/ -la

只将update.img复制到宿主机。
接着烧录update.img,具体的烧录方法见上一篇文章
4 查看系统各项参数
4.1 系统信息
使用命令
cat /proc/version
看到由我自己编译的系统及编译时间都显示出来了。

4.2 内部存储空间使用情况
使用命令
df -h
查看到debian11系统相比于buildroot,明显大了很多。

4.3 设置开机不启动图形界面
因为板子只有可怜的1GB内存,Xorg会占用200多MB,而我们又是用命令行调试,因此可以设置输入以下命令,并重启,即可设置不自动启动图形界面
sudo systemctl set-default multi-user.target
若以后要恢复图形界面,执行下面命令即可
sudo systemctl set-default graphical.target
或者直接卸载
sudo apt remove xserver-xorg* xinit x11-utils x11-xserver-utils
使用free -h查看内存占用情况
有图形界面374MB-->纯命令行94MB
5 配置WIFI相关
5.1 加载WIFI模块
登录系统后,使用ifconfig命令查看,会发现找不到wlan0,需要手动加载WIFI模块。
insmod /lib/modules/bcmdhd.ko
5.2 连接WIFI
启用成功后再进行连接
查找所有wifi
nmcli dev wifi list
连接指定名称的wifi
nmcli dev wifi connect 你的SSID password 你的密码
5.3 配置开机自动加载WIFI模块
vi /etc/rc.local
在文件中的exit 0前面加上一句
insmod /lib/modules/bcmdhd.ko

点击esc,输入:wq 保存退出
此时可使用reboot命令重启板子,如果开机后能正常连接wifi,则配置成功。
5.4 修改DNS服务器
默认的dns服务器是127.0.0.53,要修改成公用的dns服务器,比如阿里云的223.5.5.5才能正常解析域名。
编辑resolv.conf
vi /etc/resolv.conf
将nameserver后面的ip改为223.5.5.5

然后点击esc,输入:wq 保存退出
ping www.baidu.com结果如下,证明网络通。

编译中出现的问题及解决方法
当前版本的live-build不支持bullseye

问题原因:当前系统中安装的 live-build 版本不支持 Debian 11(bullseye),它提示你使用的是不兼容的版本。
需要卸载系统自带的 live-build,然后从 Git 仓库中获取支持 bullseye 的版本再手动安装。
-
卸载当前的 live-build
sudo apt-get remove live-build
-
从官方仓库克隆适配 bullseye 的版本
git clone https://salsa.debian.org/live-team/live-build.git --depth 1 -b debian/1%20230131
注意:这里的 -b debian/1%20230131 是分支名(表示版本 1 20230131,对应 bullseye 支持)。
-
进入克隆下来的目录
cd live-build
-
删除不必要的 manpage 多语言文件夹(防止构建文档时出错)
rm -rf manpages/po/
-
编译并安装
sudo make install -j8
如果你的系统没有 make 或 build-essential 工具,先安装它:
sudo apt-get install build-essential