|
|
1
7
有证据表明这是一个错误的假设。
您正在使用哪个版本的U-Boot?
U-Boot打印“Starting kernel…”之后的下一个输出应该是“Uncompressing Linux…”。
您的U-Boot配置文件是什么样子的?
您是否对该代码进行了健全性检查,以确保它如您所期望的那样工作?
对于ARM拱门,它是跳转到
战利品
命令
修正 :
正如OP所指出的,U-Boot的旧版本确实使用了变量
U-Boot输出行:
指示U-Boot已(成功)从
因此,您报告的0x10008000值对于
如前所述,您应该验证是否正确定义了机器类型。该值将用于
|
|
|
2
4
您似乎没有启动vmlinux内核文件,因此不必担心入口点。图像开头的解压缩代码将根据需要重新定位内核,并在完成后跳转到正确的入口点。你只需要跳到图像的开头,uBoot似乎做得很正确。 我会打开内核调试,尤其是早期的printk和低级别调试选项,然后再次尝试引导。至少你可以看到它在哪里。 编辑:正如所指出的,我的答案只适用于uBoot一开始就正确的情况。在这种情况下,有可能不是这样。也许你可以创建并尝试引导一个伪“内核”,它只需打开一些LED或将一些寄存器值输出到串行(特别是r0、r1和r2)。那么你至少可以检查和/或排除uBoot是罪魁祸首。 |
|
|
3
0
U-Boot加载的文件实际上是的二进制映像吗
我最近在Unix Stack Exchange上问的这个问题可能会引起您的兴趣: https://unix.stackexchange.com/questions/197225/is-vmlinuz-and-bzimage-really-the-same |
|
|
Daniel · 仅在-O3中进行未对齐的内存访问 2 年前 |
|
|
TRElec · STM32:代码的执行似乎取决于它在闪存中的位置 2 年前 |
|
|
Marietto · FATAL:ThreadManitizer:不支持的VMA范围FATAL:找到39-支持的48/go:添加了github.com/docker/docker v23.0.4+不兼容 2 年前 |
|
|
Ilya Loskutov · 无法将单词加载到寄存器中 3 年前 |