看操作系統精髓與設計原理(Operating Systems Internals and Design Principles),附錄提到一個教學用的系統Nachos。試著找源碼,編譯一下。使用ubuntu16LTS,總編譯不過。 swtch.s彙編不過去,因為pushl無法編譯啊(因為本機是64bi ...
看操作系統精髓與設計原理(Operating Systems Internals and Design Principles),附錄提到一個教學用的系統Nachos。
試著找源碼,編譯一下。
使用ubuntu16LTS,總編譯不過。
- swtch.s彙編不過去,因為pushl無法編譯啊(因為本機是64bit系統,pushl是32bit的x86彙編),g++增加-m32選項,通過!
- .o文件不相容(還是32/64不相容),ld增加-m elf_i386,增加-lc -lstdc++,不相容的問題沒了但是有undefined reference symbol錯誤,好吧,放棄了!
還是裝一個32位的試試,考慮到我的機器已經是win10/ubuntu16雙系統,在ubuntu再增加一個32位的鏡像,實在的沒經驗,直接在虛擬機下嘗試。
-> win10下安裝vwware+ubuntu12LTS desktop 32bit 。。。
把Nachos拿過來,去掉fwritable-string,gmake改成make, 執行make all,OK!