我有一台具有特殊屏幕设置的笔记本电脑。该机器具有基于i915的图形适配器,并且屏幕默认配置为横向。 rEFInd 中一切看起来都很好,但是启动时,控制台输出完全是乱码,而且是横排的。
video=1200x1920,rotate=270
我可以通过作为初始化选项传递来设置分辨率,并一次获得正确的输出在里面到达了。但在启动过程的kernel/initramfs加载阶段,屏幕仍然出现乱码、横屏。
有没有办法为启动的内核/initramfs 加载阶段指定屏幕的分辨率/旋转?我可以在此时传递选项,还是需要编译自己的内核?
答案1
同时,我自己找到了(部分)解决方案。
在内核启动时,将保留引导加载程序(在本例中为 rEFInd)给出的分辨率,或者至少保留其某些参数。不过,内核可能使用其他方法来填充视频缓冲区,从而导致乱码输出。
因此我们必须更改 rEFInd 的分辨率,例如/boot/efi/EFI/refind/refind.conf
:
resolution 1200 1920
请注意,宽度小于高度。这会导致 rEFInd 和内核输出在init
进程启动之前一直处于横向状态,但这仍然比完全不可读的输入要好。