タッチパネル一体型業務向けPC MSI-R104I8BD1を入手したのでWindows/Ubuntu/ChromeOSで起動してみた


sueboさんがうっかり落札してしまった14台のタッチパネル一体型PCを2台譲ってもらった。

現状は全台はけた、ということですが、この機種およびマザーボードについてぐぐっても情報がほとんど出てこないので、ここにメモとして残しておきます。

目次
 スペックについて
 中をあける方法
 USBメモリからの起動について
 Windows 10の起動状況
 Ubuntu 20.04の起動状況
 ChromeOSの起動状況
 BIOSアップデートについて

スペックについて

マザーボードはMSI MS-98I8 で、この一体型PCは下記の様なスペックになっている。

Celeron N3160
DDR3x1 / Mini-PCIex1 / mSATAx1 / SATAx1 / DPx1 / HDMIx1 / GbEx2
10インチ SVGA(800×600)+タッチパネル
Windows 10 IoT Enterprise 2016 LTSB ライセンスシール
メモリ/ディスクは搭載なしだが、CF/SATA変換ボードと2.5インチHDD接続用ケーブルが残存
電源は12V単一。一般的なコネクタではなく電線を直接入力するタイプ
ただ、マザーボード自体の仕様としては9V~36Vと書いてある

中をあける方法

抜けたりするのを防ぐため中のケーブルのコネクタ部分が固められています。

とりあえず中身を確認するためには、下記のような感じで開けてみてから、その次をどうしていくかを考えた方がいいと思います。

画像

このような感じであけるには以下の赤い丸印のネジを外します。

画像
画像
画像

中をあけたらメモリとディスクなどをいれて単体で動作できるようにしましょう。

USBメモリからの起動について

BIOSメニューからUSBメモリを選んでもなんか普通のマザーボードと同様にUSBメモリからの起動になりません。(後述のWindows, Ubuntu, ChromeOSで同じ)

起動順序を「UEFI: Built-IN EFI Shell」を一番最初にして起動します。

画像

EFI Shellが起動してくるので、何かキーを押してEFI Shellプロンプトで止めます。

画像

今回はUSBメモリが「fs1」で認識されていたので「fs1:」でドライブを移動したあと、

「efi\boot\bootx64.efi」を実行するとUSBメモリからの起動が開始されます。

下記の写真では「cd efi」「cd boot」でディレクトリ移動してから「bootx64.efi」を実行しています。

画像

なお、このEFI Shellはタブキー補完が効くのでefiを指定する際に「e」を入力したあとにタブキーを押すと「efi」と変換されます。

また、fs1:で移動した後にそこにどんなディレクトリ/ファイルがあるかを確認するには「ls」を実行することで確認出来ます。

なお、USBメモリに startup.nsh というファイルを置いて、「.\efi\boot\bootx64.efi」とかかいておけば自動起動されるんじゃないかなぁとは思います。

参考:拡張ファームウェアインターフェイス (EFI) インテル®の基本手順サーバーボード

Windows 10の起動状況

Windows 10 IOT ENT 2016 LTSBのプロダクトキーがついていますが、このプロダクトキーが通るのは、「Windows 10 IOT ENT 2016 LTSBメディア」か「Windows 10 ENT 2016 LTSB」だけのようです。「Windows 10 Enterpriseメディア」や「Windows 10 Enterprise 2019 LTSCメディア」では通りませんでした。

「Windows 10 IOT ENT 2016 LTSBメディア」を含めて2016年頃のWindows 10メディアだとデバイスが2個△マークとなりますが、タッチパネル/イーサネット含めて動作しています。

2017年以降のWindows 10 メディアを使ったり、Windows Updateを実行すると、全デバイスが正常に認識されますので、問題はありません。

画像

なお、Windows 10 IOT ENT 2016 LTSBのプロダクトキーを入力してライセンス認証を行った場合、「Windows 10 Enterprise 2016 LTSB」として認識されています。

画像

なお、Windows 10 Enterprise 2016 LTSBのライフサイクル ポリシーはメインストリームが2021/10/12、延長が2026/10/13となっています。

