搭這個實驗環境主要是爲了學習Linux-0.11的代碼,那就須要修改代碼再次編譯來驗證本身的想法。主要的實驗環境來自實驗樓,可是在那上面畢竟不方便,因此就以實驗樓上的爲基礎在本身的虛擬機上搭建一個環境。linux
主要的實驗環境和Linux-0.11的源代碼已經打包在個人github上了:Linux0.11-Labc++
個人實驗環境在ubuntu18.04中,其它版本應該也同理,可是編譯Linux 0.11內核須要低版本的gcc,因此須要先安裝gcc-3.4.git
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i gcc-3.4-base_3.4.6-6ubuntu3_amd64.deb
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i gcc-3.4_3.4.6-6ubuntu3_amd64.deb
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i cpp-3.4_3.4.6-6ubuntu3_amd64.deb
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/g++-3.4_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i g++-3.4_3.4.6-6ubuntu3_amd64.deb
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/libstdc++6-dev_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i libstdc++6-dev_3.4.6-6ubuntu3_amd64.deb
複製代碼
sudo apt install bin86
複製代碼
進入linux-0.11文件夾,執行make命令便可,會生成Image文件。github
在源目錄下,執行./run腳本便可啓動Bochs,就是Linux0.11了ubuntu
在編譯內核的時候,可能會出現兩個錯誤bash
./bochs/bochs-gdb: error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or directory
複製代碼
安裝對應的32位庫便可學習
sudo apt install libsm6:i386
複製代碼
./bochs/bochs-gdb: error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directoryspa
安裝對應的32位庫便可code
sudo apt install libxpm:i386
複製代碼