Linux kernel 如何检查U-boot使用的串行控制台名称和UART号

Linux kernel 如何检查U-boot使用的串行控制台名称和UART号,linux-kernel,u-boot,Linux Kernel,U Boot,我正在基于IMX53的定制板上工作。当我启动主板时,“启动内核…”后没有输出,如下所示 ## Booting kernel from Legacy Image at 70800000 ... Image Name: Linux-2.6.35.3 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3009460 Bytes = 2.9 MB Load Address: 70008000

我正在基于IMX53的定制板上工作。当我启动主板时,“启动内核…”后没有输出,如下所示

## Booting kernel from Legacy Image at 70800000 ...
   Image Name:   Linux-2.6.35.3
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3009460 Bytes =  2.9 MB
   Load Address: 70008000
   Entry Point:  70008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...
我认为这个输出来自U-boot,我怀疑内核中会有tty错误配置。 我的疑问是,问题在于U-boot环境设置或UART端口号中的控制台名称

你能帮我检查控制台名称和U-boot(在板上使用U-boot 2009)用来向minicom发送日志消息的UART端口,以便我检查内核是否使用相同的控制台名称和UART


提前谢谢

可能是内核cmdline中的控制台错误,但也可能是内核在任何输出实际打印到控制台之前的某个早期阶段崩溃。尝试在内核中启用earlyprintk以选中此选项。此外,如果您想让我们了解您的控制台设备,请提供指向您的u-boot repo和板名(即您用于构建u-boot的板名)的链接。我相信控制台名称可以从u-boot源代码中找到。首先,我强烈建议将u-boot更新为最新版本。感谢您的回复。在Evk板中使用了最新的U-boot(2015),但不确定客户机为什么在目标板上使用旧的U-boot(2008)。我们正在通过vpn访问源。我可以在include/configs/的特定于板的头文件中看到使用“CONFIG\u EXTRA\u ENV\u SETTINGS”设置的环境变量。我在u-boot提示符下使用set和saveenv更改了环境变量,现在当我在“CONFIG_EXTRA_ENV_SETTINGS”中更改时,在u-boot提示符下使用printenv进行检查时,它没有反映出来。“u-boot将在何处写入ENV变量?”——这是可配置的,但通常与u-boot映像的存储方式相同。例如,如果U-Boot映像作为映像存储在原始(无文件系统)SD卡上,则环境也可能以类似的方式存储(即存储在SD卡的未分区区域,供U-Boot使用)。您可能必须使用具有config_ENV_is_in_MMC的新配置重建U-Boot。然后使用
dd if=/dev/zero of=XXX bs=512 count=NNN seek=SSS
将SD卡上的扇区归零。NNN应为CONFIG_ENV_SIZE/512,且SSS=CONFIG_ENV_OFFSET/512。确保使用MMC值,而不是闪存值。在下一次启动时,U-Boot将检测到无效的保存环境,并使用默认环境(由其配置定义)。只需使用saveenv命令编写默认(或编辑/修改的版本)环境