画像

Ubuntu 20.04の起動状況

普通にインストールすると、タッチパネル用のドライバが認識されているもののX-Window上でタッチパネル動作を認識できていません。

画像
画像

この問題についてはxserver-xorg-input-evdevをインストールして、xserver-xorg-input-libinputを削除して対応できました。(xinput-calibratorはタッチパネルの位置調整用コマンドxinput_calibratorをインストールするために追加している)

$ sudo apt install xserver-xorg-input-evdev xinput-calibrator
$ sudo apt remove xserver-xorg-input-libinput

これを行った後、再起動するとタッチパネルが動作するようになっていると思います。

画像

Ubuntuのオンスクリーンキーボードは、「設定」の「アクセスビリティ」から設定できますが、最初のログイン画面では動いていないようです。

とりあえず、自動ログインさせてログイン画面をスキップする設定をGUIで行おうとしたところ画面が表示できていない・・・

画像

このため設定ファイル /etc/gdm3/custom.conf を直接編集し、下記の設定を行いました。

[daemon]
AutomaticLoginEnable=yes
AutomaticLogin =ユーザ名

ChromeOSの起動状況

純正ChromeOSのリカバリイメージを元に汎用ChromeOS起動ディスクを作成するbrunchを使ってUSBメモリを作成して起動したもの。

rammus用リカバリイメージを元に作成してあるUSBメモリがあったので起動してみたところ、標準状態でそのままタッチパネルもLineOUTからのオーディオ出力も普通に使える状態で起動してきました。

画像

ただ、Chrome OSは、800×600解像度で使うものではない感じですね・・・


BIOSアップデートについて

マザーボードの製品ページを開いて少しスクロールすると上側に「Download」リンクが現れ、そこにBIOSアップデートが提供されており、Version 170と書いてある。

ZIPファイルをダウンロードするとバージョンアップ履歴のテキストファイルがあり、Version 170とは、E98I8IMS V1.7ということのようだ

画像

届いたものを確認すると E98I8IMS V1.6となっているので、少し古いバージョンということになっている。

画像

BIOSアップデータはEFIで実行する形式なので、EFI Shellから実行する必要があります。

EFI ShellではFAT32領域しか見れず、NTFSやLinux ext4領域などは使えない、という制約があるので、FAT32でフォーマットしたUSBメモリにBIOSアップデート関連ファイルを展開して使用します。

USBメモリをさして、EFI Shellに入ってから下記のように入力してアップデートを実施します

Shell> fs1:
fs1:\> cd E98I8IMS170
fs1:\> EFUx64.EFI E98I8IMS.170
画像
画像

アップデートが終わったら再起動します。

バージョンを確認するとV1.7に変わったことが確認できます。

画像

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


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

しかし、最初はいろいろな問題があり、導入がかなり困難を極めました。

2019/02/16時点である程度手法は確立しましたので、ここからは、その手順を紹介していきます。

なお、本手順は紅樹タカオさんと共に進めていったものなので「Windows10 on ARMのインストール【成功しましたが簡単ではありません。】」と「ラズパイへWindows10 on ARMを入れるときのトラブルや対処方法」も参考になるかと思います。

準備するもの

・ラズパイ3もしくはラズパイ3B
・ラズパイを冷却するための機構(CPU冷却ファン搭載を推奨)
・高速なmicroSD(A2クラスを強く推奨)
・安定して5.04V~5.08Vが出せるACアダプタ(5.02V~5.04Vだと不足気味)
・Windows 10 on ARM用のISOファイル(「UUP(Unified Update Platform) Generation Project」を利用して作成)
WOA Deployer for Raspberry Pi

microSDは高速なものが必須です。3種類のmicroSDを使ってみたのですが、A2クラスのものを使わないとアプリを起動させるにも一苦労でした。

microSD の種類使用したものWoA Deploy にかかる時間初回起動時間ディスク I/O の様子
Class10 U190分1時間ほぼ常時100%
Class10 U3 A227分20分最初は100%だが20分ぐらいで落ち着く
Class10 U1 A134分まだまだ

