• 自己动手从零写桌面操作系统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

  • 相关阅读:
    EPIT定时器实验
    【老生谈算法】matlab实现三相短路电流计算源码——短路电流
    控制文件全部损坏的解决方案
    Java自制微信聊天图片自动保存软件
    项目管理之实施关键步骤
    jdbc回顾
    全局异常捕获工具类
    线程池的实现原理与使用详解
    基于支持向量机SVM的时间序列数据训练测试和预测未来数据,LIBSVM工具箱详解
    Maven项目快速打包
  • 原文地址:https://www.cnblogs.com/chengyujia/p/17159174.html