编译运行linux0.12,linux0.12 编译过程

本文详细记录了在64位系统上编译运行Linux 0.12过程中遇到的问题及解决办法,包括gas命令替换、32位编译选项设置、汇编错误修正、gcc选项错误处理、内联函数冲突等,为读者提供了一步步解决问题的参考。
摘要由CSDN通过智能技术生成

感谢这篇文章的作者:    http://www.cnblogs.com/strugglesometimes/p/4231359.html

编译是个很蛋疼的事情,本想把linux0.12在bochs上跑起来然后就可以各模块的学习,没想各种问题。

问题1:

1 gas -c -o boot/head.o boot/head.s

2 make: gas: Command not found

gas已过时,将所有Makfile里gas -> as

具体解决方法

msed 是个简单的shell 函数,具体定义见下面的传送门。

问题2:

69c5a8ac3fa60e0848d784a6dd461da6.png

1 boot/head.s:43: Error: unsupported instruction `mov‘

2 boot/head.s:47: Error: unsupported instruction `mov‘

3 boot/head.s:59: Error: unsupported instruction `mov‘

4 boot/head.s:61: Error: unsupported instruction `mov‘

5 boot/head.s:136: Error: invalid instruction suffix for `push‘

6 boot/head.s:137: Error: invalid instruction suffix for `push‘

7 boot/head.s:138: Error: invalid instruction suffix for `push‘

8 boot/head.s:139: Error: invalid instruction suffix for `push‘

9 boot/head.s:140: Error: invalid instruction suffix for `push‘

10 boot/head.s:151: Error: invalid instruction suffix for `push‘

11 boot/head.s:152: Error: invalid instruction suffix for `push‘

12 boot/head.s:153: Error: invalid instruction suffix for `push‘

13 boot/head.s:154: Error: operand type mismatch for `push‘

14 boot/head.s:155: Error: operand type mismatch for `push‘

15 boot/head.s:161: Error: invalid instruction suffix for `push‘

16 boot/head.s:16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值