吴文洁

Garden of Eden 自由 平等 尊重

【改】十分钟的极简操作系统

| Comments

1)准备 nasm ,VirtualBox

sudo apt-get install nasm

sudo apt-get install virtualbox

====================================

2)编译boot0.0.1.asm


%ifdef BOOT_DEBUG org 0100h ; 调试状态, 做成 .COM 文件, 可调试 %else org 07c00h ; BIOS 将把 Boot Sector 加载到 0:7C00 处 %endif

mov ax, cs mov ds, ax mov es, ax call DispStr ; 调用显示字符串例程 jmp $ ; 无限循环 DispStr: mov ax, BootMessage mov bp, ax ; ES:BP = 串地址 mov cx, 17 ; CX = 串长度 mov ax, 01301h ; AH = 13, AL = 01h mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮) mov dl, 0 int 10h ; int 10h ret BootMessage: db “Ohhhh,wuwenjie!!!” times 510-($–$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节 dw 0xaa55 ; 结束标志


2.2)利用nasn 编译

nasm boot0.0.1.asm -o boot0.0.1.bin 2.3)dd if=boot0.0.1.bin of=myos0.0.1.img bs=512 count=1

生成img文件

 

==================================================

3)VirtualBox检验极简OS

步骤:

 

新建—>下一步—>名称(myos0.0.1)other other/unknown

 

—>下一步—>下一步—>下一步—>下一步—>下一步—>下一步

 

—>创建—>创建—>设置—>存储—–>

 

添加软盘控制器(启动顺序默认软驱开始)—>

 

 

 

 

 

 

 

 

添加虚拟软驱—–>选择磁盘—>选择刚刚生成的myos0.0.1.img—>

 

打开—>确定—–>启动

 

 

====================================================

4)参考

1.[于渊]一个操作系统的实现

2.https://github.com/yyu/osfs01/blob/master/boot.asm

3.http://osfromscratch.org