nachos及其交叉編譯工具的編譯
我在VMWare上安裝redhat9-linux系統,並且在該linux環境下編譯,不知什麼原因始終沒有編譯通過交叉編譯工具和nachos系統。但是大家不妨嘗試一下,即使不能通過也沒關係,我可以告訴大家直接下載別人編譯好的交叉編譯工具。由於以後介紹的nachos系統是3.4版本的,但是該版本一直沒有編譯通過,因此我們需要下載兩個版本的nachos,分別是3.4和4.1版本,前一個版本用來分析源碼,後一個版本用來運行測試程式和調試,因為後一個版本很容易編譯通過。也許是我的經驗還不夠,所以不得不使用兩個版本,如果有人能編譯通過3.4版本的話,不妨貼出來,讓大家學習學習。
下面給出nachos4.1和3.4版本的下載連結,如果有人不能訪問連結可以留言聯絡我。
nachos3.4 下載
nachos4.1下載
交叉編譯工具下載
下面介紹安裝方法:
nachos3.4用來分析源碼,所以隨便你放在windows下面或者linux下面的都可以。在windows下面直接用winrar就可以解壓。在linux下面用命令 tar -zvxf nachos-3.4.1.tar.Z解壓。
重要的是nachos4.1及其交叉編譯工具的安裝。
1 把nachos4.1下載到/usr/local目錄
2 tar -zvxf nachos-4.1.tgz
3 進入解壓後的目錄,其中有code子目錄,再進入其中的build.linux子目錄
4 輸入 make depend
5 輸入 make 看看結束有沒有錯誤,如果沒有,那麼就成功了。
編譯好的nachos系統鏡像就在build.linux目錄下,運行時直接 . / nachos 就可以了。
如果要到其他目錄下啟動並執行話,還要export才行。nachos詳細運行參數可以用
. / nachos -u 得到。
交叉編譯工具的搭建。
把下載的交叉編譯工具放到 / 目錄下,即根目錄下然後用tar -zvxf 命令解壓即可。必須放到根目錄下,因為壓縮包裡麵包含了/usr/local的目錄層次。
另外還需要編譯測試程式轉換工具,進入 nachos4.1/code/coff2noff
運行 . / configure
make 即可。
下面詳細講一下為什麼需要交叉編譯工具?
由於Linux指令集和R2/3000指令集不同,使用者編寫的應用程式用Linux系統中標準gcc編譯後,不能直接在Nachos虛擬機器環境下運行。所以需要採用交叉編譯技術。所謂交叉編譯技術是在一個作業系統下將源碼編譯成另一個作業系統的目標碼,這裡就是在Linux下通過gcc交叉編譯版本將使用者程式的源碼編譯成R2/3000指令集的目標碼。
在編譯使用者程式時,用交叉編譯器將源碼編譯成R2/3000指令集的目標代碼,再經過一個簡單的轉換就可以在Nachos虛擬機器上運行。
最後使用者程式的編譯留到後面再貼出來,因為重要的是這個環境必須先搭建起來。