无法强制 Debian 以 Framebuffer 640x480 分辨率启动

无法强制 Debian 以 Framebuffer 640x480 分辨率启动

为了将嵌入式项目从 ARM 目标移植到 Linux/x86,我必须创建一个 Debian VM(我现在使用 Virtualbox),它以帧缓冲模式启动,分辨率为 640x480。

我使用该systemctl set-default multi-user.target命令使虚拟机在帧缓冲区上启动,但它似乎无法低于 800x600 分辨率。我能找到的所有教程和指南都与以高分辨率模式启动来宾虚拟机有关,但我找不到任何可以解决我的问题的内容。

我遵循了以下位置的建议https://forums.virtualbox.org/viewtopic.php?f=29&t=83189

edit /etc/default/grub 
Uncomment: #GRUB_GFXMODE=640x480 
Modify it to required resolution: GRUB_GFXMODE=1024x768 
Add the following: GRUB_GFXPAYLOAD_LINUX=keep 
Save, exit, and run update-grub 
Edit "/etc/modprobe.d/fbdev-blacklist.conf" and add vboxvideo Reboot

使用GRUB_GFXMODE=640x480并创建/etc/modprobe.d/fbdev-blacklist.conf文件,但没有结果 - 它始终以 800x600 开始

有人可以帮忙吗?我目前使用的是 Debian 9,如果出现不兼容的情况,可以移至另一个版本。

编辑:根据要求,这里是 #cat /proc/cmdline 的输出:

BOOT_IMAGE=/boot/vmlinuz-4.9.0-11-amd64 root=UUID=5bb1ded6-45a6-4d13-93d8-5f593e66e609 ro quiet

答案1

在 VirtualBox Manager 文件 -> 首选项 -> 显示最大来宾屏幕大小参数可以是自动/无/提示

使用尺寸 None 或具有所需尺寸的提示为我做到了。

仅供参考:GRUB 配置:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
GRUB_GFXMODE= the one you want (1024x768x32 in my case)
GRUB_GFXPAYLOAD_LINUX= keep or the one you want  (1024x768x32 in my case)
#GRUB_TERMINAL=console (kept in comment)

答案2

如果这对其他人有任何帮助,我可以通过以下更改以 VGA 模式启动/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

代替

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

这会启用所有启动消息,并且由于某种原因,还会使控制台保持 VGA 分辨率。我在以下位置找到了一些相关建议https://linuxconfig.org/how-to-increase-tty-console-resolution-on-ubuntu-18-04-server


据我所知,VGA 分辨率可以通过以下任一方式设置

GRUB_GFXMODE=640x480
GRUB_GFXPAYLOAD_LINUX=keep

或者

GRUB_GFXMODE=""
GRUB_GFXPAYLOAD_LINUX=640x480

答案3

添加到/etc/default/grub

GRUB_GFXMODE=640x480
GRUB_GFXPAYLOAD_LINUX=keep

要以普通文本模式启动,请“保留”以保留使用 gfxmode 设置的图形模式

来源

相关内容