Skip to content

Docker image to run hit-oslab on Linux, Windows, Mac os X

License

Notifications You must be signed in to change notification settings

yamakasiluke/oslab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

oslab

Docker image to run hit-oslab on Linux, Windows, Mac os X

##致谢 感谢李治军老师的付出

感谢DeathKing的项目

##项目缘起

哈尔滨工业大学《操作系统》课程实验指导手册、实验环境(64位支持)及源码 项目地址

操作系统之基础 地址

实验楼操作系统原理与实践 课程地址

##项目原理 关键就是保住hit-oslab,hit-oslab建立在ubuntu上,我选择是用docker虚拟机包住ubuntu。
hit_lab
最后用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
按照步骤,通过docker hub加速器使用 dao pull yamakasiluke/oslab:oslab 速度很快。
oslab的docker镜像地址

####2.下载安装可视化窗口程序和ssh程序 xming
xming http://sourceforge.net/projects/xming/files/Xming/
putty
windows要安装putty http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

####3.配置docker端口,启动oslab,并用命令行连接 #####配置docker端口 VM设置
打开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设置
需要设置好putty的参数。
ssh -X root@127.0.0.1 -p 50183登录密码为oslab

windows成功
windows success

###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
oslab的docker镜像地址

####2.下载安装可视化窗口程序和ssh程序 mac要安装xquartz http://www.xquartz.org/
ssh要打开选项叫做xforwarding yes

####3.配置docker端口,启动oslab,并用命令行连接 #####配置docker端口 配置VM端口
打开virtalbox,选中虚拟机->设置->网络->端口转发,修改主机端口和子系统端口,主机ip和子系统ip可以都为127.0.0.1
配置docker端口
主机端口和系统端口都不能被占用,可以随意设置,我设置的主机端口为50183,子系统端口为1234
http://jingyan.baidu.com/article/414eccf67298a16b421f0a6d.html
http://unmi.cc/mac-os-x-experience-docker/

#####启动oslab 启动oslab,并默认打开容器的sshd服务。
启动docker
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
port 5656
ssh -X root@127.0.0.1 -p 5656登录密码为oslab
ssh

mac环境成功
./run
bochs success

###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镜像地址

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

About

Docker image to run hit-oslab on Linux, Windows, Mac os X

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published