ラズパイ3でWindows 10 on ARMが簡単に動くという記事に騙されてはいけない


MCCI Corporationというところが、ラズパイ用のUSBドライバをリリースしたことをきっかけに、ラズパイ3上でWindows 10 on ARMが動く、という話が大々的に言われるようになった。

しかし、実際は、全然うまく動きません。気軽に試せないので注意が必要です。以下に現時点までの挑戦の記録を残しておきます。


2019/02/16 21:30追加ゾーン開始

ようやくラズパイ3上でWindows 10 on ARMのデスクトップを開くことに成功しました。

ポイントは、WoA Installer for RPiのページに書いてあった「1809をつかえ」が諸悪の原因で、「1803」だとうまくいく、というところでした。

また、使用するmicroSDは早くないとダメというところ。最低限でClass10 U1じゃないと駄目で、Class10 U3ぐらいは欲しいところです。

うちの場合Class10 U1の samsung EVOPlus Class10 UHS-I MB-MC32GA を使っていますが、これだと初回起動に2時間かかりました。

また、ネットワークケーブルを繋いでいるとアップデートをとりにいってしまってうまく動かなくなりましたので、ケーブル外した状態で最初のログインまではしてください。

下の方の記述は明日修正していきます

2019/02/16追加ゾーンend


実際のインストーラについては、「WoA Installer for Raspberry Pi 3」というツールと「UUP(Unified Update Platform) Generation Project」というWebサイトが生成するバッチファイルと「Core Packages」を使います。


まずは、 「UUP(Unified Update Platform) Generation Project」 でISOイメージを生成するバッチファイルをダウンロードします。これを実行すると、ファイルを4GBちょいダウンロードし、4GBちょいのISOイメージを作成します。作業領域等を含めると15GBぐらいの空き容量が必要です。

注意:cmdファイルは、ディレクトリを作成し、そのなかにおいてから実行しましょう。アンチウイルスソフトによる機能制限によりダウンロードが途中で失敗した場合、同じディレクトリ内のファイルを削除してしまうという事態が発生するようです。

cmdファイルを実行したらすぐにウィンドウが閉じてしまうという場合は、一度、コマンドプロンプトを開いてから、そこの中からcmdファイルを実行してみるといいかもしれません。

2019/02/15 23:22追記:日本語版でやると失敗します。英語版(en_US)でISOを作成したところ、変なクラッシュもなしに起動が進んでいるところです・・・

23:48 英語でもやっぱキーボードが動かないやん・・・なんでじゃ・・・

2019/02/16 14:45追記:1809だと英語/日本語共に失敗。Insider Preview 18836 英語で試したところマウスキーボードは動くもののHi Thereより先に進めず。で・・・1803だとうまく行きやすい、という話を聞いて再挑戦中

2019/02/16 21:34追記:1803日本語であれば正常に動作しました。ただしネットワークケーブルは外した状態でセットアップを進める必要があります。USBは繋ぎっぱなしでも大丈夫です。


次に 「WoA Installer for Raspberry Pi 3」 を使ってmicroSDにWindowsイメージを書き込みます。これが1時間ぐらいかかります。


で、microSDが出来たら、ラズパイ3に突っ込んで起動するわけなんですが、初回起動時はEFI shellで止まります。

これは、「exit」で抜けて次の画面で「Boot order」を変更し、「UEFI shell」より先に「SD/MMC on Broadcom SDHOST」 が来るようにします。そうすると次回からWindowsが起動する様になります。詳しい替え方は FAQ 参照のこと。

ここで重大な注意点があります。

現状、USB機器をつないでると、めちゃくちゃブルースクリーンになります。このため、FAQでも入力を要求されるまではUSBを外しておくことが推奨されています。

で・・・うちの場合なのですが、キーボード選択画面まではいくのですが、USB機器を認識してくれないので進まない感じですね・・・

いったいどうすればいいのか・・・

・・・なんか日本語キーボードをつなぐと動かないのでは?説が急浮上です。

microSDを作り直して、英語キーボードでやってみましたが、状況変わらず・・・なぜだ

なお、初回電源オンからキーボード選択にたどり着くまでブルースクリーンクラッシュが5回ぐらいをはさみつつ約2時間かかりました。

ラズパイ2が余ったのでWindows IoTを入れようと思うのでメモ


・現状サポートしているARM SoCのボードについて

Windows 10 IoT [Quicksarts]-[Prototype a device]-[1. Choose a board]」に一覧がある。

ラズパイ2,3はIoT Dashboardを使いmicroSDカードにOSイメージを書き込む。

ラズパイ3B+は2019/02/12時点では機能制限ありのプレビュー提供中なので注意が必要

・アプリを追加するにはVisual Studioから行う

手順は「Windows 10 IoT [Quicksarts]-[Prototype a device]-[3. Add an app]」を参照。

Steamlink launcher for OSMCをラズパイ3のOSMCに導入


ラズパイ3をメディアプレイヤーとして置こうと思うんだけど、そこに「Steam Link now in BETA on Raspberry Pi」をインストールして、Steam Linkの端末としても使いたい。

そういうことができるのかを調べて見た。すると、「Release: Steamlink Launcher for Kodi (OSMC only)」というのを発見。ソフトウェアの配布は「https://github.com/swetoast/steamlink-launcher」で行われている。

ラズパイをメディアプレイヤーとして使うディストリビューションとして「LibreELEC」とか「OSMC」がある。

今回のプラグインはOSMC用ということなので、OSMCのSDカードイメージで起動してみる・・・が・・・「Install failed: can’t mount root」というエラー。

SDカード内にある「install.log」にログがある、というので確認してみると・・・

