在Debian的/dev/目錄下找不到fb0,fb等裝置,可以改一下/boot/grub/menu.lst 檔案
把kernel那句加上個vga=0x0317即可
title Debian GNU/Linux, kernel 2.6.26-2-686
root (hd0,0)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro quiet vga=0x0317
initrd /boot/initrd.img-2.6.26-2-686
title Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.6.26-2-686
reboot後,便有了/dev/fb0裝置
其它版本的linux見下面的方法:
摘自:(JYJ_Block_Science and Technology)
http://blog.csdn.net/yeqishi/archive/2010/05/09/5573097.aspx
Linux -Lilo 模式啟動
確保您的 Linux 核心包含了 FrameBuffer 支援,並包含了 VESA FrameBuffer驅動程式。RedHat Linux 6.x 及以上的發行版內建的核心中已經包含了該驅動程式。如果使用自己編譯的核心,請檢查您的核心配置。如果使用 LILO 引導裝載器,則需要修改 /etc/lilo.conf 檔案,在您所使用的核心選項段中,添加如下一行(使用 GRUB 的使用者請轉到第 6 步):vga=0x0317
這樣,Linux 核心在啟動時將把顯示模式設定為 1024x768x16bpp 模式。如果您的顯示器無法達到這種顯示解析度,可考慮設定 vga=0x0314,它對應 800x600x16bpp顯示模式。修改後的 /etc/lilo.conf 檔案類似:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux
image=/boot/vmlinuz-2.4.2
vga=0x0317 ; 這一行設定顯示模式.
label=linux
read-only
root=/dev/hda6
other=/dev/hda1
label=dos
運行 lilo 命令,使所作的修改生效,並重新啟動系統:
# lilo
# reboot
如果一切正常,將在 Linux 核心的引導過程中看到螢幕左上方出現可愛的 Linux 吉祥物——企鵝,或者 RedHat Linux 的藍天白雲產品徽標,並發現系統的顯示模式發生了變化。
Linux -Grub 模式啟動
如果讀者使用的是 Red Hat 7.x 或者更高版本,並且在安裝 Red Hat 時使用了 GRUB
而不是 LILO 作為引導裝載器,則設定 FrameBuffer 的方法會有一些不同:
第一,要啟用 VESA FrameBuffer 驅動程式,需要修改 /boot/grub/menu.lst 檔案,並在kernel 打頭的一行添加 vga=0x0317。您也可以複製已有的引導選項並修改複製之後的選項,例如:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/hda1
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-3, FrameBuffer)
root (hd0,0)
kernel /boot/vmlinuz-2.4.18-3 ro root=/dev/hda1 vga=0x0317
initrd /boot/initrd-2.4.18-3.img
title Red Hat Linux (2.4.18-3)
root (hd0,0)
kernel /boot/vmlinuz-2.4.18-3 ro root=/dev/hda1
initrd /boot/initrd-2.4.18-3.img
其中Red Hat Linux (2.4.18-3, FrameBuffer) 就是設定了 VESA FrameBuffer 的引導選項。
第二,修改了 /boot/grub/menu.lst 檔案之後,重新啟動系統即可,而無需執行類似 lilo 那樣的命令。
VGA參數表
hwinfo --framebuffer | grep Mode
Model: "NVIDIA GW-P/N@PM898486GTQ14P:0"
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Mode 0x0345: 1600x1200 (+1600), 8 bits
Mode 0x0346: 1600x1200 (+3200), 16 bits
Mode 0x0347: 1400x1050 (+1400), 8 bits
Mode 0x0348: 1400x1050 (+2800), 16 bits
Mode 0x0349: 1400x1050 (+5600), 24 bits
Mode 0x034a: 1600x1200 (+6400), 24 bits
Mode 0x0352: 2048x1536 (+8192), 24 bits
Mode 0x0360: 1280x800 (+1280), 8 bits
Mode 0x0361: 1280x800 (+5120), 24 bits
Mode 0x0362: 768x480 (+768), 8 bits
Mode 0x0364: 1440x900 (+1440), 8 bits
Mode 0x0365: 1440x900 (+5760), 24 bits
Mode 0x0368: 1680x1050 (+1680), 8 bits
Mode 0x0369: 1680x1050 (+6720), 24 bits
Mode 0x037c: 1920x1200 (+1920), 8 bits
Mode 0x037d: 1920x1200 (+7680), 24 bits
另Ubuntu開啟
在Ubuntu中似乎不能直接在/boot/grub/menu.lst的核心參數中直接加入vga=xxx來開啟Ubuntu FrameBuffer。需要做一些額外的工作。
1. 編輯 /etc/initramfs-tools/modules,在其中加入:
fbcon
vesafb
vga16fb
2. 編輯 /etc/modprobe.d/blacklist-Ubuntu FrameBuffer,注釋掉以下兩行:
blacklist vesafb
blacklist vga16fb
3. 修改 grub 的 menu.lst ,在核心一行結尾加入fb解析度參數:
vga=0x317
這樣控制台即為 1024x768,16位。
4. 重新整理並重新啟動
sudo update-initramfs -u
5. 安裝並設定 zhcon
sudo apt-get install zhcon
可以在 /etc/bash.bashrc 裡加入
alias zhcon='zhcon --utf8 --drv=fb'
現在 Ubuntu FrameBuffer 出來啦,開啟 mplayer 享受以下控制台下看電影的樂趣吧。
Mplayer 在控制台下看視頻要指定輸出視頻裝置為 fbdev,由於裝置普通使用者無法直接存取,所以我這裡只能 sudo 了。