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

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

# WSL2の準備
　本家を参考に進めるのがいいと思います。
　[Windows 10 用 Windows Subsystem for Linux のインストール ガイド](https://docs.microsoft.com/ja-jp/windows/wsl/install-win10)

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

### 1. WSL有効化  
　PowerShellを管理者権限で実行し、下記コマンド実行します。

```powershell
PS> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
```
　実行後、PCを再起動します。

### 2. 仮想マシンの機能を有効化
　PowerShellを管理者権限で実行し、下記コマンド実行します。

```powershell
PS> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
```
　実行後、PCを再起動します。

### 3. Linux カーネル更新プログラム パッケージをダウンロード
　こちらからダウンロードして、インストールします。
　[x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)

　ARMマシンの場合はこちらからダウンロードします。
　[x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi)

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

### 4.WSL2を既定のバージョンに設定する。
　PowerShellから次のコマンドを実行します。

```powershell
PS> wsl --set-default-version 2
```

### 5.Linuxディストリビューションのインストール
　Windows StoreからPetalinuxに対応したLinuxディストリビューションをインストールします。
　具体的には[UG1144](https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug1144-petalinux-tools-reference-guide.pdf)に書いてある通り、下記ディストリビューションのいずれかをインストールします。

- 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に変更する必要があります。
　どちらのバージョンに設定されているかは次のコマンドで確認できます。

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

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

```powershell
PS> wsl --set-version <distribution_name> 2
```
　例えばUbuntu-18.04なら、

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

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

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

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

# Petalinuxのインストール
　[UG1144](https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug1144-petalinux-tools-reference-guide.pdf)のChapter 2に載っている通りです。
　こちらも簡単に手順だけ書いておきます。

### 1. 必要なパッケージのインストール
　Ubuntuの場合は下記コマンドで行けるかと思います。

```bash
$ 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

```bash
# 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が使えるようになるかと思います。

```bash
$ source /opt/pkg/petalinux/2020.1/settings.sh
```
　このままだと起動のたびに毎回実行する必要があるので、同じ内容を.bashrcに書いておくことをお勧めします。

```bash
$ sudo vi ~/.bashrc

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

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