准备工作
内核开发是编写代码以及调试各种系统组件的漫长过程。一开始这似乎是一个让人畏惧的任务,但是并不需要大量的工具集来编写自己的内核。这个内核开发教程主要涉及使用GRUB将内核加载到内存中。GRUB需要被定向到受保护的二进制镜像中,这个镜像就是我们将要构建的内核。
使用本教程,你至少需要具备C语言基础,并且强烈推荐了解x86汇编知识,它允许你操作处理器中特定的寄存器。所以你至少需要一个可以生成32位编码的编译器,一个32位的链接器和一个能生成32位x86的汇编器。
对于硬件,你必须拥有一台386或者更高版本处理器的计算机。你最好有另一台计算机作为你的测试平台。如果没有第二台计算机,使用虚拟机也是可以的(但这会导致开发速度变慢)。当你在真机上测试和调试你的内核时,请做好无数次突然重启的准备。
-
测试平台所需硬件
- 100%IBM兼容PC:
- 基于386的处理器或更高版本(建议使用486或更高版本)
- 4MB的RAM
- 带显示器的VGA兼容视频卡
- 键盘
- 软盘驱动器(是的没错,你的测试平台甚至不需要硬盘)
-
开发平台推荐的配置
- 100%IBM兼容PC
- 奔腾II或K6 300MHz
- 32MB的RAM
- 与显示器兼容的VGA视频卡
- 键盘
- 一个软盘驱动器
- 具有足够空间的硬盘,用于存放所有开发工具、文档和源代码
- Windows系统或类Unix系统如Linux、FreeBSD(Mac基于FreeBSD)
- 可以联网搜索文档
- 强烈建议使用鼠标
-
工具集
- 编译器(选一个即可)
- Gnu C编译器(GCC)[Unix]
- DJGPP(用于DOS / Windows的GCC) [Windows] Windows安装gcc
- 汇编
- Netwide Assembler(NASM)[Unix / Windows] 安装和使用教程
- 虚拟机(选一个即可)
- VMWare Workstation 4.0.5或更高版本 [Linux / Windows NT / 2000 / XP]
- Microsoft VirtualPC [Windows NT / 2000 / XP]
- Bochs [Unix / Windows]
- 编译器(选一个即可)
原文链接:Bran's Kernel Development A tutorial on writing kernels Version 1.0 (Feb 6th, 2005) http://www.osdever.net/bkerndev/Docs/title.htm
本人英语水平一般,专业水平也不高,如有错误欢迎指正。
此文原创禁止转载,转载文章请联系博主并注明来源和出处,谢谢!
作者: Raina_RLN https://www.cnblogs.com/raina/