最近為了調試bootloader
發現在Linux上有一套帶有除錯工具的虛擬機器bochs
這套虛擬機器可以單步執行並可以查看記憶體位址、暫存器內容等等
但在ubuntu-12.04LTS中所預設的bochs是沒有dbugger的
必須自行編譯才可得到帶有debugger的bochs
以下為編譯方式
Step1. sudo apt-get install libgtk2.0-dev
Step2. sudo apt-get install libsdl1.2-dev
Step3. sudo apt-get install flex
Step4. sudo apt-get install bison
Step5. apt-get sources bochs
Step6. cd bochs-2.4.6/
Step7. ./configure --enable-debugger --prefix=/usr --with-sdl
Step8. make
Step9. sudo cp bochs /usr/bin/bochsdbg
建立bochsrc
在啟動bochs前要先建立bochsrc檔
以下為bochsrc內容
megs: 32
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vga: extension=vbe
floppya: 1_44=boot.img, status=inserted
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#ata0-master: type=disk, path=boot.img, mode=flat, cylinders=1,heads=1,sectors=1
ata0-slave: type=cdrom, path=dosml.iso, status=inserted
boot: floppy
log: bochsout.txt
mouse: enabled=0
cpu: ips=15000000
啟動bochs
bochsdbg -f bochsrc
隱藏文章
2013年2月16日 星期六
安裝bochs
2012年9月5日 星期三
在MinGW下編譯FFmpeg
Step 1. 下載FFmpeg(download)
注意若要在MinGW下編譯,ffmpeg.org版本會有問題
這裡使用zeranoe FFmpeg builds版本,可正常編譯
Step 2. 編譯FFmpeg
在編譯FFmpeg前有幾個相依性套件需先安裝(pkg-config、glib、zlib、SDL、yasm)
相關安裝請參考前幾篇網誌。
(1) ./configure --enable-static --enable-shared
--enable-memalign-hack --enable-ffplay
(2) make
(3) make install
注意在這裡編譯後並不會產生ffserver.exe,是因為在MinGW平台並無對應網路API,若要編譯出ffserver.exe可在cygwin平台或Linux平台即可
在MinGW安裝pkg-config
Step1. 到GTK下載套件(download)
Step2. 安裝套件
- 將GLib Package中的libglib-2.0-0.dll複製到C:\MinGW\bin
- 將Zlib Package中的zlib1.dll複製到C:\MinGW\bin
- 將pkg-config Package中的pkg-config.exe複製到C:\MinGW\bin
- 將gettext-runtime Package中的intl.dll複製到C:\MinGW\bin
Step3. 設定環境變數
cat >> /usr/local/etc/profile.local << "EOF"
if [ -z "$PKG_CONFIG" ]; then
export PKG_CONFIG=/mingw/bin/pkg-config.exe
fi
if [ -z "$PKG_CONFIG_PATH" ]; then
export PKG_CONFIG_PATH=/mingw/lib/pkgconfig:/usr/local/lib/pkgconfig
fi
隱藏文章
在MinGW下編譯yasm
Yasm是一個NASM Assembler因編譯ffmpeg需要,我們將嘗試在MinGW環境下編譯Yasm函式庫
Step1. 下載YASM函式庫(download)
Step2. 編譯YASM函式庫
./configure -prefix=/mingw
make
make install
隱藏文章
訂閱:
文章 (Atom)