如上图所示:内核无法继续运行,说是machine ID 不匹配,读到的ID=r1=0x000000,但支持的ID=0xffffffff。下面通过修改u-boot的代码看看情况如何。
修改board_f.c文件中的board_init_f函数,添加支持的ID。
重新编译u-boot
、
重新生成BOOT.BIN文件,下载到SD卡中,观察现象。
发现这次启动和上次不一样,内核运行启动到半路停住了,停在Calibrating delay loop... 经过百度和Google发现,出现这种现象的原因可能是没有加载Linux设备树。下面把Linux设备树加进SD中。
修改u-boot环境变量,添加加载设备树。
复位之后,出现如下报错:
出现此错误的原因是因为没有加载根文件系统,下一章节将会介绍怎么制作根文件系统。
本文详细介绍了通过修改U-Boot代码支持特定machineID,重新编译并生成BOOT.BIN文件,以及解决启动过程中出现的错误,包括加载Linux设备树和制作根文件系统的步骤。
3412

被折叠的 条评论
为什么被折叠?



