要想自己编译系统,先要下载源码。根据官方资料介绍,有2种下载源码方法:一种是使用repo+ssh,这种方法需要注册码云公钥,网站上有详细的操作方法,按步骤做就可以了。另一种是使用repo+http。2种方法都进行了尝试,但始终未下载成功,经过不断的摸索,花了大半天时间,结合现有的ubuntu18.04系统环境,最终使用以下命令拉取源码(repo+http方式,repo+ssh方式应该也可以,暂未尝试): python3 repo sync –c 源码是可以拉取了,但是会出现以下错误提示: error: RPC failed; curl 56GnuTLS recv error (-9): A TLS packet with unexpected length was received. fatal: The remote end hung upunexpectedly fatal: early EOF fatal: index-pack failed 网上提供的解决方法是: git config --globalhttp.postBuffer 5000000000 尝试了几次错误提示依旧,不管了,此时已经半夜,最后一次发出拉取命令,关显示器,等第二天早上再来看结果。 第二天上午打开显示器一看,运气还不错,终于下载成功,赶快进行下面的步骤: python3 repo forall –c ‘git lfs pull’ 继续安装编译器及二进制工具: bash build/prebuilts_download.sh 耐心等待安装完成,编译器和二进制工具安装结束后就可以编译源码啦,在源码根目录下键入以下命令: ./build.sh --product-name rk3568 --ccache 接下来就是漫长的等待,注意如果编译过程中报错,可以查看out/rk3568目录下的build.log文件,根据提示信息做出相应处理,比如我的编译过程中就出现错误提示信息:javac命令找不到,那么只要使用apt命令安装相应的软件包就可以了。 历经10多个小时的等待,最后终于出现了以下提示信息: Rk3568 build success =====buildsuccessful===== (这一行为绿色字符) 镜像文件位于out/rk3568/packages/phone/images 目录下:
整个源码、编译工具以及编译过程产生的文件和编译结果等共占用磁盘空间71G左右:
最后一步就是将编译好的镜像烧写到 开发板验证,注意新编译的镜像烧写时要重新配置,如下图所示:
|