WSLのつかいかた
環境セットアップ
Windows PowerShellを起動する。
wsl --install Ubuntu22.04
続いてインストールしたUbuntu22.04をデフォルトに設定する
wsl --set-default Ubuntu-20.04
Ubuntu-20.04を起動
通信シュミレーションに用いるソフトの準備
今回はシュミレーションソフトとしてNS-3を使用する。
また、5Gのシュミレーションとして5G-LENAを導入する。
必要ライブラリ等の準備を行う。
Ubuntu22.04にて以下コマンドを実行
sudo apt update
sudo apt upgrade
アップデート終了後ライブラリのインストールを行う。
sudo apt-get install libc6-dev
sudo apt install sqlite sqlite3 libsqlite3-dev
sudo apt install libeigen3-dev
次に、Pythonの開発環境管理用ソフトウェアをインストールする。
sudo apt install python3.10-venv
python3 -m venv ./myenv
source ./myenv/bin/activate
myenvという名前の環境を構築し、有効化する。
つぎに、ライブラリ管理用ソフトウェアであるPIPをインストールする。
sudo apt install python-pip
計算用ライブラリであるnumpyをインストールする。
pip install numpy torch
以上で必須ライブラリの準備を終え、NS-3のインストールを行う。
以下コマンドでGit Hub上からクローンする。
git clone https://gitlab.com/nsnam/ns-3-dev.git
ns-3-devというディレクトリに移動する。
cd ns-3-dev
git checkout -b ns-3.42 ns-3.42
ここまででNS3のインストール作業を終了する。
次に、インストールが成功しているか確認し、テストする。
./ns3 configure --enable-examples --enable-tests
./test.py
contribのディレクトリに移動し、5GNRモジュールのインストールを行う。
cd contrib
git clone https://gitlab.com/cttc-lena/nr.git
cd nr
git checkout -b 5g-lena-v3.3.y origin/5g-lena-v3.3.y
ここまでで5GNRモジュールのインストールを終了する。
次に、再度確認する。
./ns3 configure --enable-examples --enable-tests
check
SQLite support : ON
Eigen3 support : ON
上記2つのライブラリがONになっていることを確認する。
確認後、成功していればビルド行う。
./ns3 build
ビルド終了後以下コマンドで実行する。下記例ではcttc-nr-demoというファイルを実行している。
./ns3 run cttc-nr-demo
次に、ファイルの編集方法を示す。今回は利便性を考慮し、Visual Studio Codeを用いる。
VScodeのインストール方法については省略する。(参考文献に公式HPを記す。)
一番上に出てくる、Microsoftが提供している拡張機能をインストールする。
一度VScodeを再起動し、左端のリモートエクスプローラーにUbuntu22.04があることを確認する。
その後、ファイルタブで以下フォルダを開く。
¥¥wsl.localhost
参考文献
5GLENA, https://5g-lena.cttc.es
Microsoft VScode, https://azure.microsoft.com/ja-jp/products/visual-studio-code/