搭这个实验环境主要是为了学习Linux-0.11的代码,那就需要修改代码再次编译来验证自己的想法。主要的实验环境来自实验楼,但是在那上面毕竟不方便,所以就以实验楼上的为基础在自己的虚拟机上搭建一个环境。
主要的实验环境和Linux-0.11的源代码已经打包在我的github上了:Linux0.11-Lab
Get start我的实验环境在ubuntu18.04中,其它版本应该也同理,但是编译Linux 0.11内核需要低版本的gcc,所以需要先安装gcc-3.4.
依次执行下面的命令,来安装gcc-3.4
wget sudo dpkg --force-depends -i gcc-3.4-base_3.4.6-6ubuntu3_amd64.deb wget sudo dpkg --force-depends -i gcc-3.4_3.4.6-6ubuntu3_amd64.deb wget sudo dpkg --force-depends -i cpp-3.4_3.4.6-6ubuntu3_amd64.deb wget ++-3.4_3.4.6-6ubuntu3_amd64.deb sudo dpkg --force-depends -i g++-3.4_3.4.6-6ubuntu3_amd64.deb wget ++6-dev_3.4.6-6ubuntu3_amd64.deb sudo dpkg --force-depends -i libstdc++6-dev_3.4.6-6ubuntu3_amd64.deb实验还需要as86、ld86,如果没有的话也需要进行安装,as86、ld86在bin86包中
sudo apt install bin86编译内核
进入linux-0.11文件夹,执行make命令即可,会生成Image文件。
启动bochs
在源目录下,执行./run脚本即可启动Bochs,就是Linux0.11了
可能出现的问题在编译内核的时候,可能会出现两个错误
缺少libSM.so.6
./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缺少libXpm.so.4
./bochs/bochs-gdb: error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directory
安装对应的32位库即可
sudo apt install libxpm:i386