Pintos 配置
一、 安裝虛擬機
這里推薦VMware:
百度VMware,下載VMware,直接雙擊即可安裝。(傻瓜式安裝)
當然,還有別的虛擬機軟件,也可以裝雙系統,但是別的虛擬機軟件還未測試,雙系統的聯網會比較麻煩,這里用VMware來做示范。
VMware12下載地址:
http://www.xiazaiba.com/html/27692.html#j_down_list
VMware12安裝教程:
http://jingyan.baidu.com/article/870c6fc30ad5f0b03ee4be5b.html?qq-pf-to=pcqq.temporaryc2c
Ps:
VMware Workstation 12 Pro key/注冊碼:
VY1DU-2VXDH-08DVQ-PXZQZ-P2KV8
VF58R-28D9P-0882Z-5GX7G-NPUTF
YG7XR-4GYEJ-4894Y-VFMNZ-YA296
二、 安裝ubuntu
Ubuntu下載地址: http://www.ubuntu.com/download/desktop
Ubuntu有32位和64位的,但是64位在后面配置的時候有一些地方會多幾個步驟,這里建議用32位。
Ubuntu 32位下載地址:
http://www.ubuntu.com/download/desktop/thank-you?country=CN&version=14.04.4&architecture=i386
PS:如果插上U盤而虛擬機無法連接上,可能是VM tools出現問題,可以按以下方法更新。這個工具是為了可以直接拉文件進ubuntu,教程如下:
http://jingyan.baidu.com/article/93f9803f0d9d9be0e46f55ce.html
http://jingyan.baidu.com/article/3065b3b6e8dedabecff8a435.html
Ubuntu系統不能連網,可以參考如下教程:
http://www.linuxidc.com/Linux/2011-10/44546.htm
三、 下載pintos 和 Bochs 2.6.2
Pintos 下載地址:
http://www.stanford.edu/class/cs140/projects/pintos/pintos.tar.gz
Bochs 2.6.2
https://sourceforge.net/projects/bochs/files/bochs/2.6.2/bochs-2.6.2.tar.gz/download
四、 把pintos,bochs 2.6.2解壓,把兩個總的文件直接拉進ubuntu的Home文件夾
PS:要放在別的文件夾也可以,但是要記得在哪,之后會用到。
五、 安裝必要的軟件及庫
PS1:在ubuntu桌面,按下ctrl + alt + T,可以調出終端Terminal。
PS2:Ubuntu 安裝軟件或者庫方法: sudo apt-get install [+軟件包名稱]
必要軟件及庫(必須安裝)
安裝GCC, Perl, Make,G++等這些軟件Ubuntu 12.04 已經自帶,一般無需配置,
若提示缺少相關庫,請嘗試執行下面的代碼:
【這兩條sudo指令都在命令窗口執行一遍吧,如果不缺這些庫,運行了也沒關系;但是如果缺了正好補上,否則在后面會報錯】
sudo apt-get install build-essential
安裝autoconf 以執行 ./configure (下文出現)
sudo apt-get install autoconf
六、 配置虛擬機軟件Bochs
PS:Ubuntu下進入文件夾的方法:cd 文件夾名稱
Ubuntu下顯示文件夾內文件及文件夾的方法:ls
步驟一:在Terminal進入bochs-2.6.2文件夾: cd bochs-2.6.2
步驟二:初始化配置:./configure --with-nogui --enable-gdb-stub(注意空格)
步驟三:編譯安裝:sudo make install
七、 設置環境變量以及pintos 的啟動
a) 直接打開主文件夾,點擊【View】,然后勾選顯示隱藏文件,借着就可以在主文件夾里看到.profile 文件了
b) 在.profile 文件最后一行加上(注意雙引號需要為英文的雙引號)
export PATH="$PATH:/home/username/pintos/src/utils"
ps:username就是你的用戶名稱,可以通過Terminal查看,比如
在這里ddl就是username,上面指令黑色部分替換成ddl即可。
c) 重新登錄或者執行source .profile使.profile 文件生效
d) 鍵入 pintos 命令,查看是否成功。成功示例如下:
八、 編譯utils文件夾內容(pintos 腳本需要)
a) 進入pintos/src/utils
b) 打開Makefile文件
更改LDFLAGS = -lm 為 LDLIBS = -lm
CC = gcc 改為 CC = gcc -32m(64位ubuntu修改此項)
c) 終端進入utils文件夾並執行make指令
cd pintos/src/utils
make
配置完畢,pintos 內核已經成功生成了,現在測試一下。
九、 測試
cd pintos/src/threads
make【此時會生成build 文件夾,之后會進入build 文件夾】
cd build
檢查1:執行make check【正確結果如下】
檢查2:執行 pintos run alarm-multiple【正確結果如下】
PS:失敗的話可以make clean 再 make,如果還是失敗,那就是之前的某個步驟出了問題。
環境配置實驗可能遇到的問題
1、如何修改主機號:
Ctrl+Alt+T進入命令窗口
輸入sudo su指令進入root模式,然后進行下面步驟:
2、Cannot find the kernel
首先確定當前所在目錄為 (你的pintos文件夾目錄)/src/threads/build/, 否則進入該目錄再試一遍。若錯誤依舊,請從步驟七開始重新配置pintos。
3、Error 127
出現錯誤 127可以重新 source .profile;或者檢查一下之前.profile文件中的路徑有沒有寫錯,比如:大小寫;或者沒有生效,重啟一下Ubuntu試試看
4、內核配置錯誤
進入 (你的pintos文件夾目錄)/src/utils 重新編譯(make clean然后再 make),即步驟八。
5、無法找到需要安裝的軟件包
裝ubuntu系統后的最好先替換自帶的更新源,原因是系統自帶的源有些在中國訪問不了,可以訪問的速度又特別慢。
源指安裝包或源代碼的下載地址。具體操作:
http://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html
6、27 fail
27個全錯的時候就要去修改ubuntu的PATH,不僅僅修改用戶的路徑,14.04的版本對於pdf和腳本的修改PATH值都是只修改了當前用戶的PATH值。百度一下,查修改PATH的方法,加上去重新make就ok的啦。
7、不是20個錯誤
中間某個環節出錯了,建議刪掉pintos文件夾重來。
8、遇到permission denied
表示權限不足,由於環境配置不需要特權運行的,檢查該文件是否具有可執行權限,沒有則右鍵,屬性,權限,可執行。
9、出現以下錯誤,command not found
【解決方法】gedit后面打個空格【這個地方尤其坑,一定要記得這個空格】
10、建議每次make或者make check之前先執行make clean,make clean相當於編譯器里面的編譯指令,不執行這個指令你之前做的修改並不會生效,所以最好在每一次make或者make check之前做一次make clean。
11、一直在登錄頁面輸密碼問題
這個問題應該是在修改.profile文件之后才會出現的,原因是在修改.profile文件的時候修改錯誤導致的,本人是在修改的時候沒有加上原來的路徑,導致登錄時找不到相應的路徑
添加部分如(注:我的pintos是放在home里的)下:
export PATH= "$PATH:/home/pintos/src/utils" 紅色部分就是遺漏導致不能登錄的錯誤,藍色部分是文件所在地址。
一直可行方法是重裝系統,正確修改vim .profile
但是可以通過命令行模式來修改.profile文件
具體步驟:
在登陸頁面
Ctrl + Alt +f1 (進入命令行模式)
輸入自己的用戶名和密碼
鍵入vim .profile
如果說vim permission denied
就鍵入export chmod +x vim
在鍵入vim .profile
正確修改文件后保存並退出
Ctrl + Alt + f6還是f7可以退回登錄界面(具體自己都試試吧!忘了)
現在就應該可以登錄了。