BIOS、引导加载程序、内核启动和屏幕驱动程序

BIOS、引导加载程序、内核启动和屏幕驱动程序

我正在尝试将树莓派设置为触摸屏。

当内核启动时,我的屏幕仅显示白屏。所以我想知道启动过程中启动消息如何显示在屏幕上。 Bios、Bootloader、内核都能够在屏幕上显示一些东西。这怎么可能?

让我们回到我的白色触摸屏。该屏幕不是“标准”屏幕,因为它是通过给定的 SPI 连接的,而不是通过 HDMI、DVI 连接的。从日志中我可以看到帧缓冲区在内核启动后 8 秒准备就绪:

[    8.026032] graphics fb1: flexfb frame buffer, 480x320, 300 KiB video memory, 4 KiB buffer memory, fps=20, spi0.0 at 16 MHz

因此,如果屏幕配置正确,

  • 内核启动的日志会显示在屏幕上吗?
  • 或者几秒钟后(加载屏幕驱动程序的时间)我会在屏幕上显示内核日志吗?
  • 或者我不会得到任何内核日志。但是我会在 X 启动时显示一些内容吗?

答案1

内核消息/日志在启动过程早期没有出现在 rpi 屏幕中的原因是因为帧缓冲区屏幕在启动过程中相对“较晚”激活。

实际上,在 raspberry/Banana/Orange PI 平台中你不会看到启动过程/内核消息/错误帧缓冲区被激活。正如你所问,没有办法解决这个问题。

因此,要跟踪较早的启动过程,您可以配置 u-boot内核使用串行输出,并从引导过程的早期点开始跟踪该过程。

为此,您需要购买 USB 转 TTL 串行电缆 PL2303HX,将其连接到树莓派的控制台/JTAG 引脚。

然后,您可以使用串行远程终端(例如 )在笔记本电脑/计算机的远程终端中遵循启动过程minicom,直到帧缓冲区输出被激活。

PS 显然没有什么可以阻止您稍后查看dmesg输出。输出dmesg不显示所有先前系统活动的输出,但它至少显示内核消息。然而,没有办法避免需要一些额外的输出点帧缓冲区开始显示系统的输出。

电缆 转速

图片来源:Adafruit

关于如何设置RS-232输出,请参见相关内容initramfs (ARM) 中的控制台设置

相关内容