建议使用 Ubuntu 64ibt 系统开发,如 Ubuntu 14.04 64ibt、Ubuntu 16.04 64ibt等,避免出现环境问题。
您需要一个 64 位版本的 Ubuntu 。注意:使用老版本 Ubuntu 可能会有兼容性问题。
$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn u/libGL.so
$ sudo apt-get install gcc-arm-linux-gnueabihf \ gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev \ libssl1.0.0 libssl-dev
由于 SDK 比较大,我们提供了一个打包好的.git以供下载:
- Firefly-PX3-SE_Buildroot_git_180421.7z
下载完成后先验证一下 MD5 码:
$ md5sum Firefly-PX3-SE_Buildroot_git_180421.7z 21b8c26d61731ce7bacc9000d39f33ed Firefly-PX3-SE_Buildroot_git_180421.7z
确认无误后,就可以解压:
mkdir -p ~/proj/Firefly-PX3-SE cd ~/proj/Firefly-PX3-SE 7zr x Firefly-PX3-SE_Buildroot_git_180421.7z git reset --hard
更新remote地址,解决更新仓库时的权限问题:
git remote set-url gitlab https://gitlab.com/TeeFirefly/px3se-buildroot.git
以后就可以直接从 gitlab 处更新:
git pull gitlab firefly-px3se:firefly-px3se
也可以到 https://gitlab.com/TeeFirefly/px3se-buildroot 在线浏览源码
编译内核:
cd ~/proj/Firefly-PX3-SE/u-boot make px3se_linux_defconfig make -j8
编译内核:
cd ~/proj/Firefly-PX3-SE/kernel make ARCH=arm px3se_linux_defconfig make ARCH=arm px3se-fireprime.img -j8
编译 rootfs:
cd ~/proj/Firefly-PX3-SE . envsetup.sh cd ~/proj/Firefly-PX3-SE/buildroot/ make rockchip_px3se_defconfig && cd .. ./build_all.sh && ./mkfirmware.sh
其中,envsetup.sh 是终端环境变量设置脚本。有些模块可通过rk_make.sh单独编译,此时需要设置终端环境变量。
注意: Buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。buildroot/dl/目录存在从官网上下载的开源软件包,第一次下载后,下次就不会再去从官网下载了,而是从dl/目录下拿开源包。因此由于国内网络限制,第一次编译会很漫长。为了节省时间,我们提供了基本上会用到的软件包,下载解压,将dl目录拷贝到buildroot/下即可。
- 开源软件包:dl.7z
firefly提供了便捷的编译脚本工具。
cd ~/proj/Firefly-PX3-SE ./FFTools/make.sh -u
cd ~/proj/Firefly-PX3-SE ./FFTools/make.sh -k -d px3se-fireprime
注意:-d dts_file_name,dts默认使用px3se-fireprime.dts
cd ~/proj/Firefly-PX3-SE ./FFTools/make.sh -a
cd ~/proj/Firefly-PX3-SE ./FFTools/make.sh
上一步骤的 ./mkimage.sh
会重新打包 rootfs.img。 并将其它相关的映像文件拷贝到目录 rockimg/中。以下列出一般固件用到的映像文件:
请参照《升级固件》一文来烧写分区映像文件。
如果使用的是 Windows 系统,将上述映像文件拷贝AndroidTool (Windows 下的固件升级工具)的 rockdev\Image 目录中,之后参照升级文档烧写分区映像即可,这样的好处是使用默认配置即可,不用修改文件的路径。
update.img 方便固件的发布,供终端用户升级系统使用。一般开发时使用分区映像比较方便。
全部0条评论
快来发表一下你的评论吧 !