RK3399六核64位高性能开源平台 立即购买 产品规格书

作为Firefly新一代的顶级开源平台,Firefly-RK3399采用了六核64位“服务器级”处理器Rockchip RK3399,拥有2GB/4GB DDR3和16G/32GB eMMC, 并新增DP 1.2、PCIe 2.1 M.2、Type-C、USB3.0 HOST等高性能数据传输和显示接口。Firefly-RK3399强大的性能配置将给VR、全景拍摄、视觉识别、服务器、3D等前沿技术带来里程碑的变革。

编译内核

更新时间:2018-02-08 阅读:7410

准备工作

获取内核源码和安装交叉编译工具链

AIO-RK3399J Linux内核代码已不再使用Android sdk里面的内核,新的源码获取方式ː git clone https://TeeFirefly@gitlab.com/TeeFirefly/linux-kernel.git.

获取交叉编译工具 git clone https://TeeFirefly@gitlab.com/TeeFirefly/prebuilts.git.

kernel编译

linux 内核采用的config文件为firefly_linux_defconfig, dts文件为rk3399-firefly-linux.dts,

  • 编译内核

 make ARCH=arm64 firefly_linux_defconfig
 make ARCH=arm64 rk3399-firefly-linux.img -j8

编译完成后,会在kernel目录下生成kernel.img和resource.img.

修改 parameter 文件

Linux 的根文件系统(RFS)可能在不同的分区或存储设备上(eMMC、TF 卡或 U 盘),所以需要在内核的参数中指定。修改 parameter 文件中的 CMDLINE 行:

CMDLINE:console=tty0 console=ttyS2 ... mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),...,-@0x00394000(user)

根据实际情况加入以下之一(# 后是注释,不需要加入):

root=/dev/block/mtd/by-name/linuxroot        # 名为 "linuxroot" 的 nand 分区
root=/dev/mmcblk0p1          # TF 卡的第一个分区
root=/dev/sda1               # U 盘或 USB 硬盘的第一个分区
root=LABEL=linuxroot         # 卷标为 "linuxroot" 的分区,可以是任一存储设备


烧写到设备

参考《升级固件》,选择生成的 boot.img 和修改过的 parameter 文件,分别烧写到 "boot" 和 "parameter" 分区,则可完成内核的更新。

如果还没有烧写根文件系统的,可以下载预先做好的镜像,或定制自己的根文件系统,并烧写到 parameter 文件指定的根分区中。