搭这个实验环境主要是为了学习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
复制代码