項目地址:https://github.com/ultraji/linux-0.12
參考《Linux內(nèi)核完全剖析 --基于0.12內(nèi)核》
linux-0.12目錄為修改過的源代碼,其中加入了中文注釋,修改部分代碼使其能在現(xiàn)在的環(huán)境下編譯,并且支持GDB調(diào)試。
oslab為實驗?zāi)夸?,切到oslab目錄下,運行該目錄下的run.sh
腳本即可運行l(wèi)inux0.12操作系統(tǒng)。
可以選擇已創(chuàng)建好的docker鏡像作為實驗環(huán)境(人生苦短,我用容器)。
首先從docker hub中拉取鏡像;
docker pull ultraji/ubuntu-xfce-novnc:os_learn
運行容器,linux用戶可以通過掛載將本地項目目錄掛載到容器中,windows或mac用戶可以在容器內(nèi)重新git clone一份;
docker run -t -i -p 6080:6080 -v ${本地項目路徑}:${容器內(nèi)項目路徑} ultraji/ubuntu-xfce-novnc:os_learn
默認不啟動VNC服務(wù),運行/home/ubuntu
目錄下vnc_startup.sh
腳本啟動VNC服務(wù),就可以通過瀏覽器輸入http://localhost:6080/vnc.html
訪問容器內(nèi)的桌面系統(tǒng)了。
ubuntu(64bit,>=14.04) 的用戶也可以使用src/code
目錄下的一鍵環(huán)境搭建腳本setup.sh。
該項目的oslab為實驗?zāi)夸?,切到oslab目錄下,運行該目錄下的run.sh
腳本即可運行l(wèi)inux0.12操作系統(tǒng)。
-m
?編譯生成新的Image鏡像-g
?運行bochs模擬器,與gdb聯(lián)調(diào)