猫史档案馆


【自制操作系统】 1.配置开发环境

用户:PlumStevenPlumSteven查看:0 回复:4 评论:0 创建时间:2022-12-24T22:12:13


前言:

相信制作一个操作系统是很多人的梦想8~但是大多数都止步于此

有些人也许走到了bootloader,但看到这山一样的代码,立马退坑了

有些人也许走到了kernel,但是已经被代码弄得头昏脑胀,也将操作系统扔向墙角

有些人持之以恒,终于做出了自己的系统,那么恭喜你!你超越了99.9%的人!

 

有啥问题请指出

注:本教程参考《一个六十四位操作系统的设计与实现》, 教程中的源码作者为田宇,只可以用来讨论学习,不得发布

出了事情别找我啊!

 

好了不扯了,接下来我没能进入正文:配置开发环境

本教程的开发环境采用Ubuntu 22.04 LTS,书中为CentOS6(只要是Linux都行,看个人喜好)

很多人肯定会问:啊为啥不用windows啊?

Emm...Windows...命令没那么多吧。。。配置起来稍微烦一点

 

大家可以自行安装Vmware,我用的是Vmware Workstation 16 Pro,这里不再赘述了,网上一堆教程

好了以后我们打开终端,安装下面几个软件包:

1. Bochs虚拟机

Bochs虚拟机可谓是一个调试神器,真的very好用,就是配置有点烦

首先,我们从sourceforge上面下载bochs的2.6.8版本(最好使用此版本,否则可能会出问题,当然你也可以选择新的)

然后运行:(注意在bochs的文件夹中运行,即bochs-2.6.8或其他版本)

./configure --with-x11 --with-wx --enable-debugger --enable-disa喵 --enable-all-optimizations --enable-readline --enable-long-phy-address --enable-ltdl-install --enable-idle-hack --enable-plugins --enable-a20-pin --enable-x86-喵 --enable-喵p --enable-cpu-level=6 --enable-large-ramfile --enable-repeat-speedups --enable-fast-function-calls  --enable-handlers-chaining  --enable-trace-linking --enable-configurable-msrs --enable-show-ips --enable-cpp --enable-debugger-gui --enable-iodebug --enable-logging --enable-assert-checks --enable-fpu --enable-vmx=2 --enable-svm --enable-3dnow --enable-alignment-check  --enable-monitor-mwait --enable-a喵  --enable-evex --enable-x86-debugger --enable-pci --enable-usb --enable-voodoo

我记得这里我因为一个bug把usb去掉了。。。应该没啥大影响

使用Ubuntu的同学注意了,请运行这个命令:

sudo apt install -y libx11-dev

然后就是编译了
make
sudo make install

 

然后运行以下命令center_imagecenter_image

我这里偷个懒没问题吧。。。

然后是bochsrc文件,这里我先不给出,因为太占篇幅,等要用的时候我再给

最后输入bochs,检查是否安装成功,只要出现了一大串字符,基本就是成功了

除非显示的是"-bash: Command not found”这一类的

 

2.Na喵编译器

这个就是个汇编语言编译器,很nice~~~

这个相对来说就很简单了

Ubuntu: sudo apt-get install na喵

CentOS: sudo yum -y install na喵

 

Gcc我记得是有的,如果没有请自行安装:sudo apt-get install  gcc(CentOS用户自行替换成yum)

 

好了,有啥问题的话请在评论里指出,本教程不完整,知识我根据书上的来写的,并未实机测试过(我的ubuntu崩了)

你们还可以去看小萝卜的教程,他的参考书是《操作系统真相还原》


回复

上一页1 页 / 共 1下一页
PlumStevenPlumSteven

因屏蔽词原因, Na喵 = Nas           .................. m

就是N/A/S/M,懂了吗?

点赞0


评论


阿狗君阿狗君

顶顶顶(看不懂但很酷的

点赞0


评论


小萝卜cXsQ小萝卜cXsQ

顶顶顶

点赞0


评论


PlumStevenPlumSteven

顶顶顶

点赞0


评论