五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像( 二 )

??

五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
步骤二:下载解压uboot-kernel,ubuntu??下载解压,做这个开发确实很需要磁盘大小,而且传输也费时间,加上用虚拟机,专门加装了1024GBSSD作为专门开发的 。??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??然后传送到ubuntu上,使用samba服务,参考博文《linux实用技巧:ubuntu18.04安装samba服务器实现局域网文件共享》
步骤三:移动解压uboot-kernel??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
tar xvf uboot_kernel_20220512.tar.gz??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??(疑问:只用了3分钟 , 因为之前是系统ssd,这次是专门配的1024ssd单独盘么?)??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
步骤四:使用ubuntu系统??注意:rk3568支撑多个系统,按照SDK文档指定系统是相似的操作 。??我们使用ubuntu文件系统,将ubuntu_20220511.tar.gz直接解压到rk356x_linux的文件夹:
cd ~/work/sdktar xvf buildroot_20220510.tar.gz -Ca rk356x_linux/??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??很快,如下图:??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
步骤五:查看编译命令单独编译uboot,kernel和ubuntu?? 
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??编译uboot:??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??编译kernel:??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??编译文件系统ubuntu , 这里要先选择厂商的配置:
./build.sh BoardConfig-rk3568-evb1-ddr4-v10.mk./build.sh ubuntu?? 
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??然后错误:??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??具体查看“入坑一”,这里可以看出方案上先基于buildroot做的,然后再buildroot下去做其他的打包 。??编译好buildroot后,继续使用ubuntu
./build.sh ubuntu??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??至此,ubuntu的固件编译完成,但是我们没有适配屏幕的 。
步骤六:适配屏幕??屏幕,笔者使用的是厂家提供的lvds10.1寸屏幕,已经做好了驱动在sdk中,但是需要配置设备树:
cd /home/topeet/Linux/rk356x_linux/gedit kernel/arch/arm64/boot/dts/rockchip/topeet_screen_choose.dtsi??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??知识点:适配屏幕是修改了内核的设备树,而没有修改文件系统 。??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
步骤七:编译整体??由于uboot,kernel是没有争议的,但是文件系统是由好几个参数,所以要根据开发文档来,有个环境变量RK_ROOTFS_SYSTEM,他是什么则是什么系统,由此可见 , 他实际上是build编译文件系统的参数:??编译:
export RK_ROOTFS_SYSTEM=ubuntu./build.sh all??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??5分钟编完 。
步骤八:打包mkfirmware.sh./mkfirmware.sh??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
 入坑入坑一:编译ubuntu镜像打包错误问题??找不到buildroot下的一个脚本 。??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
原因??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??要先编译buildroot
解决??先走buildroot编译流程,再走编译ubuntu流程??
五 RK3568开发笔记:在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像

文章插图
??具体的编译buildroot问题,需要看《RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像》 。

推荐阅读