从零开始编译Linux0.11:实战指南
需积分: 9 196 浏览量
更新于2024-12-01
收藏 4KB TXT 举报
本篇文章主要介绍了如何在Windows系统上使用LINUX 0.11进行编译和运行的详细步骤,适合初学者从零开始学习Linux内核开发。以下是关键知识点的总结:
1. **环境设置**:首先,你需要将Linux-0.11源代码解压到D:\Linux-0.11目录下,并确保已经安装了MinGW32工具集,特别是包含了MinGW32.bat脚本以及其bin目录下的相关工具。确保系统的PATH环境变量包含MinGW32bin路径。
2. **编译过程**:在Linux-0.11目录下,执行`make`命令进行编译,但在此之前务必先运行`make clean`来清除可能存在的临时文件。编译过程中会生成一个1.44M大小的Boot.img文件。
3. **模拟器使用**:使用Bochs模拟器(需配置bochsrc.bxrc文件以指向Linux-0.11目录),并确保不存在名为Boot.img的文件,因为这可能导致Kernel panic或错误。
4. **启动环境**:尝试将rootimage-0.11.img插入虚拟硬盘,并在Windows下通过Cygwin等工具访问,但注意必须使用非MinGW环境,因为MinGW不支持直接运行Linux内核。
5. **编译注意事项**:在Makefile中,特别强调了LDFLAGS的设置,其中`--image-base 0x0000elf_i386`是用于指定可执行映像的基地址。此外,还需要在不同的目录下分别运行`make`和`cd kernel; make`,并且可能需要手动同步(如通过`sync.c`)以解决链接问题。
6. **PE加载器**:文章提到使用Trans.cpp和system.exe的编译,这两个文件会被打包成system.bin,用于创建PE(Portable Executable)格式的系统启动加载器。但需要注意的是,可能存在缺少或错误的PELoader,这需要从Linux-0.11-With-PE-Loader\boot目录下的setup.asm文件获取正确版本。
7. **工具链构建**:在tools目录中的build.c负责构建Boot.img,而init/main.c中的链接问题表明`_main`函数引用未定义,可能是由于链接库文件或依赖项配置不当导致。
这篇文章提供了编译Linux 0.11内核时所需的环境配置、命令行操作和注意事项,对于想要深入了解Linux内核开发的人来说,这是一个很好的起点。然而,实际操作中可能会遇到各种问题,需要根据具体情况进行调试和调整。
147 浏览量
186 浏览量
143 浏览量
2021-07-12 上传
248 浏览量
138 浏览量
582 浏览量
2010-07-02 上传
1252 浏览量
wayne1017
- 粉丝: 0
最新资源
- Swift 5入门:iPhone开发高清电子书
- 台资灯饰厂用GPMRP$管理系统助力小型工厂运作优化
- 快速使用bat文件一键安装MySQL数据库教程
- 2018.12版eclipse与STS搭配,轻松搭建SpringBoot
- Web界面化耳部训练:无限练习曲平台介绍
- Sublime Text Ruby/Rails代码段插件升级版发布
- Java项目P1最终版深入解析
- Metalsmith插件实现React模板渲染技术
- runtimeviewer:Java运行时环境深度分析工具
- 掌握高性能PHP开发技术要点
- 掌握PSCAD直流线路建模仿真技巧
- 修复U盘RAW格式数据丢失的绿色工具
- 探索JavaScript中的错误代码及其解决方案
- 掌握静态时序分析STA技巧与应用
- 掌握Ruby编程:深入线程、SOLID、设计模式与数据结构
- 深入探索project-JS的JavaScript核心