# 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。

最后用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

按照步骤,通过docker hub加速器使用 `dao pull yamakasiluke/oslab:oslab` 速度很快。
[oslab的docker镜像地址](https://hub.docker.com/r/yamakasiluke/oslab/)
####2.下载安装可视化窗口程序和ssh程序

xming http://sourceforge.net/projects/xming/files/Xming/

windows要安装putty http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
####3.配置docker端口,启动oslab,并用命令行连接
#####配置docker端口

打开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

需要设置好putty的参数。
`ssh -X root@127.0.0.1 -p 50183`登录密码为`oslab`
windows成功

###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` 速度很快。

[oslab的docker镜像地址](https://hub.docker.com/r/yamakasiluke/oslab/)
####2.下载安装可视化窗口程序和ssh程序
mac要安装xquartz http://www.xquartz.org/
ssh要打开选项叫做xforwarding yes
####3.配置docker端口,启动oslab,并用命令行连接
#####配置docker端口

打开virtalbox,选中虚拟机->设置->网络->端口转发,修改主机端口和子系统端口,主机ip和子系统ip可以都为`127.0.0.1`。

主机端口和系统端口都不能被占用,可以随意设置,我设置的主机端口为`50183`,子系统端口为`1234`。
http://jingyan.baidu.com/article/414eccf67298a16b421f0a6d.html
http://unmi.cc/mac-os-x-experience-docker/
#####启动oslab
启动oslab,并默认打开容器的sshd服务。

`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


`ssh -X root@127.0.0.1 -p 5656`登录密码为`oslab`。

mac环境成功


###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可以使用老师配置好的环境,这个与课程一致的,很重要。
用了这个方法至少可以保证可用。