Skip navigation.
ホーム
BLOG-ROMMER 日高のブログ

ビジネス

ビジネス

Windows 10 の Ubuntu Linux 環境機能

Windows 10 Anniversary Update (RS1)「Red Stone 1」のリリースが目前になって来た。ここでは以前から気になっていた、Windows 10 の Ubuntu Linux 環境機能をInsider Preview版で実際に使ってみたので簡単に解説する。

Ubuntu Linux 環境機能と書いたのは、実際に使ってみた結果Windowsカーネルを含めてUbuntu 14.04.4 LTSがほぼそのままWindows 10に入ることを確認したからだ。先の Build 2016 やその後のアナウンスでは「Bash」などと紹介されているが、実体はそんな単純なものではない。Windows 10でひとたびBashを起動したならば、UbuntuのユーザーランドがGUIと/dev/以下以外はほぼ全て追加される。そしてシームレスに既存のWindows環境と同居する。VMやコンテナの様な隔離はない。

Windows 10 デバイスドライバーの署名

最近、各方面からWindows 10ドライバの署名に関する問い合わせが多い。最新の状況を調べてみた結果、各所で記述されている説明は頻繁に更新されていて、しかもわかり難い。実際の動作も非常に不可解な状態であることを確認した。すでにWindows 10の新しい署名要件は開始されているので、SPC署名されているドライバであっても次の様に署名が認識されない場合がある。

現時点の状況をなるべく分かり易くまとめると次の通りである。

サードパーティーが開発したWindows 10用のカーネルモードのドライバには「原則として」Microsoftによる署名が必要
このMicrosoftによる署名を取得する方法は次の2種類

  • HLKによる署名
  • HLKテストをパスして、その結果をダッシュボードに提出。(従来のロゴテストによる署名と同様。古くはWHQLとも。)

  • Windows 10 Desktop Attestation Signing(日本語:Windows 10 デスクトップの構成証明署名)
  • 申請者がEV証明書による署名で身元を証明した後、署名が欲しいドライバをダッシュボードに提出。従来のSPC署名に相当するが、Windows 8.1以前やWindows Serverでは動作しない点が異なる。

「原則として」の例外については、現時点で不明確な点がある
そのためHLKまたはWindows 10 Desktop Attestation Signingのどちらかとなる。今後出荷されるWindows Server 2016での動作も目指すのであれば、HLKしか無い。

Windows 10 ユニバーサルドライバー開発

まとまった文献が少ないので、Windows 10 ユニバーサルドライバー開発について、現在分かっているところを書き止める。

ユニバーサルドライバー

ユニバーサルドライバーとはWindows 10の導入に伴って、これまでカーネル部がほぼ同じにも関わらずバラバラだったデバイスドライバー(以降ドライバー)の開発環境、ツールとソースコード、バイナリーオブジェクトを全て一つに統一したものの名称である。

現在のところ、従来のWindows Phoneに相当する Windows 10 Mobile, タブレット用のWindows 10 Mobile Enterprise と Windows 10で新開発の Windows 10 IoT Core が新たに追加される対象ターゲットだが、近い将来はXboxやHoloLensなどもサポート対象に含まれる。現在決まっているWindows 10のエディションについては、ITmediaの記事がわかり易くまとまっている。参考までに掲載する。
http://www.itmedia.co.jp/pcuser/articles/1505/14/news067.html

Windows 10 への従来デバイスドライバーの移行

Windows 10のリリースが近づいて来た。時々聞くのは、新しいバージョンのWindowsが出ると、以前使っていたデバイスドライバー(以降ドライバー)が使えなくなり、その結果ハードウェアが使えなくなるので暫く様子を見るとか、アップデートはしないという話だ。実際には必ずしもそうではない。ドライバーのインストールソフトウェアが新Windowsへのインストールを制限しているケースも多いため、「Windowsドライバーには互換性がある」という事実が浸透していないのが実情だ。ここは簡単にWindows 10 への従来デバイスドライバーの移行方法を解説する。

.NET Gadgeteer と Microsoft Virtual Academy


IoT (Internet Of Things) の開発を身近に体験する事例として、.NET GadgeteerとMicrosoft Azure の組み合わせがある。無料のExpress版やCommunity Edition を含むVisual Studioを使用して、組み込みシステムからクラウドシステム、Windowsストアアプリまで開発できる。しかしながら開発分野が多岐に渡るため、なかなか学習のきっかけが見つからないという話を聞く。

Microsoft Virtual Academy (MVA) はマイクロソフトが無償で提供しているビデオ教材を中心にした自己学習用コンテンツで、単にビデオを見るだけでなく、参考資料やサンプルコードも入手できる。このMVAのコンテンツに組み込みシステム開発関連の教材が含まれているのはあまり知られていないのではないだろうか。今回は.NET Gadgeteer を活用してIoTシステム開発を体験できるMVAのコンテンツを紹介する。

FEZ RaptorのTinyBooter更新手順


GHI Electronics 社からFEZ Gadgeteerシリーズの最高峰として FEZ Raptorという.NET Gadgeteer Mainboardが出ていてtinyclr.jpでも販売している

このメインボードはIOピンが多いFEZ Spiderの上位機種として、問題なく利用できるのだが TinyBooter(ブートローダー)のアップデートが現在FEZ Configではサポートされてないので、少々面倒という欠点がある。GHI Electronicsからの最近のリリース内容を見ると、TinyBooter とTinyCLR (ファームウェア)のバージョンが統一されてきているので、TinyCLRの更新時にはTinyBooterも合わせて同じバージョンに更新するべきである。更新作業は以前のFEZ Configが無かった時代と比較して、慣れてしまえば大したことは無いのだが、英語の文献で情報が散らばっていて分かり難いため、TinyBooterのアップデートのコツを含めて簡単にまとめた。

Windows 10 IoT と WDK 10

WinHEC, Buildと Windowsがらみの新技術紹介のイベントが続いた。Windows 10 Insider Preview も公開されているしWDK10も出ている。Visual Studio 2015 RCもつい先日公開された。いろいろと複雑になって来るとともにまだ問題もあるので、随時更新しながら整理してまとてみる。

Embedded Unix誌 連載 基礎からのデバイスドライバ作成講座

Embedded Unix誌の連載「基礎からのデバイスドライバ作成講座」のリンクです。

Vol.2
基礎からのデバイスドライバ作成講座(第1回)
Linuxシリアルポートデバイスドライバの解説と使い方

Vol.4
基礎からのデバイスドライバ作成講座(第2回)
パケットフィルタドライバの作成と応用

Vol.5
基礎からのデバイスドライバ作成講座(第3回)
USBドライバの開発とデバッグ手法

インターフェース誌 Linuxとそのほかの組み込み関連記事

CQ出版「インターフェース」誌に掲載した、Linuxとそのほかの組み込み関連記事へのリンクです。

2000年9月号
特集 広がるホームネットワーク技術入門
第1章 広帯域・広範囲ネットワークと家電機器を繋ぐために
これから期待される家庭内機器の接続技術

2001年4月号
特集 現代エレクトロニクスの基礎知識
第7章 接続性と利便性を重視した新技術が続々と現れる
広がるホームネットワーク技術入門

2002年2月号
特集 Linuxデバイスドライバとハードの自作
第3章 既存のドライバソースの改良と,デバッグのテクニックを解説 

コンテンツ配信