=摘要=
想要看看minix3的代码(minix3.1.8)...一个方法是在虚拟机运行minix3,然后使用vi工具在虚拟机里查看minix3的源代码...但是这样的效果是...
1:vi没有亮色功能,严重影响看代码的质量.
2:不打开虚拟机就不能看代码....
于是有了"提取minix3源代码"的想法...经过一阵的探索,功夫不负有心人呀..终于得到了在虚拟机中的MINIX3中/usr/src下面的所有代码...本文就是记录怎么在virtual box中的minix3系统中提取其/usr/src下面的源代码.
=测试环境=
ubuntu 10.10 + virtual box 4 + minix 3.1.8
=vbox启动minix3=
如果直接使用vbox来启动minix3的话,那将启动不成功...需要使用vbox的命令行工具+几个参数这样来启动minix3...具体启动命令:
VBoxSDL --startvm mini3_ --norawr0 --norawr3
(mini3_是minix3在vbox的虚拟机名)
=提取原理=
总体来讲是在ubuntu下通过ftp实现将vbox中的minix3中经过打包的源代码打包文件下载到ubuntu下的...所以需要满足:
# minix3有ftp服务端.
# ubuntu有ftp客户端.
# ubuntu可以ping到minix3..且两者能够互通.
# minix3中能够对源代码目录文件进行压缩.
(ubuntu能够上网,这样bridged模式才能在minix3中有效,要不然minix3的starting networking会一直在等呀等呀...)
=具体做法=
=网络配置=
在vbox为minix的"网络"设置为"bridged adapter",且使用的网卡是vbox虚拟出来的"vmnet8".这时使用命令行启动minix3...
进入minix后,可以使用ifconfig命令查看minix3的ip...这时的IP应该与vmnet8的网段一样...这个时候ubuntu通过minix3的ifconfig命令查出的ip来访问minix3.而minix3通过vmnet8的ip来访问ubuntu..这时vmnet8的ip相当于minix3所在网络的网关..
但是发现下载速度不够快..于是把vmnet8改成eth0,即本本里的物理网卡....(更换后的速度达700K哈哈)
图解如下:
我这里的minix3的ip分配为:192.168.95.128(vbox的dhcp分配的),vnmet8的ip为:192.168.95.1
=minix3启动ftp=
好了,上面搞定ubuntu与minix3的通信问题了.现在把minix3中的ftp服务端运行起来..
minix3默认启动后是没有打开ftp服务的,但是可以手动打开,在minix3下面的ftp启动命令如下:
#intr -d tcpd ftp in.ftpd &
这里要注意将将这个ftp服务端放在后台运行...要不然将无法使用minix的终端啦...
=minix3内使用ftp=
上面打开了minix3下面的ftp服务..现在来测试一下!在minix3里打开minix3的ftp客户端:
ftp 127.0.0.1
输入root与root的密码就可以了...
(如果还没有设置root的密码,那么使用passwd来设置一下才能正常使用ftp啦.)
使用ls命令可以查看一下当前ftp的目录在哪里.
ftp>ls
使用get命令可以将ftp上面的文件下载到本地.
更多的命令可以输入help.
=ubuntu登录到minix3的ftp=
前面已经成功实现ubuntu与minix3的连通了...同时minix也打开ftp服务了..系时候试试使用ubuntu来连接到minix上面的ftp了
$ftp 192.168.95.128
使用root登录成功后中,就跟在minix3里面使用ftp基本一样啦...
=打包minix源码=
minix3的源代码存放在系统的/usr/src目录下...里面有好多个了目录,当然也有好多的文件...如果我们使用ubuntu的ftp工具一个一个文件下载的话,相信谁也不肯这样...还好,minix3里面有一个tar工具...一个在linux下面很常见的工具...在这里就使用这个工具对/usr/src/下面的所有文件进行打包:
下面命令都在minix3里执行的:
#cd /usr/src
#tar -cvf minix3.1.8-src.tar *
(文件较多,最后的压缩包达30MB++);
(有关于tar的用法可以在minix3中man tar)
哈哈,现在已经打源代码打包好了,ubuntu也可以使用ftp连接到虚拟机里面的minix3了....系时候下载minix的源代码到ubuntu内了...
=提取minix3源代码=
上面已经完成应该完成了的...现在到ubuntu终端中,使用ftp工具连接到minix3里面,执行下面命令来下载源代码到ubuntu系统下:
$mkdir minix3_ftp
$cd minix3_ftp
$ftp 192.168.95.128
(以root登录)
ftp>cd /usr/src
ftp>ls
(这个时候应该能够看到minix3的/usr/src下面的目录文件信息了)
ftp>get minix3.1.8-src.tar
.....等待下载......
ftp> get minix3.1.8-usr-src.tar
local: minix3.1.8-src.tar remote: minix3.1.8-src.tar
200 Port command okay.
150 Opening BINARY mode data connection for minix3.1.8-src.tar (37443072 bytes).
226 Transfer finished successfully. 777.98 KB/s
37443072 bytes received in 46.84 secs (780.6 kB/s)
ftp>!
(退出ftp)
到了这里,minix3虚拟机内的源代码就提取出来啦,以后可以解压minix3.1.8-src.tar来看minix3的源代码了.:)