uboot有没有办法知道内核启动状态



一旦Uboot将Linux内核映像(ZImage(加载到ram上,它就会调用它(可以使用bootz、bootm或其他基于内核映像类型的命令(,然后控制转到引导内核。uboot是否会被告知内核引导结果?,也就是说,内核引导是完全通过还是因为错误而被卡在中间?。

我查看了uboot src代码中的do_bootz、do_bootm_states和boot_selected_os-api,看看是否有任何方法可以了解最终的内核引导结果,但我无法弄清楚。

详细信息:U-boot版本:2017.03-rc2api可在cmd/bootz.c和bootm.c文件中找到。

如果这个社区中有人知道或有想法,请向我解释或为我指明正确的道路。

提前谢谢。

问候Vamsi Chagari

bootm、booti、bootz将控制权转移到内核后,U-Boot以前使用的内存将被操作系统重用。由于U-Boot已不在内存中,因此无法通知其操作系统状态。

如果使用bootefi命令,UEFI运行时服务的U-Boot实现将在操作系统启动时保留在内存中。操作系统可以调用UEFI服务。其中包括与变量相关的服务。UEFI变量的一个用途是引导序列的定义。

不幸的是,UEFI变量尚未在U-Boot中完全实现(自版本v2018.07起(。退出引导服务后,目前无法访问它们。

最新更新