感谢这篇文章的作者: 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:
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