作業系統課的第乙個實驗是安裝乙個虛擬機器(這裡安裝了vmware),上面執行了ubuntu。如何在ubuntu上安裝pintos呢?這裡做一下記錄。
檔案準備
解壓縮在terminal(終端)裡操作
$cd maker
$tar zxvf bochs.tar.gz
$tar zxvf pintos.tar.gz
安裝一些必要的軟體
輸入命令後會提示輸入密碼,這裡的密碼是不顯示位數的。(linux系統的常識)
然後會提示y/n,輸入y。
$sudo su
*(輸入自己的密碼)*
$sudo apt-get update *//防止由於安裝失敗,先更新軟體包*
$ sudo apt-get install build-essential
$ sudo apt-get install xorg-dev
$ sudo apt-get install bison
$ sudo apt-get install libgtk2.0-dev
$ sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
$ sudo apt-get install libncurses5:i386
$ sudo apt-get install g++-multilib
$ sudo apt-get install libx11-dev
$ sudo apt-get install xserver-xorg-dev
$ sudo apt-get install xorg-dev
$cd maker/bochs-2.6
$ ./configure --enable-gdb-stub *//配置bochs*
$ make *//編譯bochs*
$ sudo make install
注意:第二行前有乙個「.」,configure後有個空格。
執行
$ cd maker/pintos/src/threads
$ make
$ cd build
$ ../../utils/pintos -- run alarm-multiple
之後會跳出來pintos的執行介面。
但這並不代表著萬事大吉了,還要進行pintos的配置。
複製utils
$ cd maker/pintos/src/utils
$ sudo cp backtrace /usr/bin/
$ sudo cp pintos /usr/bin/
$ sudo cp pintos-gdb /usr/bin/
$ sudo cp pintos-mkdisk /usr/bin/
$ sudo cp pintos.pm /usr/bin/
安裝pintos-gdb
# install pintos-gdb
$ cd maker/pintos/src/misc
$ sudo cp gdb-macros /usr/bin/
$ sudo vim /usr/bin/pintos-gdb */ /modify the 4th line: gdbmacros=/usr/bin/gdb-macros*
$ cd /usr/bin/
$ sudo chmod a+rx backtrace
$ sudo chmod a+rx pintos*
$ sudo chmod a+rx gdb-macros
$ sudo chmod a+rx pintos.pm
$ test pintos-gdb
如果出現不識別「vim」的命令,可以安裝一下vim:
$sudo apt-get install vim
注:gdb是乙個由gnu開源組織發布的、unix/linux作業系統下的、基於命令列的、功能強大的程式除錯工具。可以用來除錯c,c++程式。類似於debug。
編譯utils
$ cd maker/pintos/src/utils
$ vim makefile *//modify the 5th line: ldflags -> ldlibs*
$ make
$ sudo cp squish-pty /usr/bin
$ sudo chmod a+rx /usr/bin/squish-pty
用gdb來除錯pintos
$ cd /pintos/src/threads/build
$ ../../utils/pintos --gdb -s -- run alarm-multiple
這時候開啟另外乙個終端
$ cd pintos/src/threads/build/
$ gdb kernel.o
注:".o"表示目標檔案
成功進入之後,就可以進行連線了。
(gdb) target remote localhost: 1234
(gdb) continue
參考文章: 作業系統Ubuntu(實驗一二)
摘錄 1.5 建立檔案和目錄 1.6 刪除檔案和目錄rm 檢視目錄大小 2.1 編譯c程式 使用sudo i 進入管理員許可權 service xrdp restart 開啟埠 ctrl c 中斷當前活動。當你在csh中鍵入乙個不可識別的命令列 例如,ls 收到第2個提示符的時候,ctrl c也可以...
作業系統Ubuntu(實驗三四)
4.實驗四 使用訊號量進行互斥與同步 fork 函式用法解釋 個人觀點 include include int main else printf 統計結果是 d n count return0 當執行到 段fpid fork 時,此時新建了乙個子程序,其直觀圖如下 練習 畫出流程圖 pthread....
作業系統實驗
一 實驗目的 理解vi的三種執行模式及其切方法。學會使用vi的各種操作命令進行文字檔案的編輯。用vi編寫linux下c程式,會用gcc編譯。二 實驗環境 一台裝有linux的機器 這裡預設是red hat linux 9 系統裡面有gcc編譯器。三 實驗內容 寫出主要的內容 首先用合法使用者登入系統...