[RK-Linux] 移植Linux-5.10到RK3399(一)| 搭建系统并让系统跑起来

本文详细记录了将Linux-5.10移植到ROC-RK3399-PC Pro板子的过程,包括u-boot移植、内核移植、文件系统移植、固件编译打包以及移植过程中遇到的问题和解决方法。在u-boot移植中,修改了配置文件和设备树;内核移植涉及配置文件和设备树的更新;文件系统使用Buildroot的默认配置;固件编译打包过程详细介绍了分区表和打包文件的配置;最后,针对启动问题和内核卡住的故障进行了排查和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个专题主要记录把 RK Linux-5.10 移植到 ROC-RK3399-PC Pro 的过程。

一、u-boot 移植

首先进入 rk3399 板级配置文件目录 device/rockchip/rk3399,可以看到有一个 BoardConfig-rk3399-firefly.mk 配置文件,将其复制一份重命名为 BoardConfig-rk3399-roc-pc-pro.mk,指定 u-boot 配置文件为 roc-rk3399-pc-pro_defconfig

# Uboot defconfig
export RK_UBOOT_DEFCONFIG=roc-rk3399-pc-pro

为 u-boot 新建一个 board,u-boot/configs 目录下有一个 rk3399 通用的 rk3399_defconfig 配置文件,将其复制一份重命名为 roc-rk3399-pc-pro_defconfig:

### RK3568 Linux 5.10 设备树 (DTSI) 文件移植教程 设备树(Device Tree)是种描述硬件的数据结构,广泛应用于嵌入式Linux系统中。对于RK3568芯片,在Linux 5.10内核上的设备树移植涉及多个方面的工作,包括但不限于修改`.dts`和`.dtsi`文件、调整启动参数以及验证设备功能。 以下是关于RK3568在Linux 5.10系统移植设备树的具体方法: #### 1. 准备工作 确保已获取最新的RK3568对应的设备树源码文件(通常是`.dts`和`.dtsi`文件)。这些文件可以从Rockchip官方仓库或其他可信资源下载[^1]。 例如,假设目标板卡型号为`rk3568-evb`,则可能需要以下文件: - `rk3568.dts` - `rk3568.dtsi` #### 2. 修改 `.dts` 和 `.dtsi` 文件 根据实际硬件配置,编辑设备树文件中的相关内容。常见的修改项包括GPIO定义、UART设置、SPI/I2C控制器配置等。 ##### 示例:UART 配置 如果需要启用某个UART端口(如UART0),可以在`.dts`文件中添加或修改如下内容: ```dts &uart0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&uart0_pins>; }; ``` 其中,`status = "okay";`表示启用了该UART模块;而`pinctrl-0`指定了相应的引脚组配置。 ##### 示例:GPIO 定义 针对特定外设连接至某些GPIO引脚的情况,需声明其用途。比如控制LED灯亮灭的功能可以通过下面的方式实现: ```dts leds { compatible = "gpio-leds"; led1 { label = "red"; gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>; /* 假定第17号管脚 */ }; }; ``` #### 3. 编译设备树 完成所有必要的更改之后,利用DT Compiler (`dtc`) 工具将更新后的`.dts`文件转换成二进制形式的设备树Blob (DTB),即`.dtb`文件。 ```bash $ dtc -@ -I dts -O dtb -o rk3568-evb.dtb rk3568-evb.dts ``` #### 4. 更新引导加载程序配置 类似于引用提到的内容[^2],在`extlinux.conf`或者U-boot环境中适配新生成的设备树路径及相关选项。例如: ```conf label rockchip-rk3568-linux-5.10 kernel /Image fdt /rk3568-evb.dtb append earlycon=uart8250,mmio32,0xff960000 console=ttyS2,1500000n8 root=PARTUUID=<your-root-partition> rw rootwait rootfstype=ext4 init=/sbin/init ``` #### 5. 测试与调试 最后步就是烧写新的内核映像连同匹配版本的设备树到开发板存储介质里,观察整个系统的正常运作状况。若有异常现象发生,则返回至上阶段重新审视所做的改动之处直至完全解决问题为止。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嵌入式逍遥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值