2

自己动手从零写桌面操作系统GrapeOS系列教程——5.GrapeOS开发环境测试 - 成宇佳

 1 year ago
source link: https://www.cnblogs.com/chengyujia/p/17159174.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

学习操作系统原理最好的方法是自己写一个简单的操作系统。


在上一讲中我们已经安装配置了开发环境,在本讲中我们来测试一下开发环境是否正常。
我们的测试流程如下:
1.在Visual Studio Code中编写GrapeOS代码;
2.在CentOS中编译GrapeOS代码;
3.在QEMU中运行GrapeOS。
注意:在本讲中涉及到的代码或操作如有不懂的地方暂时不用管,后面会讲。本讲只是为了测试开发环境是否正常,只要你能跟着做下来就行。
下面我们来依次测试这3步流程。


1. 在Visual Studio Code中编写GrapeOS代码

1.1 在我们上讲中建立的共享文件夹中新建一个名为“grapeos-course”的文件夹:

343777-20230227113123989-2080005097.png

1.2 打开Visual Studio Code,在欢迎页面中点击“打开文件夹”:

343777-20230227113138077-701050097.png

1.3 选中我们刚才新建的文件夹“grapeos-course”:

343777-20230227113150879-1909476280.png

1.4 在Visual Studio Code左侧的资源管理器中点击“新建文件夹”图标:

343777-20230227113159036-1214693647.png

1.5 输入新文件夹名“Lesson5”:

343777-20230227113207064-1278197599.png

1.6 选中新建的文件夹“Lesson5”,然后点击“新建文件”图标:

343777-20230227113222121-1043318713.png

1.7 输入新文件名“boot.asm”:

343777-20230227113230531-986568200.png

1.8 在boot.asm中输入如下代码:

org 0x7c00
mov ax,cs
mov ds,ax
mov ax,0xb800
mov gs,ax

mov ah,0x07
mov al,'G'
mov [gs:0x0],ax
mov al,'r'
mov [gs:0x2],ax
mov al,'a'
mov [gs:0x4],ax
mov al,'p'
mov [gs:0x6],ax
mov al,'e'
mov [gs:0x8],ax
mov al,'O'
mov [gs:0xa],ax
mov al,'S'
mov [gs:0xc],ax

stop:
hlt
jmp stop

times 510-($-$$) db 0
db 0x55,0xaa
343777-20230227113451276-1230586231.png

2. 在CentOS中编译GrapeOS代码

2.1 打开VirtualBox

选中上讲中安装好的CentOS,点击绿色的“启动”图标:

343777-20230227113551839-426573603.png

2.2 CentOS启动后的界面如下:

343777-20230227113558659-1637831487.png

2.3 打开PowerShell

Windows键+R键打开运行窗口,输入“powershell”:

343777-20230227113605988-998519149.png

2.4 SSH登录CentOS

在PowerShell中通过SSH登录CentOS,并进入共享文件夹“/media/VMShare/”中,可以看到我们刚才新建的文件夹“grapeos-course”:

343777-20230227113616479-36891315.png

2.5 创建虚拟硬盘。

在命令行中输入下面这行命令:

dd if=/dev/zero of=/media/VMShare/GrapeOS.img bs=1M count=4

可以看到生成了一个新文件“GrapeOS.img”:

343777-20230227113630184-504385956.png

“GrapeOS.img”就是我们创建的虚拟硬盘,虽然只有4MB,但对GrapeOS来说足够了。

2.6 编译程序。

进入本讲文件夹“Lesson5”,并输入下面这行命令:

nasm boot.asm -o boot.bin

可以看到新生成了一个"boot.bin"文件:

343777-20230227114210824-2123677457.png

如果提示没有“nasm”这个命令,通过yum安装即可:

yum install nasm

2.7 将boot.bin写入虚拟硬盘。

在命令行中输入下面这行命令:

dd conv=notrunc if=boot.bin of=/media/VMShare/GrapeOS.img

截图如下:

343777-20230227114220263-1430858965.png

3. 在QEMU中运行GrapeOS

3.1 启动QEMU

打开Windows的cmd命令行窗口,输入下面这行命令:

qemu-system-i386 d:\GrapeOS\VMShare\GrapeOS.img

截图如下:

343777-20230227114408181-2060339246.png

3.2 查看QEMU

此时弹出了QEMU的窗口:

343777-20230227114419189-83342334.png

如果在QEMU窗口第一行中看到前7个字符是“GrapeOS”就说明开发环境正常。

如果需要可以观看本讲的视频版:https://www.bilibili.com/video/BV1p84y1V71A/
GrapeOS操作系统交流QQ群:643474045


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK