1. 开发环境简介

为了减少开发过程中不必要的麻烦,希望大家的开发环境尽量与我的保持一致。

我的开发环境如下:

Windows10电脑一台

Visual Studio Code(最好是最新版)

VirtualBox 6.0.24

CentOS 7.9.2009

QEMU 7.1.0

各软件的作用如下:

Visual Studio Code 用来编写GrapeOS代码。

VirtualBox 用来运行CentOS和GrapeOS。

CentOS 用来编译GrapeOS代码,并使用其它Linux下的工具协助开发。

QEMU 用来运行和调试GrapeOS。

2. 开发环境安装

2.1 安装Visual Studio Code

2.1.1 下载安装Visual Studio Code

官网和下载地址:https://code.visualstudio.com/

点击“Download for Windows”按钮,默认将下载最新版本。



下载下来双击安装即可。

2.1.2 安装Visual Studio Code扩展插件

安装Visual Studio Code后还需要安装3个扩展插件:

Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code

C/C++

X86 and x86_64 Assembly

安装过程如下:

启动Visual Studio Code后,点击左侧工具栏中的扩展图标。请见下图:



在搜索栏中搜索“Chinese”,找到“Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code ”,点击“Install”安装该扩展插件。请看下图:



安装完中文语言包需要重启一下Visual Studio Code,按右下角提示点击“Change Language and Restart”。请见下图:



重启后将显示中文界面:



按同样的方式安装“C/C++”扩展插件和“X86 and x86_64 Assembly”扩展插件:





安装完所有插件后最好再重启一下Visual Studio Code。

下面是3个插件都安装好后的截图:

2.2 安装VirtualBox

打开VirtualBox官网:https://www.virtualbox.org/

点击网页中间的“Download”按钮:



在打开的下载页面中往下拉,找到“VirtualBox older builds”链接并点击:



在新页面中找到“VirtualBox 6.0”链接并点击:



在新页面中找到“VirtualBox 6.0.24”下面的“Windows hosts”链接并点击下载:



下载下来双击安装即可。

2.3 安装CentOS

2.3.1 下载CentOS

打开CentOS官网:https://www.centos.org/

点击页面上的“Download”按钮:



在新页面中点击“x86_64”:



打开的新页面中展示的是下载镜像列表,随便点击一个国内的镜像:



在下载页面中我们看到有多个版本,其中Minimal版本要比其它版本小很多,因为它不包含桌面以及其它一些东西。我们这里不需要CentOS的桌面,全部通过命令行操作即可。点击下载“CentOS-7-x86_64-Minimal-2009.iso”:



在第2篇文章“学习写GrapeOS的前提条件”时要求“会在虚拟机中安装Linux”,所以CentOS的具体安装过程就不在这里赘述了。

2.3.2 设置共享文件夹

在安装完CentOS后我们需要设置一个共享文件夹,让一个文件夹在Windows和CentOS中共享,方便我们开发。

1.首先需要在Windows和CentOS上各创建一个文件夹做为共享文件夹。

我在Windows上的共享文件夹路径是“D:\GrapeOS\VMShare”,在CentOS上的共享文件夹路径是“/media/VMShare”。

大家的共享文件夹路径可以不一样,但建议最好一样,方便大家后续的操作。

2.打开VitualBox,选中安装好的CentOS,在右侧点击“共享文件夹”:



点击“添加共享文件夹”图标:



打开“添加共享文件夹”对话框:



在“添加共享文件夹”对话框中填写“共享文件夹路径”为“D:\GrapeOS\VMShare”,“共享文件夹名称”为“VMShare”,勾选“自动挂载”,挂载点为:“/media/VMShare”。点击“OK”按钮:



返回共享文件夹设置窗口后,需要再点击一下“OK”按钮:

2.4 安装QEMU

2.4.1 下载安装QEMU

打开QEMU官网:https://www.qemu.org/

点击页面上的“DOWNLOAD”:



在新页面中下拉找到Windows的版本,然后点击“64-bit”:



在新页面中点击“2022”:



在新页面中找到“qemu-w64-setup-20220831.exe”点击下载:



下载下来双击安装即可。

2.4.2 配置QEMU的Path环境变量

为了方便使用,我们应该配置一下Path环境变量,操作如下:

在Windows桌面右键“此电脑”,选择“属性”,在弹出的“关于”窗口中点击“高级系统设置”:



在“系统属性”中点击"环境变量":



在“环境变量”中的“系统变量”中找到“Path”:



在“编辑环境变量”中点击“新建”按钮:



在新增加的行中填入QEMU的安装文件夹路径,默认是“C:\Program Files\qemu”,如果你安装到了其它文件夹下就填写你的文件夹路径:



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



