rk3399 pro编译内核

1.从哪里来

  • 官方固件没有cdc_acm驱动
  • 下载内核源码
  • 参考make.sh根据自己的环境执行命令,需要在make rockchip_linux_defconfig之后执行make menuconfig添加cdc_acm驱动编译选项

2.途径何处

  • 1.fatal error curses.h no such file or directory
    • sudo apt-get install libncurses5-dev libncursesw5-dev
  • 2.gcc: error: unrecognized command line option ‘-mlittle-endian’
    • make时加上交叉编译器CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-gcc
  • 3./usr/bin/arm-linux-gnueabihf-gcc gcc:No such file or directory Is your PATH set correctly?
    • 去板子上编译
  • 4.bc not found
    • sudo apt install bc
  • 5.‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
    • Makefile的KBUILD_CFLAGS加入-Wno-stringop-overflow
RK3399Pro设备上刷入Linux系统的流程涉及多个步骤,包括准备工具链、编译固件、烧录系统镜像等。以下是详细的教程: ### 准备开发环境 首先需要搭建适用于Rockchip平台的Linux开发环境。通常推荐使用Ubuntu作为主机操作系统,版本建议为18.04或更高。 1. 安装必要的软件包: ```bash sudo apt update sudo apt install build-essential libncurses-dev flex bison libssl-dev ``` 2. 安装交叉编译工具链(针对ARM64架构): ```bash sudo apt install gcc-aarch64-linux-gnu ``` ### 获取源码并配置 从官方仓库获取适用于RK3399Pro的Linux内核源码和U-Boot源码。可以参考Rockchip官方GitHub仓库或其他可信来源。 1. 进入rk-linux根目录后加载配置文件: ```bash ./build.sh device/rockchip/rk3399/BoardConfig-rk3399-roc-pc-pro.mk ``` 2. 编译U-Boot固件: ```bash ./build.sh uboot ``` 该命令会根据配置文件生成适用于RK3399Pro的U-Boot镜像[^1]。 ### 编译Linux内核 1. 配置内核选项: ```bash make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_defconfig ``` 2. 编译内核及设备树: ```bash make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs ``` 3. 安装模块与设备树: ```bash sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules_install dtbs_install INSTALL_MOD_PATH=/path/to/rootfs ``` ### 制作根文件系统 可以选择使用Buildroot、Yocto或Debian/Ubuntu官方提供的ARM64镜像来构建根文件系统。以Buildroot为例: 1. 下载Buildroot源码并进入目录。 2. 配置Buildroot: ```bash make menuconfig ``` 设置目标架构为ARM64,并选择适合RK3399Pro的配置。 3. 开始编译: ```bash make ``` 编译完成后,会在`output/images/`目录下生成根文件系统镜像。 ### 烧录系统到设备 1. 使用USB OTG连接RK3399Pro开发板到主机,并进入Loader模式。 2. 使用Rockchip官方工具`rkdeveloptool`进行烧录: - 下载并安装`rkdeveloptool`。 - 执行以下命令烧录U-Boot、内核和根文件系统: ```bash rkdeveloptool ld rkdeveloptool ul ../u-boot/idbloader.img rkdeveloptool wl 0x40 ../u-boot/u-boot.img rkdeveloptool wl 0x8000000 ../kernel/zImage rkdeveloptool wl 0x8008000 ../kernel/rk3399pro-roc-pc-pro.dtb rkdeveloptool wl 0x8200000 ../rootfs/rootfs.ext4 ``` 3. 最后重启设备: ```bash rkdeveloptool rd ``` ### 测试系统运行 设备启动后,通过串口调试工具(如minicom或screen)查看启动日志,确认Linux内核成功加载并挂载根文件系统。如果一切正常,将进入系统命令行界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刀么克瑟拉莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值