LoginSignup
18
16

More than 3 years have passed since last update.

Surface Pro X (ARM版Windows10)への WSL2 (+開発ツール)インストール

Last updated at Posted at 2020-02-04

Surface Pro Xを買ったので、必要な環境整備を行ったメモです。
購入を検討している人の参考になれば。

ほかの方も書かれてました。→ ARMベースのSurface Pro X買って開発環境構築

Surface Pro X

技術仕様はこのあたり

CPUがARM64で、x64なアプリケーションは動きません。x86(ia32)はエミュレーションで動きます。エミュレーションなので速くはないです。なので、ARM64用ビルドがあればそれを使い、ないものはx86用のものを使う方針となります。

Microsoft SQ1 3.0GHz

結論から

  • VSCodeはx86エミュレーションで動きます。
  • Kindle for PCはx86エミュレーションで動きます。
  • WSL2動きます。ARM64でLinux動きます。
  • Docker動きます。ARM64でコンテナ動きます。
    • ただしARM64用のDockerイメージが提供されていないことが多いです。

目次

  • WSL2
  • Docker on WSL2
  • VSCode
  • Kindle for PC

追記予定

WSL2

手順は以下の通り。通常のx64と変わりなく、公式のドキュメント通りです。

  1. Windows Insider Program を有効にする(スローを選択)
  2. Windowsの機能「Linux 用 Windows サブシステム」「仮想マシンプラットフォーム」を有効にする
  3. WSLのデフォルトバージョンを 2 にする
  4. Windows Store から Ubuntu をインストールする
  5. Ubuntu を起動する

Windows Insider Program を有効にする(スローを選択)

[設定] => [更新とセキュリティ] => [Windows Insider Program] => [開始する] => [スロー(推奨)]
再起動後、Windows Update で適用できます。

2020-02-03 (1).png

2020-02-03 (2).png

2020-02-03 (3).png

Windowsの機能「Linux 用 Windows サブシステム」「仮想マシンプラットフォーム」を有効にする

PowerShell を管理者権限で起動して、次のコマンドを実行、マシンを再起動します。

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

2020-02-03 (5).png

WSLのデフォルトバージョンを 2 にする

WSLのディストリビューションごとに使用するWSLのバージョンは選べますし、後から変更することもできますが、私はWSL2しか使わないので、はじめからWSL2で初期化してくれた方がありがたいです。

コマンドプロンプトで次を実行します。

wsl --set-version <Distro> 2

2020-02-03 (8).png

Windows Store から Ubuntu をインストールする

「Ubuntu」「Ubuntu 16.10」「Ubuntu 18.04」とありますが、特にこだわりがなければ「Ubuntu」でよいと思います。これはその時点の最新のLTS版、つまり現在は「18.04」ということです。新しいLTSが出たら、新規インストールする際にはその版が、インストール済みのものは sudo do-release-upgrade でアップグレードすることになります。

2020-02-03 (6).png

Ubuntu を起動する

起動すると初期セットアップが実行され、それが終わると使うことができます。
ARM64(AArch64)で動いていることを確認できます。

Ubuntu on WSL2 (ARM64)

uname -a

Docker on WSL2

通常通り、Ubuntu 18.04 へのDockerインストール方法そのままです。

Get Docker Engine - Community for Ubuntu

WSL2で動かすとき特有のはまりどころとして初回 /etc/init.d/docker start が必要です。
Docker Composeはこだわりがなければ apt-get install docker-compose しちゃうのが楽です。

一点注意として、ARM64で動いているLinuxなので、DockerコンテナもARM64で動きます。
コンテナ中でx64用のバイナリを使ってたりすると失敗するので、気をつけてください。
僕はEntryKitで wget https://github.com/progrium/entrykit/releases/download/v0.4.0/entrykit_0.4.0_Linux_x86_64.tgz してるものがあり、これについては自前でARM64用にビルドする必要がありました。(こちら

Docker on WSL2 ARM64

VSCode

Issueは立っているようですが、現状ではARM用のビルドは提供されていません。
VSCodeのサイトの「Other platforms」にある32bit版(IA32)インストーラをダウンロードしてインストールします。

VSCodeバージョン情報

WSL2に接続

「Remote - WSL」アドオンをインストールすると、「WSL TARGETS」にインストール済みのWSLディストリビューションが表示されるので、接続します。
こちらも問題なく利用できました。

2020-02-03 (20).png

2020-02-03 (22).png

Kindle for PC

開発ツール?技術書読むのとか・・・
iPad版などと比べると使い勝手悪いですが、タブレットモードでもまぁまぁ使えます。

Kindle無料アプリの「PC & Mac」より。

Kindle for PC

18
16
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
18
16