打印

bochs在我的ubuntu上运行起来了。哈哈,可以玩X86下的裸奔了。

[复制链接]
17305|59
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2014-6-25 14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
keer_zu|  楼主 | 2014-6-25 17:26 | 只看该作者

“裸”就裸地有分量

本帖最后由 keer_zu 于 2014-6-26 01:36 编辑

接下来就是如何编译制作类似 磁盘镜像文件了。还有如何使用这个模拟器去做系统的开发。x86上“裸”,够过瘾吧。然后是在arm9或者更高版本的实物上"裸",然后总结出“裸奔”的技巧。怎么样,兄弟们,同意的顶起来啊。@ayb_ice @紫剑 @原野之狼 @yyy71cj  

使用特权

评论回复
板凳
keer_zu|  楼主 | 2014-6-25 18:07 | 只看该作者
本帖最后由 keer_zu 于 2014-6-26 01:37 编辑

安装过程:
昨天装的,细节都忘了。网上查查。

首先你要有一台linux主机,我用的是Ubuntu12.04,以下就针对ubuntu来说了。
准备工作:  

首先,安装以下软件:  
sudo   apt-get    bulid-essional (如果以前安装过就免了)
sudo apt-get install xorg-dev
sudo apt-get install bison

然后安装bochs,网上大都是下载源码然后编译什么的,其实只要用apt-get install即可:
apt-get install bochs
apt-get install bochsbios
apt-get install bochs-x
apt-get install vgabios

好像还需要安装xlib和gtk什么的。我之前装过,所以不需要从新装。如果你在使用是有错误提示可以网上搜一下,看少了什么。


好了,安装完毕后,从赵炯老师网站下个linux-0.11-devel-050518.zip。(www.oldlinux.org

解压拷贝到你的linux目录下。

将bochsrc-hd.bxrc拷贝一份,重新命名:bochs.txt

然后将bochs.txt修改成一下内容:(所传为压缩包)

bochstxt.tar.gz (5.66 KB)

然后然后执行:bochs -qf bochs.txt即可运行bochs

使用特权

评论回复
地板
原野之狼| | 2014-6-25 20:29 | 只看该作者
哈哈  支持原创

使用特权

评论回复
5
keer_zu|  楼主 | 2014-6-26 12:36 | 只看该作者
上边那个bochs配置文件不能看到显示信息,这个可以:
bochs.zip (5.5 KB)

使用特权

评论回复
6
keer_zu|  楼主 | 2014-6-26 12:48 | 只看该作者
本帖最后由 keer_zu 于 2014-6-26 12:54 编辑

这个文件的使用方法:图种tt.txt就是上楼传的bochs.zip解压后的结果。(名字不同而已)









输入该命令后回车,弹出以下对话框:





具体什么问题,你可以google一下解决掉。

选debugger后:


这样,bochs就启动了。因为还有些问题,所以没有看到完整启动的系统,不要紧,继续。@yyy71cj @原野之狼 @ayb_ice  

使用特权

评论回复
7
keer_zu|  楼主 | 2014-6-26 14:12 | 只看该作者
本帖最后由 keer_zu 于 2014-6-26 14:13 编辑

对原有bochs.txt修改后:

bochs.zip (5.58 KB)

使用这个配置文件启动bochs:



ok 可以进入系统了。



至此,bochs下虚拟一个完整的早期linux系统完成了。

下一步任务:
1. 如何利用bochs仿真和开发x86裸程序。
2. 如何制作bochs所使用的镜像文件等。

518-1.png (105.28 KB )

518-1.png

Screenshot-Untitled Window.png (21 KB )

Screenshot-Untitled Window.png

使用特权

评论回复
8
keer_zu|  楼主 | 2014-6-27 16:48 | 只看该作者
本帖最后由 keer_zu 于 2014-6-27 16:54 编辑
yyy71cj 发表于 2014-6-27 16:32
任何的技术,只要有人发展,它就有活力
记得我使用UNIX的时候那还在小型机上,现在看到linux的面 ...

我是这样考虑的:
1.现在的单片机(MCU)其实资源越来越多,成本越来越低。也就意味着以后嵌入式的主流处理器可以使用更多之前主流PC处理器下的已有资源,虽然linux不太可能跑在没有带存储映射的普通MCU上(uclinux除外,但是它基本被边缘化了,没有发展的必要),但是里面对多任务环境的处理,对中断等资源的管理都是mcu可以借鉴的。当然连程序代码都是可以借鉴和学习的。
2.最新版本的linux系统过于庞大,很难用做上述目的。所以采用早期版本,好入手。
3.做mcu开发的都有一个更大的梦想,希望在更强大的平台下做些更牛X的事情,x86虽然和ARM不是同一种架构,但是它对多任务的支持,分页、分段等内存映射机制,以及对特权模式的支持等是相似的。所以从x86的裸平台触发,也是学习这类处理器和操作系统内核的切入点。

我们不是为了在上面跑个系统然后应用系统,是想了解这个系统是怎么在x86这个“裸”平台实现的。
冰山已经露出一角,里面一定有很多精彩值得期待!!

使用特权

评论回复
9
keer_zu|  楼主 | 2014-6-28 14:50 | 只看该作者
哈哈,其实单片机只是一种简化了的计算机。处理起来比x86或者支持多任务的ARM版本简单。

使用特权

评论回复
10
happy_ice| | 2014-6-30 17:28 | 只看该作者
关注中。。。。:)

