首发极术社区
如对Arm相关技术感兴趣,欢迎私信aijishu20加入技术微信群。
最近在极术社区拿到了基于全志R329的开发板(双核A53,内置周易AIPU处理器),支持720P摄像头,迫不及待就开始体验了下,本文想个大家分享下用十分钟时间,在R329上抛弃Tina,用上大家熟悉的debian。当然不一定要是debian,反正手旁有ubuntu,openwrt啥的rootfs,咱们都能上,只要是能启动的arm64的rootfs就行~
言归正传,下面来看具体操作。
1.参考如下网页获得源代码,当然也可以从github得到代码
https://r329.docs.allwinnertech.com/devboardstudy/r329evb5studygetsdk/
代码比较大,需要点时间。
2.修改uboot,见patch,打上patch到uboot即可
patch -p1 < u-boot.patch
3.编译。这是个漫长的过程,我在测试过程中超过11分钟的编译时间,然后烧写,参考
https://r329.docs.allwinnertech.com/devboardstudy/r329evb5compile/
这里需要注意在make之前要先编译uboot:
source build/envsetup.sh
lunch r329_evb5-tina
muboot
make -j24
pack
4.把sd卡中所有分区删除,可以从dd dump出sd卡的header,从fdisk -l
信息可以看到,header大小为41464×512,但是前面8k是分区信息,应该去除,所以count为41464-16=41448,所以 dd命令为
sudo dd if=/dev/<你的sd卡设备> of=bl_header_general.bin bs=512 skip=16 count=41448
日后如果需要DD到新SD卡 使用如下命令
sudo dd if=bl_header_general.bin of=/dev/<你的sd卡设备> bs=512 seek=16 count=41448
5.建立新分区:
使用fdisk /dev/<你的sd卡设备>
,使用n建立新分区,选起始section,建立两个分区,注意第一个分区起始section要大于41464,当然默认一般是大于的,直接回车即可,注意第二个分区要大写,后面放文件系统。
格式化分别使用mkfs.vfat /dev/sdc1<sd卡设备第一个分区>
,mkfs.ext4 /dev/sdc2<sd卡设备第二个分区
格式化
- 编译linux,这次我先偷懒了,不用主线了,直接使用R329官方linux。进入linux路径后:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- sun50iw11p1smp_defconfig
修改.config
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_JBD2=y
CONFIG_FS_MBCACHE=y
执行
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j24
这里发现官方配置竟然没上ext4。。。
7.做boot.scr 引导文件
新建立个文件,暂时叫boot.cmd吧:
fatload mmc 0 0x42000000 Image
fatload mmc 0 0x41000000 board.dtb
setenv bootargs earlyprintk console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait noinitrd
fdt addr 0x41000000
booti 0x42000000 - 0x41000000
执行
mkimage -A arm64 -O linux -T script -C none -n "u-boot commands" -d boot.cmd boot.scr
就得到boot.scr
啦
8.复制做好的文件到sd卡第一个分区:
boot.scr,
lichee/linux-4.9/arch/arm64/boot/dts/sunxi/board.dtb,
lichee/linux-4.9/arch/arm64/boot/Image
9.做rootfs,这个网上教程一堆,比如可以参考下这个连接
https://github.com/showliu/debian-arm64-rootfs
10.dd做好的rootfs到第二个分区,需要是ext4格式
好了,enjoy Debian吧~为了让大家能更快直接上了debian,本文末尾附上bl,大家可以下载~
当然这款基于R329的开发板很强大,还有更多用途,等后面有时间了再探索。
相关阅读: