# oslab **Repository Path**: jerryirc/oslab ## Basic Information - **Project Name**: oslab - **Description**: Docker image to run hit-oslab on Linux, Windows, Mac os X - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-03-29 - **Last Updated**: 2022-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # oslab Docker image to run hit-oslab on Linux, Windows, Mac os X ##致谢 感谢李治军老师的付出 感谢[DeathKing的项目](https://github.com/DeathKing/hit-oslab) ##项目缘起 哈尔滨工业大学《操作系统》课程实验指导手册、实验环境(64位支持)及源码 [项目地址](https://github.com/DeathKing/hit-oslab) 操作系统之基础 [地址](http://mooc.study.163.com/course/HIT-1000002004#/info) 实验楼操作系统原理与实践 [课程地址](https://www.shiyanlou.com/courses/115) ##项目原理 关键就是保住hit-oslab,hit-oslab建立在ubuntu上,我选择是用docker虚拟机包住ubuntu。
![hit_lab](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/hit_lab.png)
最后用ssh连接docker里的ubuntu,建立和实验楼一致命令行环境。
##目录 * [windows] * [mac os X] * [linux] ##具体步骤 ###windows ####1.安装docker,并下载oslab的docker镜像 国内用户也可以痛快使用docker,速度很棒。
进入https://www.daocloud.io/
*window10安装docker可能出现问题,需要在bios里开启虚拟化,没有遇到就不用管了*。
之后安装docker hub加速器。
https://dashboard.daocloud.io/mirror
![dao pull](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/dao_pull.PNG)
按照步骤,通过docker hub加速器使用 `dao pull yamakasiluke/oslab:oslab` 速度很快。
[oslab的docker镜像地址](https://hub.docker.com/r/yamakasiluke/oslab/)
####2.下载安装可视化窗口程序和ssh程序 ![xming](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/windows_xming.PNG)
xming http://sourceforge.net/projects/xming/files/Xming/
![putty](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/windows_putty.PNG)
windows要安装putty http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
####3.配置docker端口,启动oslab,并用命令行连接 #####配置docker端口 ![VM设置](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/input_output.PNG)
打开virtalbox,选中虚拟机->设置->网络->端口转发,修改主机端口和子系统端口,主机ip和子系统ip可以都为`127.0.0.1`。
主机端口和系统端口都不能被占用,可以随意设置,我设置的主机端口为`50183`,子系统端口为`1234`。
http://jingyan.baidu.com/article/414eccf67298a16b421f0a6d.html
#####启动oslab 启动oslab,并默认打开容器的sshd服务。
`docker run -it -p 1234:22 -d --privileged yamakasiluke/oslab:oslab /usr/sbin/sshd -D`
#####命令行连接 用putty和xming连接自己的实验环境。
http://david-je.iteye.com/blog/1847417
![VM设置](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/window_connect.PNG)
需要设置好putty的参数。
`ssh -X root@127.0.0.1 -p 50183`登录密码为`oslab`
windows成功
![windows success](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/windows_sucess.PNG)
###mac os X ####1.安装docker,并下载oslab的docker镜像 国内用户也可以痛快使用docker,速度很棒。
进入https://www.daocloud.io/
之后安装docker hub加速器。
https://dashboard.daocloud.io/mirror
按照步骤,通过docker hub加速器使用 `dao pull yamakasiluke/oslab:oslab` 速度很快。
![docker images](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_docker_images.png)
[oslab的docker镜像地址](https://hub.docker.com/r/yamakasiluke/oslab/)
####2.下载安装可视化窗口程序和ssh程序 mac要安装xquartz http://www.xquartz.org/
ssh要打开选项叫做xforwarding yes
####3.配置docker端口,启动oslab,并用命令行连接 #####配置docker端口 ![配置VM端口](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_net.png)
打开virtalbox,选中虚拟机->设置->网络->端口转发,修改主机端口和子系统端口,主机ip和子系统ip可以都为`127.0.0.1`。
![配置docker端口](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_50183.png)
主机端口和系统端口都不能被占用,可以随意设置,我设置的主机端口为`50183`,子系统端口为`1234`。
http://jingyan.baidu.com/article/414eccf67298a16b421f0a6d.html
http://unmi.cc/mac-os-x-experience-docker/
#####启动oslab 启动oslab,并默认打开容器的sshd服务。
![启动docker](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_docker_run.png)
`docker run -it -p 1234:22 -d --privileged yamakasiluke/oslab:oslab /usr/sbin/sshd -D`
#####命令行连接 设置好ssh_config。
http://apple.tgbus.com/news/class/200901/20090110095747.shtml
`ssh -X root@127.0.0.1 -p 50183`登录密码为`oslab`。
我这里后来50183端口占用,变成了5656 ![port 5656](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_5656.png)
![port 5656](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_io_change.png)
`ssh -X root@127.0.0.1 -p 5656`登录密码为`oslab`。
![ssh](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_ssh.png)
mac环境成功
![./run](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_ssh_ok.png)
![bochs success](https://raw.githubusercontent.com/yamakasiluke/oslab/master/img/mac_success.png)
###linux ####1.安装docker,并下载oslab的docker镜像 国内用户也可以痛快使用docker,速度很棒。
进入https://www.daocloud.io/
之后安装docker hub加速器。
https://dashboard.daocloud.io/mirror
按照步骤,通过docker hub加速器使用 `dao pull yamakasiluke/oslab:oslab` 速度很快。
[oslab的docker镜像地址](https://hub.docker.com/r/yamakasiluke/oslab/)
####2.下载安装可视化窗口程序和ssh程序 您都用linux了,肯定很清楚。
下载X11和openssh。
####3.配置docker端口,启动oslab,并用命令行连接 #####配置docker端口 oslab镜像里已经打开了sshd的22端口。
ssh_config添加port 1234。
请确保容器暴露的端口没有被占用,我这里是1234。
#####启动oslab 启动oslab,并默认打开容器的sshd服务。
`docker run -it -p 1234:22 -d --privileged yamakasiluke/oslab:oslab /usr/sbin/sshd -D`
#####命令行连接 `ssh -X root@127.0.0.1 -p 1234`登录密码为`oslab`。
##一切顺利就可以调试了,docker很好用,rtfsc。 ##备注 我自己看了看的步骤,虽然繁琐,但是可控,网上文章较多,相比去自己编译bochs和配置.bxrc文件还是比较简单的。
那我的mac电脑来说,遇到了不少问题,编译失败和repeat call floppy还有vga images wrong的还有bxrc问题的。
用docker可以使用老师配置好的环境,这个与课程一致的,很重要。
用了这个方法至少可以保证可用。