Me x..
。
Finally, it's about 3 4 hours. Various burr problems. After all, it's still coming.
。。
[Email protected]:~/downloads/linux-0.00-050613/linux-0.00$ make
Ld-s-x-m Head.o-o System > System.map
DD bs=32 if=boot of=image skip=1
16+0 Records in
16+0 Records out
Bytes (+ B) copied, 0.000605945 s, 845 kb/s
DD bs=512 if=system of=image skip=2 seek=1
14+1 Records in
14+1 Records out
7632 bytes (7.6 kB) copied, 0.000221138 s, 34.5 mb/s
Sync
Go here and download Linux-0.00-041217.zip or 050613 zip.
http://oldlinux.org/Linux.old/bochs/
Not the most painful. Encounter a lot of problems. Fortunately there are predecessors to help, I hope that my blog can help others.
A lot of problems were encountered during the compilation process. The following up has been encountered and given the specific answers .... Good man.
。 Salute
http://chfj007.blog.163.com/blog/static/173145044201132523034138/
Head.s:148:error:invalid instruction suffix for ' pop ' head.s:149:error:operand type mismatch
There will be a very good number of instruction error prompts such as above that are not suffix prefixes. The solution to this problem is very easy. Which is the 32-bit assembly on the 64-bit machine running to solve the problem
At the beginning of the corresponding assembly code, add a
. code32
Ok
Same. Will encounter
Head.s:105:warning:using '%ebx ' instead of '%bx ' due to ' l ' suffix
This will change the corresponding BX register to ebx OK
Head.s:248:error: '%al ' not allowed with ' MOVL '
Head.s:257:error: '%al ' not allowed with ' MOVL '
This changes the MOVL to MOVB. This should be a mistake. Rather than a platform difference.
Because I think Al is 8bit, MOVL is 16bit. Not correct even on 32-bit platforms
Over. Still very comfortable ... The compilation was successful.
Time is so slowly flowing, when we are still flowing river, when we become a quiet lake
"Linux kernel profiling" compiled Linux 0.12 kernel Ubuntu 64bits environment