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


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


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


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

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

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

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

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

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

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

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

    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
    


    2. 在CentOS中编译GrapeOS代码

    2.1 打开VirtualBox

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

    2.2 CentOS启动后的界面如下:

    2.3 打开PowerShell

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

    2.4 SSH登录CentOS

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

    2.5 创建虚拟硬盘。

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

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

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

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

    2.6 编译程序。

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

    nasm boot.asm -o boot.bin
    

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

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

    yum install nasm
    

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

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

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

    截图如下:


    3. 在QEMU中运行GrapeOS

    3.1 启动QEMU

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

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

    截图如下:

    3.2 查看QEMU

    此时弹出了QEMU的窗口:

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


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

  • 相关阅读:
    Elasticsearch字段类型与类型区别
    MFC的定义和实际操作方法
    海外众筹如何通过邮件营销?
    测试环境不稳定&复杂的必然性及其对策
    《STL源码剖析》笔记——allocator
    人口数据集:地级市常住人口与户籍人口、人口1%抽样调查数据两大维度指标数据
    Java 中的参数传递方式
    自增主键的表设计
    软件定义网络-OpenvSwitch
    DBeaver Ultimate 22.1.0 连接数据库(MySQL+Mongo+Clickhouse)
  • 原文地址:https://www.cnblogs.com/chengyujia/p/17159174.html