-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Device Information | 设备信息
SOC: RK3576
Model: NanoPi M5 (16GB RAM)
Armbian Version | 系统版本
Kernel Version: 6.12.74-ophub
Release: Debian Trixie (stable)
Describe the bug | 问题描述
[English]
The system enters a boot loop on NanoPi M5 (16GB version) due to a memory address conflict in U-Boot.
Issue: The default scriptaddr is set to 0x40c00000, which triggers the error: ** Reading file would overwrite reserved memory ** followed by a Synchronous Abort.
Analysis: On the 16GB RAM model, this specific memory region is either reserved by the vendor firmware (fnOS U-Boot) or overlaps with U-Boot's own runtime memory.
Verified Workaround: Manually moving the addresses to a high memory region (e.g., 0xc0000000) in the U-Boot console allows the system to boot successfully.
Console: The kernel identifies the debug serial port as ttyS0 (0x2ad40000), which may differ from the script's default expectation.
[中文]
NanoPi M5 (16GB内存版) 因 U-Boot 内存地址冲突导致启动死循环。
问题现象: 默认的 scriptaddr 为 0x40c00000,启动时触发报错:** Reading file would overwrite reserved memory **,随后发生 Synchronous Abort。
原因分析: 在 16GB 内存机型上,该地址区间可能被原厂固件 (fnOS U-Boot) 预留,或与 U-Boot 自身运行区域重叠。
测试验证: 在 U-Boot 命令行手动将加载地址移至高位(如 0xc0000000)后,系统可以正常引导进入系统。
控制台: 内核将调试串口识别为 ttyS0 (0x2ad40000)。
Manual Boot Commands (Workaround) | 手动引导测试成功的命令:
setenv scriptaddr 0xc0000000
setenv kernel_addr_r 0xc2000000
setenv fdt_addr_r 0xca000000
setenv ramdisk_addr_r 0xcc000000
setenv bootargs "root=/dev/mmcblk0p2 rootwait console=ttyS0,1500000 earlycon"
然后手动加载 Image, dtb, uInitrd 并 booti
其他问题描述:
虽然目前系统可以启动成功
但是hdmi显示有点问题,启动日志里面也有错误。
目前hdmi显示是绿色的画面,我是在采集卡里面看到的,还未验证接在显示器上的效果。
