分享

自己动手写操作系统虚拟实现,软盘启动

 豆芽爱尚阅 2014-01-11

自己动手写操作系统

VMware

下实现软驱加载并运行。

最近刚开始学习

OS

和汇编,于是打算自己试试。当然自己完全不懂,根据零星的资料下手,

刚开始错误百出。刚弄明白

nasm

是如何编译生成

.bin, .o, .img

文件,确在

VM

上遇到了

麻烦。由于

VM

支持

.iso

镜像文件的载入,且我又没有使用过

.img

文件的经历,于是开始

各种

baidu

,最后还是成功了,写些笔记留以纪念。

首先说明是在

linux

下完成,汇编工具:

nasm

VM

版本:

7.1.1 build-282343

 

第一步

编写代码生成

.asm

汇编文件。

网上流行的十分钟写一个操作系统代码(引导)

                

org         07c00h 

                

mov        ax,        

cs 

                

mov        ds,        

ax 

                

mov        es,        

ax 

                

call         DispStr 

                

jmp         $ 

DispStr: 

                

mov        ax,        

BootMessage 

                

mov        bp,        

ax                                es:bp = 

 

串地址

                

mov        cx,        

16                                cx = 

 

串长度

                

mov        ax, 

          01301h 

                

mov        bx,       

 000ch 

                

mov        dl,       

 0 

                

int          10h 

                

ret 

BootMessage:      db                "Hello, 2010!" 

                

times      510-($-$$) db 0    

填充剩下的空间,使生成的二进制代码恰好为

512

 

字节

                

dw         0xaa55

保存上述代码为

boot.asm

然后我们打开终端,并进入到所在路径下

通过命令

:nasm boot.asm -o boot.bin 

生成

boot.bin

二进制文件

通过命令

:dd conv=sync if=boot.bin of=boot.img bs=1440k count=1

生成了

boot.img

镜像文件

 

第二步

启动

VMware

并加载

boot.img

镜像。

1

 

打开

VM

后的部分界面,有三个选项,我们选择新建,也就是第一项

2

 

选择默认的

Typical

,然后

next

3

,这里要求选择第三项

4

 

这里我选择了两个

other

,谁知道

boot

属于那一类

5

,选择安装存放路径

6

 

默认就行了,好像很浪费

7

 

这里不要一直点

next

,这里要现配置一下,点击

Customize Hardware...

8

 

选中

Floppy

,再选择

Browse

,把

boot.img

加入。按下面选择就行了,最后

save, 









8

 

选中

Floppy

,再选择

Browse

,把

boot.img

加入。按下面选择就行了,最后

save, 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多