ROC-RK3308-CC 定位AIOT开源板,64 位四核 ARM Cortex-A35 的核心为其提供了不错的性能,频率最高 1.3GHz,搭配 256M ddr,使它可以运行当前几乎所有流行的轻量级的Linux操作系统。
笔者这里小试了下,移植Ubuntu16.04系统到ROC-RK3308-CC板子上,并记录在此。
首先,更新SDK到最新代码,
系统要跑起来,至少要具备的基本分区镜像:
parameter.txt
MiniLoaderAll.bin
trust.img
uboot.img
boot.img
rootfs.img
这里先是通过SDK,编译uboot:
得到trust.img、rk3308_loader_xxx.bin、uboot.img 三个镜像文件
然后是编译kernel,为了支持Ubuntu,kernel需要要进行一些修改:
修改dtsi以支持ext4文件系统,可读写权限
修改defconfig,支持ext4,支持CGROUP等。
编译内核:
得到zboot.img。
最后是根文件系统的制作,这个套路其实都是差不多的,可以参考Firefly-RK3399制作Ubuntu 16.04 根文件系统的方法,最核心的地方就是通过交叉模拟器qemu-user-sta
tic,对文件系统进行定制,这个大家按自己需求来就好,这里就不再赘述了,这里移植的是Ubuntu 16.04 64bit,按同样的方法,也可以移植其他的Ubuntu版本,例如Ubuntu 18.04 64bit。
Ubuntu16.04的镜像,可以到ubuntu cdimg 下载,选择下载ubuntu-base-16.04.1-base-arm64.tar.gz
为了快速编译,以及方便大家理解,我写了个一键编译的脚本,mk-rootfs-ubuntu_arm_64bit.sh,通过脚本即可以直接编译,脚本见百度网盘。
将压缩包解压后,里面会有编译脚本mk-rootfs-ubuntu_arm_64bit.sh,以及我编译好的固件,包括parameter.txt也在里面等。使用前,先编辑脚本,修改自己的信息,例如SDK路径等。
最后,记得修改 ROC-RK3308-CC的parameter.txt,去掉多余的分区,如下:
编译脚本,最终会在当前的out/目录生成各个所需的镜像文件,如:
通过upgrade_tool烧写分区镜像到板子上即可:
关于网络使用:
以太网的话,直接插上网线就可以用了。
WiFi连接,使用命令nmcli device wifi connect "name" password "psk"
原作者:Livvol