使用特权

评论回复
11
xiongxiao| | 2014-7-1 11:53 | 只看该作者
MARK,希望后续有跟踪!!尽管理很多年没有玩MCU了

使用特权

评论回复
12
keer_zu|  楼主 | 2014-7-1 12:39 | 只看该作者
继续往下走就要安装:as86,这样可以编译接下来的例子。
在ubuntu中:
        sudo apt-get install bin86
即可。

使用特权

评论回复
13
keer_zu|  楼主 | 2014-7-1 13:52 | 只看该作者
在完成as86安装后,就可以编译下面压缩文件里面linux-0.00-rh9里面的程序了,直接:
         make
即可。如有修改,先:
         make clean
一下。
生成的Image镜像文件直接替换上级目录里面的Image即可。
然后执行:
         bochs -qf bochsrc-0.00.txt
即可执行编译结果。

这是两个汇编文件组成的程序,可以说是最小的操作系统,因为它已经支持两个任务(TASK)了,两个任务分别往屏幕上打印"A"和“B”。

代码: simple.tar.gz (8.94 KB)

使用特权

评论回复
14
keer_zu|  楼主 | 2014-7-2 17:05 | 只看该作者
下一步:bochsdbg的安装,ununtu通过apt-get install安装的软件没有bochsdbg,需要从源文件直接编译,因为目前还没编译成功,等我成功后会给出来一个解决办法。

使用特权

评论回复
15
gxliu08| | 2014-7-7 09:24 | 只看该作者
bochs没用过,x86模拟用virtualbox,跨平台模拟用qemu。

使用特权

评论回复
16
keer_zu|  楼主 | 2014-7-8 12:39 | 只看该作者
gxliu08 发表于 2014-7-7 09:24
bochs没用过,x86模拟用virtualbox,跨平台模拟用qemu。

有调试功能吗?哈哈,我也了解一下。

使用特权

评论回复
17
keer_zu|  楼主 | 2014-7-10 16:06 | 只看该作者
gxliu08 发表于 2014-7-7 09:24
bochs没用过,x86模拟用virtualbox,跨平台模拟用qemu。

兄弟,开个贴讲一下呗。哈哈

使用特权

评论回复
18
keer_zu|  楼主 | 2015-2-11 16:06 | 只看该作者
看来也是没人感兴趣啊

使用特权

评论回复
19
keer_zu|  楼主 | 2015-2-11 20:39 | 只看该作者
yyy71cj 发表于 2015-2-11 18:18
我觉得这里的坛友,多是单片机类型的,你都进INTEL的微机世界了,所以…… ...

一样的,必须是一样的

使用特权

评论回复
20
keer_zu|  楼主 | 2015-2-12 10:49 | 只看该作者
yyy71cj 发表于 2015-2-12 10:14
其实都是一个道理,但是增加了大脑的负担,所以可以先集中于单片机,然后逐渐扩展,如果一下子就扩展了, ...

也是,思维形成定式,改变起来很费劲。现在的小年轻因为有树莓派这样的平台:两百多*币,四核,1G内存。比起当初幸福多了,不仅能做嵌入式开发,还可以跑类似ubuntu这样的“通用”系统。两百多就搞定了:开发主机 + 开发板,想想当初一台PC几千,51的烧写器,开发板下来也得四位数,而且难用的要死。

但是他们接触这个没有压力啊。现在的学生好处都占尽了。如果让他们再走当初的老路也算是暴殄天物啊!对不起这个好时代啊。所以论坛的新生一代还是起步放得高点好。反过来,他们的成长也可为论坛带来新生命力。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1352

主题

12436

帖子

53

粉丝