前回のおさらい
前回の記事
前回はWindowsでの開発環境構築編として、Cygwinというソフトを用いる方法で環境を構築しました。
しかしながら、前回紹介した方法はレガシーなもの(古い方法)で、最近はより簡単な新しい構築方法あります。
それがWindows10からの機能である**WSL(Windows Subsystem for Linux)**を用いた方法です。
これは非常に簡単にWindows上にLinuxの環境を構築できる機能です。
EV3rtが主に使用されているETロボコンの現場ではこの方法が取られているようです。
今回はこの方法で実際に環境を構築していきましょう!!
(例のように既に終わっている箇所があれば適宜読み飛ばしてください。)
環境構築スタート
Step1 Windows Terminalのインストール
今回はWindows10標準搭載のPowershellを用います。
が、実はPowershellも使えるWindows TerminalというアプリがMicrosoft Storeからダウンロードできます。
こちらを用いた方がPowershellも、この後Linuxも同時に扱えるので、インストールしておきましょう。
(必須ではありませんがインストールされている体で進めます。)
こちらのリンクからWindows Terminalをダウンロード・インストールしてください。
インストールが完了して起動すると、Windows TerminalとしてPowershellが使えるようになります。
Step2 WSLのインストール
いよいよLinuxのインストールですが、その前にWindowsの機能の有効化を行う必要があります。
Windows TerminalからPowershellを起動しましょう。
ここで起動するときに**「管理者権限」**で実行するようにしてください。
管理者権限なしだとLinuxのインストールが出来ません。
方法は、Windows Terminalのアイコンの上で右クリックをし、「その他」->「管理者として実行」を選択してください。
起動出来たら以下のコマンドを入力します。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
これでWSLが有効化され、インストールすることが出来るようになりました。
続いて、実際にLinuxをインストールします。
このとき注意するのがWSLにはバージョンが1と2があることです。
EV3rt用には1を使うようにします。2の方ではどうやら不具合があり正しく動作しないようです。
そのためにPowershellを用いて以下のコマンドを入力します。
wsl --set-default-version 1
これでバージョンが1に設定されました。
続いて、以下のコマンドでLinuxをインストールします。
wsl --install -d Ubuntu
このコマンドによりLinuxがインストールされます。
今回、ディストリビューションはUbuntuがインストールされます。
インストールが終わるとUbuntuのウィンドウが自動的に開きます。
ここでユーザー名とパスワードを設定します。
それぞれ自分の好きな名前とパスワードを入力して設定してください。
完了すると、以下のように緑色の文字で名前が表示され、コマンドが打てる状態になります。
Step3 必要なパッケージのインストール
まずはWindows Terminalを起動します。
起動するとデフォルトではPowershellが使えるようになりますが、今回はタブ上の⌵
を押してUbuntu
を選択してください。
ここで、EV3rtの環境に必要なパッケージをインストールしていきます。
以下のコマンドを一行ずつ入力していってください。
$ sudo apt update
$ sudo apt install build-essential
$ sudo apt install make
$ sudo apt install diffutils
$ sudo apt install ruby
$ sudo gem install shell
一番上のコマンドがapt
というパッケージ管理システムのアップデート。
2~5行目はパッケージのインストールコマンドです。
それぞれ上から順番にgcc
、make
、diff
、ruby
を使えるようにするものです。
最後の6行目は、shell
というrubyのスクリプトで用いるライブラリです。
ここで、各行の先頭にsudo
というコマンドがありますが、こちらは管理者権限で実行するというものです。
この際、パスワードの入力が求められますので、Ubuntuの設定で入力したパスワードを入れてください。
これらのパッケージを正しくインストール出来ているかは、以下のコマンドで確認することが出来ます。
$ gcc -v
$ make -v
$ diff -v
$ ruby -v
$ gem list
それぞれ、以下のように出力されます。
青線部分が入力したコマンド、赤線部分が確認する出力です。
Step4 EV3rt用のシェルスクリプト実行
ここからはTOPPERSが用意しているシェルスクリプトを用います。
先ほどまでと同様に管理者権限でWindows Terminalを起動、Ubuntuを選択します。
Ubuntuが起動したら、以下のコマンドを一行ずつ実行してください。
$ wget http://ev3rt-git.github.io/public/ev3rt-prepare-ubuntu.sh
$ sudo bash ev3rt-prepare-ubuntu.sh
1つ目のコマンドではgithub上にあるev3rt-git.github.ioというリポジトリから、インストールに用いるシェルスクリプトをダウンロードしています。
2つ目のコマンドはそのシェルスクリプトを実行しています。
2つ目のコマンドを入力すると、次のような表示がなされます。
Prepare necessary environment for EV3RT on Ubuntu Linux.
This script will:
1. Remove binutils-arm-none-eabi and gcc-arm-none-eabi packages if installed.
2. Install u-boot-tools and lib32stdc++6 packages when not installed.
3. Install GNU Arm Embedded Toolchain (version: 6-2017-q1-update) under /opt.
Please select:
1) Start to install
2) Exit
#?
ここで1
を入力してください。
これでEV3rtに必要なものが自動的にインストールされます。
補足説明
今回用いたシェルスクリプトについて、その中身をほんの少しだけご紹介します。
このシェルスクリプトはEV3rtのGithub上のリポジトリより見ることが出来ます。
https://github.com/ev3rt-git/ev3rt-git.github.io/blob/master/public/ev3rt-prepare-ubuntu.sh
このシェルスクリプトではARM社のマイコン用のGCCコンパイラ、そしてブートローダーであるU-bootのmkimageがインストールされます。
以下、カッコ内の行数はシェルスクリプト上の行数を表しています。
ARM社用GCCコンパイラは多くのバージョンがありますが、自動的に動作確認済みバージョンをインストールしてくれます。(58~61行目)
又、コンピュータ内にそれ以外のバージョンがあった場合は削除してくれます。(52行目)
そして、EV3を起動するとき、一番最初に動くソフトウェアであるブートローダーのU-bootの設定も同時にしてくれます。(55行目)
Step5 EV3rtのファイルをダウンロード
ここからは前回のCygwin版とほぼ同じ作業になりますが、もう一度記します。
TOPPERS/EV3rtのページから、EV3rtのファイルをダウンロードしましょう。
EV3rt ダウンロードページ
このページの一番上にある2021年6月25日リリースの1.1版のファイルをダウンロードしましょう。
(ev3rt-1.1-release.zip
というzipファイル)
ダウンロードが出来たらzipファイルを解凍してください。
zipファイルを開いて、「すべて展開」を押すと解凍できます。
解凍するとev3rt-1.1-release
というフォルダが生成されます。
このフォルダ内に入り、その中の同じフォルダ名であるev3rt-1.1-release
をコピーします。
その後、Cドライブ直下にペーストして移動してください。
Cドライブへのアクセス方法
上の画像のように、赤線で囲った枠の部分にC:\
と入力してEnterキーを押してください。
これでCドライブ直下に移動することが出来ます。
Cドライブ直下に移動出来たら先ほどコピーしたフォルダを貼り付けてください。
ここからはWindows TerminalからUbuntuを使います。
起動したら以下のコマンドでCドライブ直下にあるev3rt-1.1-release
に移動します。
$ cd /mnt/c/ev3rt-1.1-release
ここで注意なのが、cドライブの指定方法がCygwin版と異なります。
構造としてはUbuntuにCドライブがマウントされているという状態なので、/mnt/c
のようにしてCドライブを指定します。
続いてそのフォルダ内のhrp3.tar.xz
を解凍します。
$ tar xvf hrp3.tar.xz
解凍されたファイルが一覧で表示され、コマンドが打てるようになったら完了です。
以上にて、環境構築完了です!!
動作確認
それでは最後に、プログラムをコンパイルできるか確認してみましょう。
今まで通り、Windows TerminalからUbuntuを起動します。
次に、EV3rtのワークスペースフォルダに移動します。
$ cd /mnt/c/ev3rt-1.1-release/hrp3/sdk/workspace
ここにプログラムファイルを作成します。
今回はすでに用意されているサンプルプログラムをコンパイルしてみます。
以下のコマンドでコンパイルを行います。
$ make app=helloev3
今回はhelloev3
というプログラムをビルドしました。
このサンプルプログラムはev3rtのチュートリアル的なプログラムになっています。
このコマンドを打ち込むことでworkspace
内にapp
というファイルが生成されていれば成功です。
これで動作確認も完了です!!
最後に
ここまで2回に渡り環境構築方法について説明してきました。
いよいよ次回からEV3本体を用いて、プログラムを実行していきたいと思います。
なお、不定期更新なので気長にお待ちください笑
前回 : #1 Windows(Cygwin)版開発環境構築
次回 : #3 未定