在加载巨大的initrd时显示启动图像

Zau*_*bov 7 linux kernel splash-screen initrd

考虑一个带有以下约束的实时GNU/Linux发行版:所有软件都应该包含在一个initrd映像中(这导致它的大小),并且内核包含尽可能少的静态编译模块.

考虑所描述的发行版的启动过程:引导加载程序(例如grub或isolinux)加载内核,然后内核将initrd加载并提取到内存中.在提取期间(在旧计算机上花费20-30秒)屏幕上没有任何反应.

我想知道,在initrd提取过程中是否有现成的解决方案显示启动画面?如果没有,请您评论以下想法:

  1. 将一个例如600x480x8bit的图像静态编译到内核中,并在提取initrd时以某种方式将其刷新到帧缓冲区中.

  2. 这样做,但强制加载一个特定的视频驱动程序(例如VESA)并入侵其代码,而不是内核的帧缓冲区.

谢谢.

M. *_*nov 2

也许你可以让它更简单:创建 2 个 initrd 文件。第一个可以很小。然后它可以调用 Plymouth 显示启动屏幕,同时提取真正的 initrd。