LoginSignup
5
2

More than 1 year has passed since last update.

#2 Windows(WSL)版開発環境構築【後輩たちのためのEV3rt講座(改)】

Last updated at Posted at 2021-12-20

前回のおさらい

前回の記事
前回は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が使えるようになります。

スクリーンショット 2021-12-06 045436.png

Step2 WSLのインストール

いよいよLinuxのインストールですが、その前にWindowsの機能の有効化を行う必要があります。

Windows TerminalからPowershellを起動しましょう。
ここで起動するときに「管理者権限」で実行するようにしてください。
管理者権限なしだとLinuxのインストールが出来ません。
方法は、Windows Terminalのアイコンの上で右クリックをし、「その他」->「管理者として実行」を選択してください。

スクリーンショット 2021-12-06 052444.png

起動出来たら以下のコマンドを入力します。

Powershell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

これでWSLが有効化され、インストールすることが出来るようになりました。

続いて、実際にLinuxをインストールします。
このとき注意するのがWSLにはバージョンが1と2があることです。
EV3rt用には1を使うようにします。2の方ではどうやら不具合があり正しく動作しないようです。
そのためにPowershellを用いて以下のコマンドを入力します。

Powershell
wsl --set-default-version 1

これでバージョンが1に設定されました。

続いて、以下のコマンドでLinuxをインストールします。

Powershell
 wsl --install -d Ubuntu

このコマンドによりLinuxがインストールされます。
今回、ディストリビューションはUbuntuがインストールされます。

インストールが終わるとUbuntuのウィンドウが自動的に開きます。

スクリーンショット 2021-12-06 050842.png

ここでユーザー名とパスワードを設定します。
それぞれ自分の好きな名前とパスワードを入力して設定してください。

完了すると、以下のように緑色の文字で名前が表示され、コマンドが打てる状態になります。

スクリーンショット 2021-12-06 051031.png

Step3 必要なパッケージのインストール

まずはWindows Terminalを起動します。
起動するとデフォルトではPowershellが使えるようになりますが、今回はタブ上のを押してUbuntuを選択してください。

スクリーンショット 2021-12-07 094352.png

スクリーンショット 2021-12-07 094420.png

ここで、EV3rtの環境に必要なパッケージをインストールしていきます。
以下のコマンドを一行ずつ入力していってください。

Ubuntu
$ 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行目はパッケージのインストールコマンドです。
それぞれ上から順番にgccmakediffrubyを使えるようにするものです。
最後の6行目は、shellというrubyのスクリプトで用いるライブラリです。

ここで、各行の先頭にsudoというコマンドがありますが、こちらは管理者権限で実行するというものです。
この際、パスワードの入力が求められますので、Ubuntuの設定で入力したパスワードを入れてください。

これらのパッケージを正しくインストール出来ているかは、以下のコマンドで確認することが出来ます。

Ubuntu
$ gcc -v
$ make -v
$ diff -v
$ ruby -v
$ gem list

それぞれ、以下のように出力されます。

スクリーンショット 2021-12-07 095233.png

スクリーンショット 2021-12-07 095328.png

スクリーンショット 2021-12-07 095432.png

青線部分が入力したコマンド、赤線部分が確認する出力です。

Step4 EV3rt用のシェルスクリプト実行

ここからはTOPPERSが用意しているシェルスクリプトを用います。
先ほどまでと同様に管理者権限でWindows Terminalを起動、Ubuntuを選択します。

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つ目のコマンドを入力すると、次のような表示がなされます。

Ubuntu
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ファイルを解凍してください。

スクリーンショット 2021-12-06 030811.png

zipファイルを開いて、「すべて展開」を押すと解凍できます。

解凍するとev3rt-1.1-releaseというフォルダが生成されます。
このフォルダ内に入り、その中の同じフォルダ名であるev3rt-1.1-releaseをコピーします。
その後、Cドライブ直下にペーストして移動してください。

Cドライブへのアクセス方法

スクリーンショット 2021-12-06 031126.png
上の画像のように、赤線で囲った枠の部分にC:\と入力してEnterキーを押してください。
これでCドライブ直下に移動することが出来ます。

Cドライブ直下に移動出来たら先ほどコピーしたフォルダを貼り付けてください。

スクリーンショット 2021-12-06 031919.png

ここからはWindows TerminalからUbuntuを使います。
起動したら以下のコマンドでCドライブ直下にあるev3rt-1.1-releaseに移動します。

Ubuntu
$ cd /mnt/c/ev3rt-1.1-release

ここで注意なのが、cドライブの指定方法がCygwin版と異なります。
構造としてはUbuntuにCドライブがマウントされているという状態なので、/mnt/cのようにしてCドライブを指定します。

続いてそのフォルダ内のhrp3.tar.xzを解凍します。

Ubuntu
$ tar xvf hrp3.tar.xz

解凍されたファイルが一覧で表示され、コマンドが打てるようになったら完了です。

以上にて、環境構築完了です!!

動作確認

それでは最後に、プログラムをコンパイルできるか確認してみましょう。

今まで通り、Windows TerminalからUbuntuを起動します。
次に、EV3rtのワークスペースフォルダに移動します。

Ubuntu
$ cd /mnt/c/ev3rt-1.1-release/hrp3/sdk/workspace

ここにプログラムファイルを作成します。
今回はすでに用意されているサンプルプログラムをコンパイルしてみます。

以下のコマンドでコンパイルを行います。

Ubuntu
$ make app=helloev3

今回はhelloev3というプログラムをビルドしました。
このサンプルプログラムはev3rtのチュートリアル的なプログラムになっています。
このコマンドを打ち込むことでworkspace内にappというファイルが生成されていれば成功です。

これで動作確認も完了です!!

最後に

ここまで2回に渡り環境構築方法について説明してきました。
いよいよ次回からEV3本体を用いて、プログラムを実行していきたいと思います。

なお、不定期更新なので気長にお待ちください笑

前回 : #1 Windows(Cygwin)版開発環境構築
次回 : #3 未定

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2