Ubuntu18.04搭建linux0.11实验环境

写在前面

实验环境的搭建(HIT操作系统课程的实验环境)真的是历经千辛万苦,光Ubuntu18.04我就重装了无数遍,配置了无数遍(还是我太蠢...)

先截个成功的图

Ubuntu18.04搭建linux0.11实验环境_第1张图片

1.克隆仓库

git clone https://github.com/Wangzhike/HIT-Linux-0.11.git ~/hit-oslab

如果没有git,则先安装git

sudo apt-get install git

或者去https://github.com/DeathKing/hit-oslab直接下载。

2.安装实验环境

进入文件夹hit-oslab,运行脚本setup.sh

cd hit-oslab
./setup.sh

本脚本会将实验环境安装在当前登录用户的家目录下,文件名为oslab,即我们的实验目录是~/oslab

之所以让大家使用这个脚本,是因为它会帮助大家安装很多软件包,比如

 gcc-3.4
 bin86
 libc6-dev-i386
 build-essential
 libsm6:i386
 libx11-6:i386
 libxpm4:i386

(如果大家是和我一样的Ubuntu18.04版本,则有可能出现一些问题,后面会讲如何解决)

3.编译,运行Linux0.11

cd ~/oslab/linux-0.11
make            #在linux-0.11目录下编译
cd ~/oslab
./run            #在oslab目录下运行

如果大家可以运行成功(如第一个图,则可以直接使用,不需要多余配置。)

若出现如下图所示的情况,则说明仍然缺少文件

Ubuntu18.04搭建linux0.11实验环境_第2张图片

4.解决问题

4.1因为直接run上述的linux-0.11系统会出现上图的黑框,没有任何错误信息,所以我重新在课程资源处(链接: https://pan.baidu.com/s/1rP0Bc1_DUVCL-7_g_YJHeQ 提取码: u3nb )下载了hit-oslab

4.2在新建的文件夹下解压,编译,运行。

tar zxvf hit-oslab-linux-20110823.tar.gz
cd oslab/linux-0.11
make
cd ~/oslab
./run

4.3会出现错误

./bochs/bochs-gdb: error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or directory

4.4打印动态链接配置

ldconfig -p | grep libSM.so.6
#下面是打印结果
libSM.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libSM.so.6

4.5我们需要的是32位的,搜索库的对应名称

apt-file search libSM.so.6
#下面是打印结果
libsm6: /usr/lib/x86_64-linux-gnu/libSM.so.6
libsm6: /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1

4.6如果没有安装apt-file,则

sudo apt install apt-file

4.7得到其对应的包名为libsm6,安装对应的32位库

sudo apt-get install libsm6:i386

4.8再次尝试,出现错误

./bochs/bochs-gdb: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

4.9同样可以按照步骤11来解决,不过这里用了另一个工具

dpkg-query -S libX11.so.6
#下面是打印结果
libx11-6:i386: /usr/lib/i386-linux-gnu/libX11.so.6.3.0
libx11-6:amd64: /usr/lib/x86_64-linux-gnu/libX11.so.6
libx11-6:amd64: /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
libx11-6:i386: /usr/lib/i386-linux-gnu/libX11.so.6

4.10得到其对应的包名为libx11-6,安装对应的32位库

sudo apt-get install libx11-6:i386

4.11再次尝试,出现错误

./bochs/bochs-gdb: error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directory

4.12继续使用步骤4.9的工具

dpkg-query -S libXpm.so.4
#下面是打印结果
libxpm4:i386: /usr/lib/i386-linux-gnu/libXpm.so.4
libxpm4:amd64: /usr/lib/x86_64-linux-gnu/libXpm.so.4
libxpm4:amd64: /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0
libxpm4:i386: /usr/lib/i386-linux-gnu/libXpm.so.4.11.0

4.13得到其对应的包名为libxpm4,安装对应的32位库

sudo apt-get install libxpm4:i386

4.14再次尝试,运行成功!如开篇第一张图。

 

 

本文参考

https://github.com/DeathKing/hit-oslab

https://github.com/Wangzhike/HIT-Linux-0.11/blob/master/0-prepEnv/%E5%87%86%E5%A4%87%E5%AE%89%E8%A3%85%E7%8E%AF%E5%A2%83.md

非常感谢前人总结的各种解决办法,我这里只是做了一个总结,希望后来者能更顺利的配置好实验环境。

你可能感兴趣的:(操作系统/汇编)