作業系統實驗之Ubuntu上安裝pintos

2021-09-23 20:23:18 字數 2720 閱讀 4583

作業系統課的第乙個實驗是安裝乙個虛擬機器(這裡安裝了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編譯器。三 實驗內容 寫出主要的內容 首先用合法使用者登入系統...