一个简单的操作系统
需要工具nasm
汇编器、gcc
编译器,make
构建工具,以及bximage
制作镜像文件。如果需要调试,还需要gdb
调试工具。
# nasm安装方法
sudo apt-get install nasm
# gcc安装方法
sudo apt-get install gcc
# gdb安装方法
sudo apt-get install gdb
# make安装方法
sudo apt-get install make
# 安装g++,这是为了后面编译bochs
sudo apt-get install g++
bximage
可以和bochs
一同安装,方法如下:
- 首先下载
bochs
源码,bochs-2.6.11 - 解压,使用命令
tar -zxvf bochs-2.6.11.tar.gz
,解压后会出现一个文件夹bochs-2.6.11
- 进入文件夹
bochs-2.6.11
,并输入以下命令
# --enable-gdb-stub选项是为了使用gdb来进行调试
sudo ./configure --enable-gdb-stub
sudo make
sudo make install
编译我们的操作系统,在Makefile的同级目录下执行make
命令即可。
# 在Makefile的同级目录下
make
make成功后会得到一个Qiux.img的镜像文件,我们的操作系统就在镜像文件当中
使用qemu
或者bochs
运行。如果使用bochs
,需要配置bochsrc文件,将第8行romimage配置为你的机器的BIOS-bochs-latest文件所在的目录,并将第9行vgaromimage配置为你的VGABIOS-lgpl-latest所在的目录,如果不进行调试,请将最后一行gdbstub注释掉。
# bochs,Qiux.img所在目录
bochs -f bochsrc
或
make run
# qemu,在Qiux.img所在目录
qemu-system-x86_64 -fda Qiux.img
使用bochs
和gdb
调试,请确保bochs
使用了gdbstub
。
首先将bochsrc最后一行的gdbstub:enabled=1,port=1234,text_base=0,data_base=0,bss_base=0
取消注释,然后输入命令make debug
,然后就可以使用gdb进行调试了。
# 请将gdbstub取消注释
make debug
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
- 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
- Gitee 官方博客 blog.gitee.com
- 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
- GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
- Gitee 官方提供的使用手册 https://gitee.com/help
- Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/