味噌汁を飲みます

そんなに深く考えて書いていない

WLinux を Build してみた

この記事は、 OIT Advent Calendar 2018の24日目の記事です。

WLinuxをビルドした

僕の記事を読むより、公式のBUILDING.md読んだ方がいいです

github.com

なぜビルドしたのか

Windowsのためにわざわざお金をかけたくなかった。

用意するもの

  1. Debian系のWSL、僕は安全のためにDebianを入れた
  2. Visual Studio 2017:ユニバーサルWindowsplatformのC++WindowsプラットフォームとWin10 SDK10.0.16299.0(今のWLinuxであれば)が最低必要 一応私はC++CLIなども入れてある f:id:yokanyukari:20181223235645p:plain

  3. 時間、ビルドなどにそれなりに時間がかかるので用意が必要

手順

作業ディレクトリの作成

どこでもいいので作業ディレクトリを作る

git clone

とりあえず、WSLを最新のものにしておく

sudo apt update ; sudo aptt upgrade -y ; sudo apt install git -y

作業ディレクトリまで移動してから

$ git clone https://github.com/WhitewaterFoundry/WLinux.git

と、コマンドをたたく。このWSLコンソールは残しておく。

証明書の用意

作業ディレクトリ下にWLinuxというディレクトリ下にDistroLauncher.slnというものがあるので開く。 f:id:yokanyukari:20181224000911p:plain 右のソリューションエクスプローラーから、MyDistro.appxmanifestをダブルクリックすると編集画面が出てくるので、 パッケージ化の欄を選択、証明書の選択をクリック。 証明書の構成からテスト証明書の作成を選ぶとパスワードを入れるように言われるが、入れなくてもできた。 f:id:yokanyukari:20181224001408j:plain これのタブ消さないでおく。

install.tar.gzの作成

さっきのWSLコンソールで

$ cd WLinux
$ chmod u+x create-targz-x64.sh
$ ./create-targz-x64.sh

ビルド

Visual Studio2017タスクバーの下段の真ん中にあるものをDebugからReleaseに変更し、その右のものをx64にしておく。
f:id:yokanyukari:20181224002716p:plain 上段にある、ビルドからソリューションのビルドを選択する。
Warning:runFulltrust云々って出るが、一応できているみたい。

Package.StoreAssociation.xmlがないって言われたときは、右のソリューションエクスプローラーでDistroLauncher-Appxを右クリック。 出てきた中で、ストア=>アプリパッケージの作成=>サイドロード用のパッケージを作成しますを選択して、道なりに行ってに行けば一回失敗するので、ビルドの初めの部分からやり直してほしい。

使う

なぜか、cmd.exeでwlinux.exeと叩いても出てこなかったので作業ディレクトリを探索した。

作業ディレクトリ\WLinux\x64\Release\

作業ディレクトリ\WLinux\x64\Release\DistroLauncher-Appx

作業ディレクトリ\WLinux\x64\Release\DistroLauncher-Appx\AppX

の3か所にwlinux.exeらしきものがあったが、初めに開くことができたのは作業ディレクトリ\WLinux\x64\Release\DistroLauncher-Appx\AppX\wlinux.exeのみだった 開くと、OSのインストールが始まるので、そこからは自分に合わせた環境を調べておいてもらいたい。

f:id:yokanyukari:20181224004555p:plain

おわりに

一応WLinuxが使用できるところまで行きましたが、なぜ使用できるのかわかっていません。 それでも、GUIがそれなりに使えそう・Windowsのアプリがそのまま呼び出せる、他のWSLよりコンパイルが速いので、今後使っていきたいです。 公式ドキュメント通りにしたはずなんだが終わり方が悪くて申し訳ない。 私のWindowsが壊れている可能性がある。

WLinuxをビルドするブログが見当たらなかったので、公式のBUILDINGを見てやったんですが、英語が厳しい・・・ 修正あればお願いします。