電源については、ラズパイを1200MHz動作で使った場合でも1Aを超えることはありませんでした。電流より電圧の方が重要なようで、5.02Vぐらいになると右上に電力不足の雷マークが現れる感じです。

うちで試した限りでは、5.02V~5.04Vで動作するアダプタでは電力不足が表示され、5.04V~5.08Vでは特に問題なく動作していました。

作業手順

1. Windows 10 on ARMのISOを作成

UUP(Unified Update Platform) Generation Project」 から、Windows 10 on ARMのISOイメージを作成するためのCMDファイルを入手します。

その際の選択肢は以下のようになります。

Select type: Windows(Final version)
Select version: Feature update to Windows 10, version 1803 [arm64]
Select language: ja-jp:Japanese
Select edition: 適切に選ぶ
Select type download: Download ISO compiler in OneClick!(run downloaded CMD-file)

「version 1803」以外では、「Windows 10 Insider Preview 18836.1000(rs_prerelease) [arn64」でも問題なくインストールできています。

しかし「version 1809」ではブルースクリーンクラッシュ多発し、USBが認識しないなどの現象が発生します。現状はお薦めできません。

CMDファイルを入手したら、新しくディレクトリを作り、そこにCMDファイルを置き、実行します。すると、各種ファイルのダウンロードと、dismコマンドなどによるISOファイルの生成が開始されます。

ファイルのダウンロードは4GBぐらいあります。また、4GBのISOファイルも作成されますので、作業領域込みで12GB程度の空き容量があることを確認してから実行してください。

なお、アンチウイルスソフトなどによりファイル書き込みやファイルダウンロードに失敗した場合、CMDファイルが置かれたディレクトリにあるファイル・ディレクトリを削除してしまう事象が確認されています。

くれぐれもデスクトップにそのままおいて実行しないよう気をつけてください。

2. ISOファイルをマウントする

作成したISOファイルをエクスプローラーで開くと、Windows10の場合、CDドライブとして認識されます。そのドライブ内に「sources\install.wim」があることを確認します。

3. WoA Deployer for RPiを入手する

WOA Deployer for Raspberry Pi 」を入手します。「Release」にある最新のWOA.Deployer.GUI.zip をダウンロードして、ZIPファイルを展開します。

4. WoA Deployer.exe を実行してmicroSDに書き込みする

展開したファイルの中にある「WoA Deployer.exe」を実行します。

「DRIVE SELECTION」でmicroSDを指定します。
「WINDOWS IMAGE(.WIM)」でISOドライブ内の「sources\install.wim」を指定します。

「Depoly」ボタンをクリックすると、まずはUEFIファイルやドライバなどの必要なもののダウンロードが始まります。

ダウンロードが終わるとmicroSDへの書き込みが始まります。

一番最初にUSBドライバのライセンス承諾画面が表示されますので、「Accept」をクリックします。

microSDへの書き込みは、U1だと90分、U3 A2だと27分かかりました。

5. ラズパイ3にmicroSDをさして電源ON

USBキーボード、マウスをつなぎ、イーサケーブルはつながないで電源を入れます。
インターネットに接続できてしまうと変な動作になることが多いです。

最初の起動では、UEFI shellで停止してしまいます。

6. ラズパイ起動設定の変更

UEFI shellで「exit」と入力し、設定画面を表示させます。

6.1. クロックアップ設定

まず、クロックアップの設定を行います。

「Device Manager」→ 「Rapsberry Pi Configuration」→「Chipset」

「don’t overwrite」と書いてありますが、無視して変更します。

標準は「Min(600Mhz)」ですが、「Max(1200MHz)」とします。

これにより初回起動時間が約半分になります。

6.2. 起動順序設定

次に、起動順序の変更を行います。

「Boot Maintenance Manager」を選び

「Boot Options」を選び

「Change Boot Order」で起動順一覧を表示します。

標準では「UEFI shell」が上にあり、「SD/MMC on Broadcom SDHOST」が下にあります。

これを「UEFI shell」にカーソルを合わせた状態で「-」キーを押し、下側に持って行ったあと、Enterキーで確定させ、F10キーで設定保存をします。

6.3. 解像度設定

また、あまり大きすぎるディスプレイだと動きが遅くなりましたので、解像度制限を行った方がいい場合もあります。

「Device Manager」→「Rapsberry Pi Configuration」→「Display」で設定します。

下記の様なかたちで「Virtual 1024 x 768」ぐらいで設定した方が快適でした。

7. 初回起動

いろいろありつつもプロセスが進みます。

上記の画面が表示されるまで、U1の場合は約1時間かかりました。U3 A2の場合は約20分でした。クロックが標準状態のMin(600MHz)の場合はU1 microSDで約2時間した。

8. セットアップを進める

1803の場合はイーサケーブル繋がない状態で完了までさせてください。

Insider Preview 18894の場合、下記の画面になるまではイーサケーブルを繋がない方がいい感じです。それ以前につないでしまうとセットアップのアップデートをとりに行ってしまい、セットアップがループしました。

9. デスクトップが表示されるまで待つ

U1 microSDで約30分ぐらいかかりました。

10. 完了

以上でとりあえず完了です。

Firefoxをwin32版とwindows aarch64版の双方をインストールしてみたところ、youtube動画をwin32版で閲覧した場合、解像度が最低ラインの状態でなおかつしばしば停止しました。

それに対して、windows aarch64版では特に問題無く再生できました。

なお、音はHDMI経由の出力は現状出来ず、アナログ出力からとなります。

Windows aarch64版は正式配布前なので、「http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/」から英語版ダウンロードします。「firefox-~win64-aarch64.installer.exe」の一番新しいものを使用します。

http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central-l10n/」から日本語版のダウンロードでもいいのですが、ファイル数が多くてEdgeだとなかなか開かなかったので諦めました・・・2019/02/21時点だと「http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central-l10n/firefox-67.0a1.ja.win64-aarch64.installer.exe」ですね。

また、win32アプリはそこそこに動作しました。

2001年リリースの偽春菜も動きはしました・・・絵が変わる時の動作でよく止まりましたけどね・・・


ここから下は資料ゾーンです。

以前掲載していたものを資料のために載せています。


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]」を参照。

