WSL2ではPetalinuxが使えるみたいです


 WSL(Windows Subsystem for Linux)1では確かビルドでエラー吐いててこけてた気がしますが、WSL2ではめでたく使えるようになりました。

WSL2の準備

 本家を参考に進めるのがいいと思います。
 Windows 10 用 Windows Subsystem for Linux のインストール ガイド

 簡単に手順だけまとめときます。

1. WSL有効化

 PowerShellを管理者権限で実行し、下記コマンド実行します。

PS> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

 実行後、PCを再起動します。

2. 仮想マシンの機能を有効化

 PowerShellを管理者権限で実行し、下記コマンド実行します。

PS> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 実行後、PCを再起動します。

3. Linux カーネル更新プログラム パッケージをダウンロード

 こちらからダウンロードして、インストールします。
 x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ

 ARMマシンの場合はこちらからダウンロードします。
 x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ

 どちらを使用しているかの確認はPowershellを開き、systeminfoコマンドを実行して、System Type(日本語ならシステムの種類) の項を確認すればOKです。

4.WSL2を既定のバージョンに設定する。

 PowerShellから次のコマンドを実行します。

PS> wsl --set-default-version 2

5.Linuxディストリビューションのインストール

 Windows StoreからPetalinuxに対応したLinuxディストリビューションをインストールします。
 具体的にはUG1144に書いてある通り、下記ディストリビューションのいずれかをインストールします。

  • Red Hat Enterprise: 7.4, 7.5, 7.6, 7.7 (64-bit)
  • CentOS: 7.4, 7.5, 7.6, 7.7 (64-bit)
  • Ubuntu: 16.04.5, 16.04.6, 18.04.1, 18.04.2, 18.04.3, 18.04.4 (64-bit)

 私の場合はUbuntu 18.04 LTSを使っています。

6. ディストリビューションのバージョンをWSL2に変更する(すでにディストリビューションがインストール済みだった場合のみ)

 WSL2インストール前にすでにディストリビューションをインストールしていた場合は、ディストリビューションのバージョンをWSL2に変更する必要があります。
 どちらのバージョンに設定されているかは次のコマンドで確認できます。

PS> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         1

 versionが1ならPowerShellから次のコマンドを実行してWSL2に変更します。

PS> wsl --set-version <distribution_name> 2

 例えばUbuntu-18.04なら、

PS> wsl --set-version Ubuntu-18.04 2

 実行後、wsl -l -vコマンドで再度確認します。

PS> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         2

 これでWSL側の設定は完了です。

Petalinuxのインストール

 UG1144のChapter 2に載っている通りです。
 こちらも簡単に手順だけ書いておきます。

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

 Ubuntuの場合は下記コマンドで行けるかと思います。

$ sudo dpkg --add-architecture i386
$ sudo apt install -y iproute2 gcc g++ net-tools libncurses5-dev zlib1g:i386 libssl-dev flex bison libselinux1 xterm autoconf libtool texinfo zlib1g-dev gcc-multilib build-essential screen pax gawk python3 python3-pexpect python3-pip python3-git python3-jinja2 xz-utils debianutils iputils-ping libegl1-mesa libsdl1.2-dev pylint3 cpio

2. インストーラーのダウンロード

 下記からインストーラーをダウンロードして、WSL側ディレクトリに移してインストールします。(今回はversion 2020.1をインストール)
 https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/embedded-design-tools/2020-1.html

# Downloadsディレクトリを作成して、インストーラーをコピー
$ mkdir ~/Downloads
$ cd ~/Downloads
$ cp <download-dir>/petalinux-v2020.1-final-installer.run .
$ chmod +x petalinux-v2020.1-final-installer.run

# インストール
$ mkdir -p /opt/pkg/petalinux/2020.1
$ chmod 755 /opt/pkg/petalinux/2020.1
$ ./petalinux-v2020.1-final-installer.run --dir /opt/pkg/petalinux/2020.1

3. 実行環境の設定

 最後に下記コマンドでパスとか通って、Petalinuxが使えるようになるかと思います。

$ source /opt/pkg/petalinux/2020.1/settings.sh

 このままだと起動のたびに毎回実行する必要があるので、同じ内容を.bashrcに書いておくことをお勧めします。

$ sudo vi ~/.bashrc

#vi起動, .bashrcに下記追記
source /opt/pkg/petalinux/2020.1/settings.sh



 以上でWSL2でPetalinuxが使えるようになるかと思います。
 何かおかしいところなどあれば、コメントお願いします。