> 文档中心 > rock64linux,RockPI 4A Linux内核下载与编译

rock64linux,RockPI 4A Linux内核下载与编译

本文介绍RockPI 4A单板Debian系统Linux内核的下载和编译方法,为后续介绍RockPI 4A单板Linux内核调试进行抛砖引玉。

一、代码下载

Rockpi 4A Debian版本SDK代码下载方法:

git clone --recursive https://github.com/radxa/rockchip-bsp.git

cd rockchip-bsp/

代码下载完成后,显示如下:

root@ubuntu:/home/run/code/rockchip-bsp# ls

build docker kernel out README.md rkbin rootfs u-boot

kernel目录下保存Linux内核代码。

build目录下保存配置和编译脚本

二、内核编译

使用代码里的编译脚本,编译脚本名称:mk-kernel.sh,位置如下:

root@ubuntu:/home/run/code/rockchip-bsp# ls build/

board_configs.sh extlinux kernel-package.mk mk-kernel.sh out pack-kernel.sh partitions.sh rockpis-partitions.sh

debian flash_tool.sh mk-image.sh mk-uboot.sh pack_deb.sh pack-uboot.sh README.md uboot-package.mk

注:在脚本mk-kernel.sh中有一段代码:source $LOCALPATH/build/board_configs.sh $BOARD,使用脚本编译时,必须在build文件夹同一级目录。

RockPI 4A Linux内核编译方法如下(使用...省略部分编译输出):

root@ubuntu:/home/run/code/rockchip-bsp# ./build/mk-kernel.sh rockpi4a

Building kernel for rockpi4a board!

4.4.154

CHK include/config/kernel.release

...

Generate Boot image start

mkfs.fat 4.1 (2017-01-24)

mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows

Generate Boot image : /home/run/code/rockchip-bsp/out/boot.img success!

Kernel build success!

其中:rockpi4a对应RockPI 4A单板,如果使用其它单板,需要设置不同内容。单板类型可参考build/board_configs.sh脚本中case ${BOARD} in的选项。例:

case ${BOARD} in

"tb-rk3399prod")

DEFCONFIG=rockchip_linux_defconfig

UBOOT_DEFCONFIG=rk3399pro_defconfig

DTB=rk3399pro-toybrick-prod-linux.dtb

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-

CHIP="rk3399pro"

;;

"ficus2-rk3399pro")

DEFCONFIG=rockchip_linux_defconfig

UBOOT_DEFCONFIG=rk3399pro-ficus2_defconfig

DTB=rk3399pro-ficus2-linux.dtb

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-

CHIP="rk3399pro"

;;

"rockpin10")

编译出来的映像路径:

root@ubuntu:/home/run/code/rockchip-bsp/out# tree

.

├── boot.img

└── kernel

├── Image

└── rk3399-rock-pi-4a.dtb

1 directory, 3 files

参考: