源码编译 Firefly 提供完整的软件 SDK,方便用户进行软件开发。 源码获取 到资源下载页面下载Firefly_Linux_SDK基础源码包。 #下载完成后先验证一下 MD5 码: $ md5sum firefly-sdk-20200629.7z d8c52272725ff8a2216fc2be7a92ffc4 firefly-sdk-20200629.7z 确认无误后,就可以解压 mkdir -p ~/proj/ cd ~/proj/ 7z x /path/to/firefly-sdk-20200629.7z -r -o./ cd firefly-sdk git reset --hard 更新 SDK (必须完成) 更新 rv1126_rv1109-linux-bundle #1. 进入 SDK 根目录 cd ~/proj/firefly-sdk #2. 下载远程 bundle 仓库 git clone https://github.com/FireflyTeam/bundle.git -b rv1126_rv1109-linux-bundle #3. 更新;后续更新不需要再次拉取远程仓库,直接执行以下命令即可 ./bundle/update rv1126_rv1109-linux-bundle #4. 按照提示已经更新内容到 FETCH_HEAD,同步 FETCH_HEAD 到 firefly 分支 git rebase FETCH_HEAD 更新 rv1126_rv1109_common-linux-bundle,请到 资源下载 页面,下载 rv1126_rv1109_common-linux-bundle。 #1. 下载并将 rv1126_rv1109_common-linux-bundle 放至 SDK 根目录 cd ~/proj/firefly-sdk mv rv1126_rv1109_common-linux-bundle/ .common-linux-bundle/ #2. 更新;后续更新可以查看 `Change_log.txt` chmod 755 .common-linux-bundle/update && .common-linux-bundle/update git rebase FETCH_HEAD 源码编译 搭建环境 Ubuntu 16.04 x86 PC 主机: sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot- tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools autoconf autotools- dev libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip gawk bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex graphviz python- matplotlib libc6:i386 libssl-dev expect fakeroot cmake flex bison liblz4-tool libtool keychain Ubuntu 17.04 除以上软件包外还需安装以下依赖: sudo apt-get install lib32gcc-7-dev g++-7 libstdc++-7-dev 编译配置 SDK 包含 "uboot"、"kernel"、"recovery"、"buildroot"、"spl"等等全套源码 ,编译前需要选好配置文件,用于 配置每一个仓库编译时需要用到的配置项。 # 配置文件是和设备绑定 CORE-RV1126-JD4 官方使用 aio-rv1126-jd4.mk # 文件存放在 sdk/device/rockchip/rv1126_rv1109/aio-rv1126-jd4.mk ./build.sh aio-rv1126-jd4.mk 开始编译 编译完成后固件输出路径"rockdev/update.img",该目录下也包含了所有单独编 译项目的编译输出。编译完成后 烧写升级操作请参考 《固件升级》 。源码 SDK 介绍也可以直接参考 SDK 的 doc 文件夹。 # 全局编译命令 ./build.sh # 如果需要单独编译某一项执行以下操作 # uboot ./build.sh uboot # kernel ./build.sh kernel # rootfs ./build.sh rootfs