Thu Jan 1 00:00:07 1970 Starting OSMC installer
Thu Jan 1 00:00:13 1970 Detecting device we are running on
Thu Jan 1 00:00:13 1970 Mounting boot filesystem
Thu Jan 1 00:00:13 1970 Trying to mount to MNT_BOOT (/mnt/boot)
Thu Jan 1 00:00:13 1970 Using device->boot: /dev/mmcblk0p1 and FS: fat32
Thu Jan 1 00:00:13 1970 No preseed file was found
Thu Jan 1 00:00:13 1970 Creating root partition
Thu Jan 1 00:00:13 1970 From a root partition of /dev/mmcblk0p2, I have deduced a base device of /dev/mmcblk0
Thu Jan 1 00:00:10 1970 Determined 255 MB as end of first partition
Thu Jan 1 00:00:10 1970 Calling mkpart for device: /dev/mmcblk0 and fs: ext4 with start 257M and end 100%
Thu Jan 1 00:00:11 1970 Calling fmtpart for partition /dev/mmcblk0p2 and fstype ext4
Thu Jan 1 00:01:23 1970 Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=2 blocks, Stripe width=1024 blocks
969136 inodes, 3869440 blocks
193472 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=3963617280
119 block groups
32768 blocks per group, 32768 fragments per group
8144 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables:   0/119       done                            
Writing inode tables:   0/119       done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:   0/119  2/119  4/119  6/119 50/119       done


Thu Jan 1 00:01:23 1970 Mounting root
Thu Jan 1 00:01:23 1970 Trying to mount to MNT_ROOT (/mnt/root)
Thu Jan 1 00:01:23 1970 Using device->root: /dev/mmcblk0p2
Thu Jan 1 00:01:23 1970 Error occured trying to mount root of /dev/mmcblk0p2
Thu Jan 1 00:01:23 1970 Halting Install. Error message was: can't mount root

たいしたことは書かれてない感じで・・・なぜ?

違うmicroSDカードを使ったところ、正常に起動が完了した。

まずは、Bluetoothコントローラのペアリング設定は「My OSMC」の「Network」でBluetoothを有効にしてから行う。

次に、sshでログイン(OMSCのUsernames and passwords)して、

$ sudo apt update
$ sudo apt install xz-utils
$ curl -#Of http://media.steampowered.com/steamlink/rpi/steamlink_1.0.7_armhf.deb
$ sudo dpkg -i steamlink_1.0.7_armhf.deb
$ steamlink

「steamlink」を実行するとしばらく追加のソフトインストールとかが実行されたあと、HDMI出力にsteamlinkの画面が出てくるのが確認できる。

で・・・この後、kodiのアドオンとして「Steamlink Launcher for OSMC」をインストールするわけなんだけど・・・うちではこのアドオンがうまくインストールできたように見えない・・・どうすれば


v0.0.4がリリースされたので試してみたところ、やはりうまくプラグインがインストールできた様子がない・・・ただ、v0.0.3からの変更点を見るとzipファイル内のディレクトリ構造を変えたとある。

試しに他のpluginの構造を調べて見るとzipファイル内にはプラグイン名のディレクトリを作る必要があるにも係わらず、v0.0.4のzipファイルではディレクトリが存在していない。

というわけで、zipファイルを作成しなおしたところ、問題なく動作するようになりました。

このことを報告したところ送ったzipファイルがそのまま採用されました。

2018/12/29配布のv0.0.4aは正常に動作します。

RetroPie以外のレトロゲーム向けディストリビューションLakkaとlibRetro



ラズベリーパイを使って各種ゲーム機やパソコンをエミュレートして遊びやすくしたディストリビューションとして「Retro Pie」というのがある。

他に似たようなのがないか探していたら「Lakka」というものを発見。
ちょうど、「Orange Pi PC向けのサポートを開始したばかり」のようです。

RetroPieのサポートリスト」と「Lakkaのサポートリスト」を見比べても、基本的に大差はないようです。

LibRetro」という古いアーキテクチャ環境ソフトウェアRetroArchをWindows,Linux,MacOSX向けに提供しているところが提供しているディストリビューションが「Lakka」という位置づけのようです。
なので、「Getting Started with RetroArch」を見ると、Ubuntu Linuxの追加レポジトリとして登録するための手順も書いてあったりします。

で、Lakkaのマニュアルで特に気になったのは「NetPlay
1プレイヤー用のLakka上でスーファミのマリオカートを動かし、2プレイヤー用のLakkaから1プレイヤー用のLakkaにネットワーク接続することで、対戦が可能になる、というもの

さすがに同一スイッチ内、ということですが、ちょっと面白そうな感じがします・・・

メモリ1GBのCovia FLEAZ F4でポケモンGoが出来た



Covia FLEAZ F4に、ポケモンGoがインストールし、ARが動かない以外は、重いという問題はあるものの、プレイすることができました。

ただ、マーケットアプリで「ポケモンGo」と検索してもでてこず「Pokemon go」と英語で検索したら出てきた、というところが変わった点でしょうか。
ちなみに開発会社の「niantic」で検索しても出てこなかったのは謎です。
Ingressのページから、他のアイテムに表示されてはいるのですけどね・・・

ポケモンGoのGoogle Playストアのリンク「https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo

初期化状態からインストールする場合の注意点
・初期のPlayストア(ver4.xx)ではインストールできない
 一回Playストアを使ってからしばらく放置しているとアップデートされるのを待つ必要がある
・Google開発者サービスのアップデートも必要とする
 意図的にアップデート画面を出すのが面倒なので、GmailアプリやGoogleマップアプリをインストールし
 アプリを起動しようとすると、開発者サービスの更新を要求されるので
 そこから更新を行うのが簡単でしょう