Orange‘s 一个操作系统的实现 配置问题
2012-02-16 13:06
309 查看
最近在瞅《Orange‘s 一个操作系统的实现》,个人认为相当好的OS入门实践书籍,配合之前看过的大部分的理论书,容易理解那些抽象的概念(无代码无真相),
和《Linux内核完全注释》都是相当不错的入门书籍。
这里记录一下可能遇到的问题,主要是配置问题,实现逻辑书里面很详细,代码注释也很详细,仔细多想应该没啥问题。
我这里环境是ubuntu 10 64bit, 而书中代码是32bit的。这里在编译链接的时候出了一点小问题。这里记录下。
需要修改makefile
这里应该是少了c的标准库,还是需要修改makefile文件
和《Linux内核完全注释》都是相当不错的入门书籍。
这里记录一下可能遇到的问题,主要是配置问题,实现逻辑书里面很详细,代码注释也很详细,仔细多想应该没啥问题。
我这里环境是ubuntu 10 64bit, 而书中代码是32bit的。这里在编译链接的时候出了一点小问题。这里记录下。
错误: ld: i386 architecture of input file `kernel/kernel.o' is incompatible with i386:x86-64 output
需要修改makefile
CFLAGS = -I include/ -c -fno-builtin -m32 LDFLAGS = -m elf_i386 -s -Ttext $(ENTRYPOINT)
错误: klib.c:(.text+0xe5): undefined reference to `__stack_chk_fail'
这里应该是少了c的标准库,还是需要修改makefile文件
LDFLAGS = -m elf_i386 -s -Ttext $(ENTRYPOINT) -lc
相关文章推荐
- bochs 2.4.2 ubuntu 安装运行问题《orange's 一个操作系统的实现》第二章 调试篇
- orange's一个操作系统的实现实验遇到的问题及处理方法
- 【orange】OrangeS一个操作系统的实现:第四章实践方面遇到的一些问题
- Orange's 一个操作系统的实现--Bochs遇到的问题
- [Orange‘s:一个操作系统的实现]第一天:环境配置
- 《Orange’s 一个操作系统的实现》1.搭建操作系统开发环境
- 《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(一)
- 一个操作系统的实现中关于64位和32位的问题
- 《Orange's 一个操作系统的实现》读书手记 1 --- [马上动手写一个最小的“操作系统”]
- orange's一个操作系统的实现的前五章文件组织整理
- 《Orange’s 一个操作系统的实现》3.保护模式1----pm.inc分析
- ORANGE’S:一个操作系统的实现-chap4之:软盘结构(磁头号和起始扇区的计算方法)
- 《Orange's 一个操作系统的实现》学习笔记--一个简单的引导扇区
- 《Orange'S:一个操作系统的实现》学习笔记(二)
- 《Orange’s 一个操作系统的实现》3.保护模式4----LDT(Local Descriptor Table)
- 于渊<orange's一个操作系统的实现>保护模式部分详解
- OS learning 自己动手写操作系统 & Orange'S:一个操作系统的实现 leaning tips
- 《Orange’s 一个操作系统的实现》3.保护模式8-页式存储(启动分页机制)
- 《Orange's 一个操作系统的实现》学习笔记--实践认识保护模式
- 《Orange's 一个操作系统的实现》学习笔记(二) 实模式和保护模式