Featured image of post NachOS Install Note

NachOS Install Note

紀錄如何安裝 NachOS,以及一些坑...

安裝 NachOS 筆記

在這篇筆記中,將會在 Ubuntu 20.04.5 虛擬機上安裝和設定 NachOS。

安裝步驟

開啟虛擬機 Ubuntu 20.04.5

首先,啟動你的虛擬機並進入 Ubuntu 20.04.5 環境。

安裝基本建構工具

在終端機中執行以下指令安裝 build-essential

1
sudo apt-get install build-essential

檢查系統是否為 64 位元核心

確認你的系統架構為 amd64 才可繼續:

1
dpkg --print-architecture

檢查系統是否支援 32 位元架構

執行以下命令查看支援狀態,顯示 i386 表示系統支援:

1
dpkg --print-foreign-architectures 

啟用 32 位元支援功能

若尚未啟用 32 位元架構,請執行:

1
sudo dpkg --add-architecture i386

安裝 C shell、gcc 和 g++

接著,安裝必要的工具:

1
2
3
4
5
6
sudo apt-get install csh
sudo apt-get install gcc
sudo apt-get install g++

sudo apt-get update
sudo apt-get upgrade

安裝 C 與 C++ 多平台 lib

執行以下命令安裝多平台支援:

1
sudo apt-get install gcc-multilib g++-multilib

8: 安裝 32 位元 kernel 環境

為了支援 32 位元應用程式,執行以下指令:

1
2
3
4
5
6
7
sudo apt-get install lib32ncurses5 lib32z1
# Ubuntu 20.04 改為:
sudo apt-get install lib32ncurses5-dev lib32z1

sudo apt-get install zlib1g:i386 libstdc++6:i386
sudo apt-get install libc6:i386 libncurses5:i386
sudo apt-get install libgcc1:i386 libstdc++5:i386

下載 NachOS 4.0 和 mips-x86.linux-xgcc

執行以下命令下載並解壓縮檔案:

1
2
3
4
5
6
7
wget -d http://cc.ee.ntu.edu.tw/~farn/courses/OS/OS2015/projects/project.1/mips-x86.linux-xgcc.tar.gz
wget -d http://cc.ee.ntu.edu.tw/~farn/courses/OS/OS2015/projects/project.1/nachos-4.0.tar.gz

tar -zxvf nachos-4.0.tar.gz

sudo mv mips-x86.linux-xgcc.tar.gz /
tar -zxvf /mips-x86.linux-xgcc.tar.gz
  • 注意: 有坑 主要就是 tar -zxvf 當中的- 有問題,如果用複製的話會有這個問題產生,要刪掉再用手打一次

解壓縮 NachOS 檔案

將解壓縮的檔案放到指定資料夾。

修改 Makefile 以支援 32 位元編譯

  1. 修改 /nachos-4.0/code/Makefile.common
1
2
3
4
5
6
CPP=/lib/cpp
CC = g++ -m32 -Wno-deprecated
LD = g++ -m32 -Wno-deprecated
AS = as --32                  

PROGRAM = nachos
  1. 修改 /nachos-4.0/code/bin/Makefile
1
2
3
4
5
CC=gcc -m32                    
CFLAGS=-I../lib -I../threads $(HOST)
LD=gcc -m32

all: coff2noff 
  1. 修改 /nachos-4.0/code/TEST/MAKEFILE
1
2
3
4
5
6
7

...
GCCDIR = /mips-x86.linux-xgcc/
...
CPP = /mips-x86.linux-xgcc/cpp0
...
CFLAGS = -G 0 -c $(INCDIR) -B/mips-x86.linux-xgcc/

執行 Make 指令

進入 NachOS 的 code 目錄並執行編譯:

1
2
cd nachos-4.0/code
make

測試 NachOS 環境

最後,進入 userprog 目錄並測試:

1
2
cd userprog
./nachos -e ../test/test1

測試成功的話,結果如下圖:

圖1: 測試成功結果圖

參考資料:

  1. HackMD 筆記
  2. Sean Peng 的 HackMD 筆記
  3. JeffProgrammer 部落格
  4. Nachos 介紹 - 朱痕染跡璧有瑕
Licensed under CC BY-NC-SA 4.0