哈喽,我是子牙,一个很卷的硬核男人
闲来无事不是写了个操作系统吗,写完之后发了篇文章《圆梦,手写了个操作系统》,这一发倒好,一石激起千层浪,很多小伙伴跑来问我开发操作系统的环境如何搭建。既然这么多小伙伴想写操作系统,作为过来人,我就把我的环境搭建踩坑手册分享给大家
如果人人都能写操作系统,国家计算机行业的兴旺指日可待呀
说下我的环境,也是我推荐的环境
开发环境操作系统:Ubuntu16
开发环境虚拟机:VMware最新版
开发工具:clion(汇编、C语言,这一款足矣)
运行虚拟机1:bochs2.7(用来单步调试汇编)
运行虚拟机2:qemu(用来单步调试C语言)
运行虚拟机3:VMware、vbox(打包成对应虚拟机的镜像即可运行)
如果你是Windows,推荐用这个环境
如果你是Mac,还是推荐你用这个环境
开发操作系统,用这个环境就对了
可能你还不知道吧:Linux操作系统、Linux内核驱动开发、嵌入式开发、Java虚拟机Hotspot、MySQL等你能想到的或者经常用到的软件、系统、中间件,也都是在这个环境下开发出来的。所以用习惯这套环境,意义重大!
上个图,让大家有个感性认识
关注公众号【硬核子牙】回复【开发操作系统环境搭建】获取我用的所有软件包。如果你用我的软件包,搭建过程中遇到问题来问我,我可能知道。如果你与我用的软件包版本不同,遇到问题来问我,我可能是不知道的。
接下来说说这套环境搭建的详细细节
虚拟机VMware的安装不多说了,大家都会
虚拟机VMware中安装Ubuntu16也不多说了,大家肯定都会
Ubuntu16中安装clion也不多说了,不会的拉出去毙了
重点说下Ubuntu16中如何安装bochs,装不好是不会出来调试界面的哈,仔细复制我给的配置。当然,网上能搜到,但是有巨多坑,我提供的是我踩坑过后总结的,可放心使用,逼着研究都能搭建出来
第一步:安装依赖
第二步:编译配置
第三步:开始编译
第四步:把我提供的代码拉下来,执行make bochs,就能看到效果了
我提供的代码在哪里?接着往后看
这里我略过了bochs的配置,你执行bochs -q试下就晓得了,很简单,不多言。
我提供的代码中有我配置好的配置文件。接下来说下配置文件中两个重要的地方
大家可以帮忙转发一波,让更多想自己写操作系统的小伙伴,不会因为开发环境的搭建而放弃
微内核源码
关注公众号**【硬核子牙】回复【微内核源码】**,可以获取
接下来说下这个代码怎么用?就是怎么编译出操作系统内核镜像。我提供的这个是比较麻烦的环境,我觉得是有必要的。在接触集成环境之前,了解编译运行调试内核的每一步。后面教大家优化成一键编译调试环境
第一步:先安装汇编编译器NASM
第二步:导入项目,选cmake
第三步:将boot.asm编译生成boot.o
第四步:将boot.o写入内核镜像中
会在根目录下生成a.img,这个就是内核镜像
第五步:运行内核
知道很多小伙伴,比较心急,就想直接上手写内核
还有的小伙伴,Linux玩得不熟,但也有一颗写操作系统的心
……
综上,我把我的环境打包成了镜像,你下载过去,解压后就能直接运行起来
关注公众号【硬核子牙】回复【开发操作系统环境一条龙】获取
解压后,双击这个文件即可自动启动VMware
虚拟机密码:123qwer
给力否?值得一赞否?
忘了提了,开发操作系统需要的语言基础:汇编、C语言。进入保护模式之前,就是在CPU的保护模式下,会汇编就可以了。所以这个环境,可以作为你学汇编的环境
我是子牙老师,喜欢钻研底层,深入研究Windows、Linux内核、JVM。如果你也喜欢研究底层,欢迎关注我的公众号【硬核子牙】