搭這個實驗環境主要是爲了學習Linux-0.11的代碼,那就須要修改代碼再次編譯來驗證本身的想法。主要的實驗環境來自實驗樓,可是在那上面畢竟不方便,因此就以實驗樓上的爲基礎在本身的虛擬機上搭建一個環境。html
主要的實驗環境和Linux-0.11的源代碼已經打包在個人github上了:Linux0.11-Lablinux
個人實驗環境在ubuntu18.04中,其它版本應該也同理,可是編譯Linux 0.11內核須要低版本的gcc,因此須要先安裝gcc-3.4.c++
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文件。git
在源目錄下,執行./run腳本便可啓動Bochs,就是Linux0.11了github
在編譯內核的時候,可能會出現兩個錯誤ubuntu
./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
原文出處:https://www.cnblogs.com/secoding/p/11731851.htmlhtm