無法強制 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 設定的圖形模式

來源

相關內容