1.【转载】Celadon快速上路指南Part2:编译Celadon镜像
2.ITX-RK3588J上固件与驱动的源码交叉编译与烧写流程概述
【转载】Celadon快速上路指南Part2:编译Celadon镜像
上一期我们向您介绍了如何安装Celadon预编译镜像(Celadon快速上路指南 Part1:安装Celadon镜像),本期我们将向您介绍如何建立Celadon的源码开发环境,编译制作您自己的源码Celadon镜像。
一、源码开发环境
虽然Android通常是源码用GNU/Linux或Mac OS操作系统构建的,但我们建议:如果要使用其他操作系统,源码修改网站源码内容请参考Android开源项目(AOSP)网站的源码构建环境部分:source.android.com/setu...
二、搭建开发环境
Celadon源码中有直接引用google代码仓库的源码部分,也有托管到github上的源码部分,每一个项目都是源码一个Git仓库,每个Git仓库都有很多分支版本,源码为了方便统一管理各个项目的源码Git仓库,需要一个上层工具批量进行处理。源码这里就不得不提强大的源码repo工具了,repo是源码wpf程序源码一种代码版本管理工具,repo init也会建立一个Git仓库,用来记录整个代码中的各个项目分别处于哪一个分支,这个仓库通常叫做manifest仓库。
1. 创建本地bin/目录,将repo工具下载到该目录,并使用以下命令给repo添加可执行权限:mkdir -p ~/bin curl storage.googleapis.com/... > ~/bin/repo chmod a+x ~/bin/repo
2. 此外,您需要在您的Ubuntu . LTS Bit开发工作站上安装以下软件包:sudo apt-get update sudo apt-get install \ openjdk-8-jdk git ccache automake \ lzop bison gperf build-essential \ zip tcl zlib1g-dev g++-multilib \ python-networkx libxml2-utils \ bzip2 libbz2-dev libbz2-1.0 \ libghc-bzlib-dev squashfs-tools \ pngcrush schedtool dpkg-dev \ liblz4-tool make optipng maven \ libssl-dev bc bsdmainutils \ gettext python-mako libelf-dev \ sbsigntool dosfstools mtools \ efitools git-lfs python-pystache \ git-core gnupg flex curl \ libc6-dev-i libncurses5-dev \ xproto-core-dev libx-dev \ libz-dev libgl1-mesa-dev \ libxml2-utils xsltproc unzip
三、下载源码
1. 创建一个空目录,用于保存Celadon的源文件,并用作工作目录。
2. URL指定Manifest,该Manifest里包含了Celadon所使用的各种git仓库。
3. 下载源代码到当前工作目录。
4. 如果您在中国大陆地区无法直接链接github,java界面源码可以改为连接中国大陆地区的服务器,以连接清华服务器为例,您可以在~/.gitconfig中添加如下两行:[url " aosp.tuna.tsinghua.edu.cn..."] insteadOf = " android.googlesource.com..." 也可以export repo的URL地址 export REPO_URL=' mirrors.tuna.tsinghua.edu.cn...'
四、编译系统镜像
1.(可选)在Celadon的最顶层目录运行以下命令,用于删除之前产生的编译文件make clobber
2. 应用envsetup.sh脚本初始化编译的环境变量,source build/envsetup.sh
3. lunch target 示例 (也可以在lunch 的时候可以不带参数,手动选择target的编号) lunch celadon_ivi-userdebug
4. 编译生成Celadon安装程序文件,编译成功后,在out/的子目录下会有一个.zip格式的压缩安装包。
五、安装系统镜像
安装镜像方法请参考 Celadon快速上路指南 Part1:安装Celadon镜像
六、尾声
我们用了两篇文章向您介绍了如何下载、编译Celadon源码,和安装Celadon镜像的动态psd源码方法,您现在已经可以在您的NUC上使用Celadon了,但是搭载英特尔CPU的电脑还有很多,如何在更多的英特尔的平台上使用Celadon,这是Celadon团队目前正在着重解决的问题,我们的解决方案就是CaaS(Celadon As A Service)。之后我们会有系列文章来从各个角度来全面解析CaaS,希望它可以成为您的助力助您成功。敬请持续关注AndroidIA Celadon公众号信息,更多精彩还在路上。您还可以选择加入“Celadon技术讨论群”,跟更多的Celadon技术人员直接交流。在该微信群建立的1小时之内人数就已经超过了人,无法直接扫码入群了。请扫码关注公众号留言“微信群”按照里面提示的投稿系统源码方法来入群,或者您可以找到身边已经在群的小伙伴儿拉您入群。
ITX-RKJ上固件与驱动的交叉编译与烧写流程概述
本文档着重阐述了如何在Linux虚拟机环境下,通过交叉编译在Firefly的ITX-RKJ开发板上实现Ubuntu固件与驱动的制作过程,涵盖环境配置、固件与驱动的编译、烧写与安装步骤,并总结了在实现过程中可能遇到的问题及解决策略。
在进行交叉编译时,我们采用win物理机上搭载的VisualBox管理的Ubuntu.虚拟机环境。此过程包括编译环境的配置、源码资源的下载与更新、固件与驱动的编译。在执行过程中,确保在root下执行命令并检查文件权限,使用"chmod"命令调整权限至,以解决可能出现的问题。
配置编译环境时,推荐使用Ubuntu.版本,由于官方建议的.版本不再维护,我们发现其sources.list内的软件源地址无法正常更新,导致配置不便。因此,实测使用.版本能够顺利完成固件编译。建议在虚拟机配置之初完成虚拟内存大小、虚拟硬盘大小的设置、网络连接方式、共享文件夹的配置等步骤,并设置root密码。
编译环境配置涉及多个软件的安装,如repo、git、ssh、make、gcc等,并根据需要安装python2.6-2.7版本和7-zip等工具。安装步骤包括在终端输入安装命令,并完成软件列表和软件的更新。对于其他可能需要的软件,根据编译过程中的报错信息直接下载安装。
SDK初始化与更新部分,涉及资源文件的下载与校验、SDK的解压、初始化与更新。确保下载的资源完整无损,并使用repo工具链接Firefly仓库进行SDK初始化与更新。
固件编译过程中,下载并解压根文件,使用repo工具链进行配置,选择对应板子型号的配置文件并直接编译完整固件。编译生成的固件部分以链接形式保存,完整固件位于指定目录下。对于部分编译,参考Wiki教程调整编译命令。
驱动编译涉及对原始驱动源文件的修改,使其能在新平台上运行。具体修改包括更改makefile文件中的目标平台架构、交叉编译工具链和内核源码路径,以及驱动源文件"xxx.c"的具体代码修改。根据错误信息进行调整,确保驱动能正确编译生成。
固件烧写与驱动安装阶段,将编译好的固件和驱动传输至PC端,通过USB线缆连接至开发板进行固件烧写。使用RKDevTool完成驱动安装与固件烧写流程。驱动安装则通过FTP、TFTP或U盘拷贝至开发板,并在上电时连接外设,使用命令进行驱动安装。
在整个过程中,可能出现的一些问题及解决策略,如repo安装失败时使用特定命令,或U盘无法正常使用时尝试安装ntfs-3g驱动,以确保系统能够正常识别与读取U盘内容。
本文档通过详细的步骤指导,旨在提供一个全面的指南,帮助开发者在Firefly的ITX-RKJ开发板上完成Ubuntu固件与驱动的交叉编译、烧写与驱动安装,以实现开发板的正常运行。