操作系统通过U-Boot启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统通过U-Boot启动相关的知识,希望对你有一定的参考价值。

我最近开始了与电路板相关的项目imx6,我看到u-boot将用于所有项目。

在u-boot上做研究我在维基百科上开始了(https://en.wikipedia.org/wiki/Das_U-Boot#References

如果它通过读取内核和任何其他相关数据(如dts文件)来声明u-boot启动操作系统,则它会使用适当的参数执行内核。然而,当我们加载图像时,我们只加载u-boot,内核和rootfs,那么u-boot如何启动操作系统呢?它是否已存在于板内存中?或者内核的运行实例是否称为操作系统?

答案

您没有提供您正在使用的确切命令,但您可能因为加载了名为uImage的文件(您将其称为u-boot内核映像)而感到困惑:

然而,当我们加载图像时,我们只加载u-boot内核和rootfs

如果是这种情况,请注意它不是u-boot映像(如果你可以使用bootm之类的命令,你已经在运行u-boot),而是使用u-boot映像格式创建的Linux内核映像。 u-boot mkimage实用程序 - 请参阅here

uImage实际上是Linux内核映像本身,它由u-boot实用程序mkimage使用特殊的u-boot格式转换为文件。

从Linux内核zImage文件创建uImage的典型命令是: mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux kernel" -d arch/arm/boot/zImage uImage。 uImage确实包含Linux操作系统,这就是为什么你能够通过加载rootfs来启动系统的原因。

以上是关于操作系统通过U-Boot启动的主要内容,如果未能解决你的问题,请参考以下文章

U-boot 启动内核

IMX6ULL学习笔记——通过SD卡启动U-Boot

IMX6ULL学习笔记——通过SD卡启动U-Boot

IMX6ULL学习笔记——通过SD卡启动U-Boot

u-boot 启动过程

u-boot-2014-07 代码流程分析