[开发实录]在Linux上实现一个最简单的操作系统
本教程来自:Orange'S 一个操作系统的实现
- 在VMware Workstation 上安装Linux,笔者使用的是Debian操作系统
- Debian系统地址:https://www.debian.org/CD/http-ftp/#stable
- VMware Workstation是付费软件,故在此不做演示。
- 安装之后可见下述界面
-
在Debian内输入下述指令
sudo apt-get install nasm sudo apt-get install vgabios bochs bochs-x bximage
-
安装结束,在任意位置创建一个文件夹,新建文件并输入下述汇编指令
1 org 0100h 2 mov ax,cs 3 mov ds,ax 4 mov es,ax 5 call DispStr 6 jmp $ 7 DispStr: 8 mov ax,BootMessage 9 mov bp,ax 10 mov cx,16 11 mov ax,01301h 12 mov bx,000ch 13 mov dl,0 14 int 10h 15 ret 16 BootMessage: db "Hello, My world!!" 17 times 510-($-$$) db 0 18 dw 0xaa55
这里我的文件命名为boot.asm
-
将终端定位到这个文件夹下,输入指令
nasm boot.asm -o boot.bin
编译生成boot.bin
- 在该文件夹下输入下述指令生成启动映像
- 生成软盘
bximage
在打开的程序内选择下述项目:1->fd->1.44M->boot.img->
- 创建对应的映像文件并写入软盘
dd if=boot.img of=boot.img bs=512 count=1 conv=notrunc
- 生成软盘
- 配置bochsrc.txt
bochsrc.txt是bochs的启动配置文件,按照下述指令建立文件
1 megs:32 2 romimage:file=/usr/share/bochs/BIOS-bochs-latest 3 vgaromimage:file=/usr/vgabios/vgabios.bin 4 floppya:1_44=boot.img,status=inserted 5 boot:floppy 6 log:bochsout.txt 7 mouse:enabled=0
-
启动bochs,启动后按下c键执行文件
bochs
作者发布、转载的任何文章中所涉及的技术、思路、工具仅供以安全目的的学习交流,并严格遵守《中华人民共和国网络安全法》、《中华人民共和国数据安全法》等网络安全法律法规。
任何人不得将技术用于非法用途、盈利用途。否则作者不对未许可的用途承担任何后果。
本文遵守CC BY-NC-SA 3.0协议,您可以在任何媒介以任何形式复制、发行本作品,或者修改、转换或以本作品为基础进行创作
您必须给出适当的署名,提供指向本文的链接,同时标明是否(对原文)作了修改。您可以用任何合理的方式来署名,但是不得以任何方式暗示作者为您或您的使用背书。
同时,本文不得用于商业目的。混合、转换、基于本作品进行创作,必须基于同一协议(CC BY-NC-SA 3.0)分发。
如有问题, 可发送邮件咨询.