建構 Linux 0.11 的開發環境
參考平臺 Ubuntu Linux 15.10 x86_64
安裝必要的套件
sudo apt-get install vim cscope exuberant-ctags build-essential qemu-system-x86
git clone https://github.com/tinyclub/linux-0.11-lab
cd linux-0.11-lab
make help
暫時不能用太新的 gcc 編譯: make CC=gcc-4.8 或者改用 jserv 的開發分支。
用 QEMU 的 hard disk image 啟動
make start-hd
一下子就開啟了:
當然也可以用 gdb 追蹤和分析
假設目前目錄都是 linux-0.11-lab
,先在一個終端機視窗執行以下指令:
$ make debug-hd // debug it via qemu & gdb, you'd start gdb to connect it.
接著再開啟新的終端機畫面: (粗體字為輸入)
gdb -q images/kernel.sym
(gdb) target remote :1234
(gdb) b main
(gdb) c
預期會看到以下 GDB 訊息:
Breakpoint 1, main () at main.c:107
107 { /* The startup routine assumes (well, ...) this */
(gdb)
這時再輸入 c
就可以繼續 Linux 核心的運作。