从零开始操作系统-01:搭建环境

  • Post author:
  • Post category:其他




所需要的文件在Github:

https://github.com/yongkangluo/Ubuntu20.04OS/tree/main/Files/Lec1-GenTools


搭建环境:



构建流程:使用 gcc 编译 .c 文件,利用 as 编译 .s 文件。之后会产生一个 .o 文件,使用链接产生kernel.bin 文件。之后利用 grub 引导 kernel 文件运行,最后生成 iso 文件。 其中重要的是这套交叉编译程序。 其中编译目标是在 i685-efl 。 为了模拟内核,使用 QEMU 和 Bochs , 都是X86模拟器,方便debug。并且QEMU 可以外挂Bochs。

  1. 利用VM虚拟机搭建一个Ubuntu 操作系统的平台。

    注意:不要最新的,22.04, 使用20.04亲测可以。

    因为安装SDL2的时候会显示系统不匹配。

  2. 可以安装之后使用VM-tools,详情见:

    链接

  3. 之后就可以开始安装所需要的环境了,首先是GCC的安装,直接使用Shell文件即可,

    注意不要使用sudo 命令,会直接安装到root目录下。

  4. 之后需要安装SDL2的库,使用

    sudo apt-get install libsdl2-dev
    

    命令就可以安装了。

  5. 安装完成后,需要去下载bochs,这个官网就有,直接下载即可。然后将sh文件放入同一文件夹下,即可使用运行,其中可能会缺包

    sudo apt-get install libncurses5 libncurses5-dev
    

    亲测这个是可以的。

  6. 注意一点,运行bochs的sh文件时,需要使用sudo开头,否则会报错。

下面解释一下各个环境的作用:

  1. SDL2 库是配合Bochs使用的,其中主要作用是进行在通过 OpenGL 和 Direct3D 提供对音频、键盘、鼠标、游戏杆和图形硬件的低级访问。
  2. Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。但是这里并不是使用sudo apt-get 安装,而是从源码开始安装的。



方法主要跟着B站Up主做的,B站视频链接在:https://www.bilibili.com/video/BV1jL4y1s7X6/?spm_id_from=333.788&vd_source=72ce864f895f9fbf22b81450817f2875



版权声明:本文为lyk82698原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。