Allwinner A64搭載ボードのBPI-M64とPINE64がWindows 10 IoTに対応開始



Windows 10 IoTは、いままでRaspberry Pi 2、Raspberry Pi 3とDragonboard 410cが対応機種としてあげられていましたが、この度、Allwinner A64搭載ボードである「BananaPi M64 (BPI-M64)」と「PINE64」もサポートするようです。

元ネタ:cnx-software「Allwinner A64 based Pine A64 and Banana Pi M64 Boards Can Now Run Windows 10 IoT Core

2016/08/04 19:30現在の「Windows 10 IoT Get Started」ページにはまだ掲載されていません。

しかし、githubにあるMicrosoft管轄の「https://github.com/Azure/azure-iot-sdks/」のツリーを見ていくと、「Run a simple Csharp sample on Banana Pi BPI-M64 device running Windows 10 IoT Core」と「Run a simple Csharp sample on Pine64 device running Windows 10 IoT Core」と、2つのAllwinner A64搭載機に関する導入手順が登録されていることが分かります。

(2017/02/06 ツリー構成が変わっていたので修正)
しかし、githubにあるMicrosoft管轄の「https://github.com/Azure/azure-iot-device-ecosystem/」のツリーを見ていくと、「Run a simple Csharp sample on Banana Pi BPI-M64 device running Windows 10 IoT Core」と「Run a simple Csharp sample on Pine64 device running Windows 10 IoT Core」と、2つのAllwinner A64搭載機に関する導入手順が登録されていることが分かります。

手順に書かれている必要なファイルはきちんどダウンロード可能となっているので、導入自体は特に問題無くできそうです。

が・・・私自身はAllwinner A64搭載ボードを持ってないので、試せませんけどね・・・
Orange PiのA64搭載モデルとか、でそうな感じだったんだけど、音沙汰無く半年だしなぁ・・・