【linux源码学习】【实验篇】使用bochs运行linux0.11系统(搭建一个自己的工作站) |
您所在的位置:网站首页 › 湖北省会计报名需要信息采集吗 › 【linux源码学习】【实验篇】使用bochs运行linux0.11系统(搭建一个自己的工作站) |
目录
背景资源获取bochs环境搭建windowsbochs环境搭建linux声明
背景
最近看赵炯老师的《linux内核完全注释》,然后在最后一个习题里面看到使用bochs跑一下0.11的内核代码,本来觉得很难,但是如果做过一遍就会发现其实很简单,这个是学计算机最容易发现的感觉,接下来记录一下我如何运行的linux0.11的环境。 资源获取《linux内核完全注释》官网最新5.0版本的中英双语教材都有(虽然赵老师说自己的英语很poor,但是我觉得连我都能看懂的东西就是好东西)---------http://www.oldlinux.org/ 内核源码--------------http://oldlinux.org/Linux.old/bochs/linux-0.11-040304.zip bochs-2.1.1(不想使用太新的版本,因为赵炯老师发布的时间在2004年,所以2.1.1版本也是2004年,环境问题会比较少,想下最新版本的我也不拦你,只是可能需要自己折腾一下)------------------https://sourceforge.net/projects/bochs/files/bochs/2.1.1/ bochs环境搭建windowswindows环境搭建基本没有任何难度,本来我选了bochs-2.7,发现运行报错,所以下载了2.1.1,解压linux-0.11-040304.zip之后目录如下,这个包是赵炯老师直接配置好的两个系统映像文件和bochsrc配置文件,只要bochs环境没问题(这种类型的软件基本都会有问题),可以直接运行 首先说下为啥要这么做,windows其实是我的主力机,配置非常高,并且主要用来娱乐和游戏比较多,功耗同时也很高,不可能每天都在运行,所以我觉得大家肯定都想要一个属于自己的工作站,能够在任何地方使用它,连接它,哪怕用来装X。。。 所以我刚好手上有台小型机,所以都搭建了群辉nas,除了做些存储之外,就是将其作为自己的云服务器来使用了,还有另一个原因就是后面内核编译和生成印象文件的资料都是在linux环境下生成,因此,有一个随时能访问的linux环境应该是学计算机的同学们都想要的吧。买! 这边我用自己的群辉拉起的一个小虚拟机,使用了centos7安装的,首先作为服务器,我没装GUI。。。第一个坑挖好了。。 首先分以下几个步骤: 第一步:安装centos 安装centos看似简单,但是工作站可能要用很久,所以自己分配空间和下载软件以及软件管理方面还是需要讲究一下的 我使用的centos-everything.iso包,总大小9g左右,工作站不用尽可能的精简,安装的时候需要的工具包可以提前装好 我这边先安排了500g的安装包,分区就自动分吧,默认的分区给大家看下: yum install gtk2 gtk2-devel yum install libXt libXt-devel yum install libXpm libXpm-devel yum install SDL SDL-devel yum install libXrandr-devel.x86_64 yum install xorg-x11-server-devel yum install gcc yum install gcc-c++ 接下来解压tar.gz包进入目录: 应该有一个可执行文件叫./configure,用make安装的第一步,就是检查依赖,如果按照上面的安装之后,执行./configure之后就会生成makefile文件,同样日志也会打印: …/iodev/harddrv.h:290:8: error: extra qualification ‘sparse_image_t::’ on member ‘get_physical_offset’ [-fpermissive] sparse_image_t::
make install 安装命令 make uninstall 卸载命令 有了上述两种命令即可保证软件的安装和卸载可控,如果不可控,那么整个系统都会不可控。 安装成功后验证一下: bochs不会出现command not found 即可 运行0.11的linux 先看一个目录结构,这里不需要改任何东西, bochs -q -f ./bochsrc-hd-new.bxrc 又报错了:对于初学者的我来讲,真的很难受,看又看不懂,学又学不会。。。
vi bochsrc-hd-new.bxrc 将全局的反斜杠都改成正斜杠即可 ok,执行! 又报错了。。。啊。。妈妈。我不想学计算机了 [XGUI ] bochs: cannot connect to X server 索性再搜索一下吧,最后发现boch执行的时候会自动弹出一个ui弹窗,如果你的ssh nb,那么某些客户端会直接能够连接到X server(GUI服务),客户端有X client就能够直接看到centos的桌面,然后就能够调出bochs的ui。可惜我没安装GUI,而且终端还要装client插件。。。这样的话没办法达到我在任何一个机器上面都能够调试自己的工作站了,果断放弃。虽然有大神使用其他的软件做到远程ui,但是冷门的、或者需要客户端配置和安装插件的,都不符合我的目标,都放弃了。 最后无奈之下,使用vnc来显示我们的centos7ui界面吧。。。虽然ui不好用,但是确实达到了目标! yum groupinstall “X Window System” yum groupinstall “GNOME Desktop” reboot 重启一下 有些安装了"Graphical Administration Tools",主要是一些文件管理器等等软件,但是对我来说只需要个ui服务能够跑bochs,其他工作都是以命令行形式运行即可。 安装完成之后,我们通过vnc方式访问我们的centos: 开启桌面模式,并运行桌面: systemctl set-default multi-user.target 关闭桌面模式 systemctl set-default graphical.target 开启桌面模式 startx 开启桌面
bochs -q -f bochsrc-hd-new.bxrc 大功告成!vnc没有想象中的卡,不过是借助了ui运行了一下命令窗口,能接受吧。 声明linux内核正在学习中,因此如果存在部分概念错误问题,欢迎评论区指出~我们共同学习进步! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |