最近工作有点小忙,所以一直未更新。近期有朋友想在rk3568上进行emuelec,虽然在4.4之后,github上已经有一个rk3568的device,但是linux内核是ff的源码,仅仅支持他自己的开发板,且不带屏幕的。所以我们就需要再此基础上进行修改。
首先,我把移植的思路大致讲解一下,还有提供一下用到的开源代码。大致移植路线,首先我们需要uboot引导,其次才是linux内核,然后才是ee系统。Uboot我们可以是用odroid-m1的uboot,linux内核是用ee4.5内部自带的即可,只不过是编译的时候命令选择为rockchip 356x平台。
关于uboot的源码可以自己去搜索下,odroid的m1是使用的pmic是rk809,这里得看我们调试的pcb pmic,修改dts和config配置即可,基本上都是会在代码里面包含。
重点说一下关于4.5的内核修改,当我们下载emuelec的4.5源码后,如何下载编译源码,可以看我以前写的ee源码下载与编译,这里不过多说。主要编译命令要选择:
PROJECT=Rockchip DEVICE=RK356x ARCH=aarch64 make image 待全部编译完成后,会生成出,这里说一下每个包的含义。
1、rk356x.img.gz内包括了kernel和system。
2、rk356x.kernel即仅仅为内核。而rk356x.system 即为system
我们烧录即可是用balenaEtcher把整个img烧录到tf卡或者emmc。
关于kernel的修改,当我们下载完后,在工程sdk下的source的linux代码中,是未解压的。去研读编译脚本,就会发现,其次每次我们make后,都会把source的压缩代码解压到build的linux下。所以我们每次修改build下的code,都会发现被替换了。
所以,我们必须把脚本修改一下,直接去修改build下linux的代码即可。
以上为如何修改uboot和linux内核的方法,具体的修改需要针对原理图来。
当然最后当我们生成出uboot和内核系统,烧录到tf卡或者emmc即可启动。
此教程也仅仅给初入接触 emuelec 的新人提供指导,少走一些弯路吧。欢迎大家一起交流,开源之路需要大家一起的学习与探讨。