在命令行中输入“qemu-system-i386”,然后回车:



如果打开了如下图中的QEMU窗口就说明安装和配置都完成了。

如果需要可以观看本文的视频讲解:https://www.bilibili.com/video/BV1XA41167LE/

GrapeOS操作系统交流QQ群:643474045

自己从零写操作系统GrapeOS系列教程——4.GrapeOS开发环境介绍的更多相关文章

  1. Android系统编程入门系列之应用环境及开发环境介绍

        作为移动端操作系统,目前最新的Android 11.0已经发展的比较完善了,现在也到了系统的整理一番的时间,接下来的系列文章将以Android开发者为中心,争取用归纳总结的态度对初级入门者所应 ...

  2. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  3. 物理引擎Havok教程(一)搭建开发环境

    物理引擎Havok教程(一)搭建开发环境 网上关于Havok的教程实在不多,并且Havok学习起来还是有一定难度的,所以这里写了一个系列教程,希望可以帮到读者.这是第一期. 一.Havok物理引擎简单 ...

  4. BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备

    上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...

  5. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  6. qt学习教程1.qt开发环境搭建

    qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...

  7. [eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置

    [eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置 https://github.com/dotnet-architecture/eShopOnContain ...

  8. Android基础新手教程——1.2 开发环境搭建

    Android基础新手教程--1.2 开发环境搭建 标签: Android基础新手教程 如今主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio ...

  9. Microsemi Libero系列教程(一)——Libero开发环境介绍、下载、安装与注册

    前言 相比与Xilinx和Altera在国内的市场,Microsemi的FPGA在国内应用很少很少,网上几乎没有详细的教程,刚开始使用时,遇到了各种问题,自己也走了不少弯路.本系列教程以Libero ...

  10. 勤拂拭软件系列教程 - java web开发

    勤拂拭软件工作室持续推出Java Web开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢java的朋友们学习进步: 1. 勤拂拭软件 java web 开发教程(1) - 开发环境搭建 勤拂拭 ...

随机推荐

  1. 【每日一题】【使用list&使用辅助栈实现】2022年2月11日-NC90 包含min函数的栈

    描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop.top 和 min 函数操作时,栈中一定有元素. 此栈包含的方法有:push(value): ...

  2. 【每日一题】【dfs重载原始函数&循环/函数结束条件&左右下标在数组中位置的确定】2022年2月7日-NC12 由先序和中序遍历重建二叉树

    描述给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建 ...

  3. Django测试脚本-单表操作(增删改查)-必知必会13条-神奇的双下划线

    目录 一:Django测试脚本 1.测试环境准备 2.tests.py 3.models.py 4.切换MySQL数据库 二:单表操作 1.pk关键字与get关键字 2.增 3.删 4.修 三:必知必 ...

  4. Django框架三板斧本质-jsonResponse对象-form表单上传文件request对象方法-FBV与CBV区别

    目录 一:视图层 2.三板斧(HttpResponse对象) 4.HttpResponse() 5.render() 6.redirect() 7.也可以是一个完整的URL 二:三板斧本质 1.Dja ...

  5. python 之将xmind转为excel用例文件

    1.xmind文件模板如下所示(最后一个子级为预置条件) 2.excel用例模板 3.获取xmind文件数据并转成字典形式 from xmindparser import xmind_to_dict ...

  6. 基于 Traefik 的 Basic Auth 配置

    前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易. Traefik可以与现有的多种基础设施组件(Docker.Swarm模式.Kubernetes.Marathon. ...

  7. Js/Jq 截图并上传

    今天想做一个 Js + Jq 截取网页图并上传到后端,经过一番折腾最终达到了效果. 1·首先需要用到一个非常强大的外部依赖库 html2canvas html2canvas 官网:html2canva ...

  8. 一文读懂 Kubernetes 存储设计

    在 Docker 的设计中,容器内的文件是临时存放的,并且随着容器的删除,容器内部的数据也会一同被清空.不过,我们可以通过在 docker run 启动容器时,使用 --volume/-v 参数来指定 ...

  9. ClickHouse ORM 3.x 发布啦

    经过1年断断续续的迭代,ClickHouse ORM 3.x 发布啦-说说它的故事吧. 回顾下2022 说来惭愧上次写博客都是22年4月份了,今年行情不好团队急剧收缩,工作几乎全扑在接手存量业务和主业 ...

  10. [WPF]数据绑定失效的问题

    有可能的原因如下: 绑定的属性一定是属性而不能是字段,比如: public int data; 是无法生效的,而 public int data {get;set;} 这样才能生效