有 Panic 經驗的人都知道,panic 會呼叫 dump_stack 動作,就會倒出一連串 function stack 狀態,但是往往會因為畫面行數不夠,使得要看重要的 panic 訊息都被洗掉了,所以這時候開始 framebuffer 就顯的非常有用。
在我的經驗中,開啟 framebuffer 有兩種方法如下:
VGA Card Driver 的支援
這方法應該是最根本的方法,有特定的 VGA Driver 支援,在顯示速度上都會比較順暢,畫面解析度也比較理想,可以透過編譯 kernel 前使用 make menuconfig 等指令修改 configure file 內容。
我以 2.6.19.2 的 kernel 為例進到 menuconfig 後選擇 Device Drivers -> Graphics support如下畫面:
再來有兩個重點,第一:必須將 "Support for frame buffer devices" 編成 build-in,第二:將所使用的 Device Driver 也編成 build-in,編成 Module 形式將不會 work,因此在這邊將 Support for frame buffer devices 這選項選成 *
而以我的 NB 為例,使用 ATI radeon 的卡,因此我找到 radeon 這選項之後也將之選成 * 如下圖:之後存檔重編即可
使用 vesafb 來開啟 Framebuffer
這方法算是比較簡易的啟動方法,幾乎是用於所有 support VESA 2.0 規格的顯示卡上,只要透過修改 grub 的開機字串即可:我們開啟 /boot/grub/menu.lst 並找到現在所使用的 entry 如下:
並於 kernel 這行最後面加上紅色框框所括起來字串,強制開啟 vesa framebuffer 即可,而後面 vga 的參數是用來設定所有開啟的解析度,可以再參考資料 Framebuffer HOWTO 這篇找到相關可以用的參數
Framebuffer HOWTO
http://tldp.org/HOWTO/Framebuffer-HOWTO.html
...《消息來源》
Home >
Tools
> Kernel debug: Framebuffer
Tuesday, March 13, 2007
Kernel debug: Framebuffer
Subscribe to:
Post Comments (Atom)

1 Comments:
在 Jollen 的 Blog 看到篇關於 Linux frame buffer driver 開發的資料,值得參考
Linux frame buffer 驅動程式開發簡報下載
Post a Comment