【Firefly3399Pro】rk3399pro交叉编译环境搭建

环境

  • Ubuntu虚拟机做交叉编译环境
  • firefly3399pro-JD4核心板 + 配套Firefly底板
  • 根文件系统: ubuntu_18.04_arm64_npu_rootfs.img

安装内核编译交叉环境

  • 这部分内容根据官方Wiki中《编译Ubuntu固件(GPT)》内容操作。
  • 官网Wiki地址:http://wiki.t-firefly.com/zh_CN/Core-3399pro-JD4/Linux_development.html

下载官方源码包和根文件系统

资源地址: http://www.t-firefly.com/doc/download/65.html

选择里面的-源代码-Linux——SDK源代码包。

如果不用Buildroot的话,顺带在-固件-Linux根文件系统镜像这一条目中下载你需要的根文件系统。

同步源码

将下载好的Linux-SDK源代码包拷贝到Ubuntu系统中。

1、 解压包
7z x Linux-SDK.7z

2、更新代码
cd linux-sdk
repo sync -c

这里可能提示repo命令不存在,百度,然后安装相应的软件包就好了。

安装编译Ubuntu固件的依赖

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 gcc-4.8-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf libssl-dev \
gcc-aarch64-linux-gnu g+conf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make \
binutils build-essential gcc g++ bash patch gzip 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 texinfo \
liblz4-tool genext2fs lib32stdc++6

编译SDK

编译前配置

./build.sh aio-rk3399pro-jd4.mk

该文件路径为: device/rockchip/rk3399pro/aio-rk3399pro-jd4.mk

配置文件生效会连接到device/rockchip/.BoardConfig.mk,检查该文件可以验证是否配置成功。

主要的配置选项:

export RK_UBOOT_DEFCONFIG=rk3399pro                          编译uboot配置文件

# Kernel defconfig
export RK_KERNEL_DEFCONFIG=firefly3399pro_linux_defconfig    编译kernel配置文件

# Kernel dts
export RK_KERNEL_DTS=rk3399pro-firefly-aiojd4                 编译kernel用到的dts

# parameter for GPT table
export RK_PARAMETER=parameter-ubuntu.txt                      分区信息(十分重要)

# packagefile for make update image 
export RK_PACKAGE_FILE=rk3399-ubuntu-package-file             打包配置文件

# rootfs image path
export RK_ROOTFS_IMG=xxxx/xxxx.img                            根文件系统镜像路径

将之前下载的根文件系统镜像复制到linux-sdk的目录中(在linux-sdk中新建一个目录就好)。然后修改配置文件中的RK_ROOTFS_IMG这一项。使配置文件可以找到根文件系统镜像。

【Firefly3399Pro】rk3399pro交叉编译环境搭建_第1张图片

全自动编译

1、链接配置文件
./build.sh aio-rk3399pro-jd4.mk

2、编译
./build.sh

编译结束后会自动完成固件打包。全部完成后,固件的交叉编译环境搭建完成。可以进行进一步开发。

更多的内容,可以自行到官方Wiki查看。

你可能感兴趣的:(嵌入式Linux)