Linux0.12 核心除錯環境搭建
阿新 • • 發佈:2021-12-17
Linux-0.12
執行環境
環境 | 版本 |
---|---|
ubuntu16.04 | ubuntu-16.04.7-desktop-amd64.iso |
gcc | 5.4.0 |
gdb | 7.11.1 |
qemu | 2.5.0 |
- sudo apt install bin86
下載連結
編譯
- make
執行除錯
- 首先使用qemu啟動
qemu-system-x86_64 -m 16 -boot a -fda Linux-0.12-master/Kernel_Image -hda hdc-0.11.img -s -S -fda Image:代表你把 Image 執行目錄下 -hda hdc-0.11.img:是一個模擬硬碟的檔案,在原始碼目錄下可以找到 Kernel_Image 是make後形成的 -m:設定模擬的記憶體大小,本地設定為 16MB -s : 伺服器開啟1234埠 -S: 開始執行就掛住
-
另外啟動控制檯
gdb target remote localhost:1234 file tools/system directory ./Linux-0.11-master //設定原始碼目錄 set architecture i8086 //設定成i8086模式,用來除錯16位真實模式程式碼 set disassembly-flavor intel //講彙編顯示成INTEL格式,好看一些 b *0x7c00 c