代码改变世界

Orange‘s 一个操作系统的实现 配置问题

  curer  阅读(1350)  评论(0编辑  收藏  举报

最近在瞅《Orange‘s 一个操作系统的实现》,个人认为相当好的OS入门实践书籍,配合之前看过的大部分的理论书,容易理解那些抽象的概念(无代码无真相),

和《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

 

 

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示