Aerospace and Defense Intelligent Systems_Japan

Intelligent systems research

航空宇宙・防衛業界

航空宇宙・防衛業界は、完成度の高いインテリジェントシステムの構築に、今、焦点を当てています。

航空宇宙・防衛業界におけるインテリジェントシステムの成功は、他の主要産業と比較して、最も高度な設計が必要です。

Intelligent systems research

航空宇宙・防衛業界

航空宇宙・防衛業界は、完成度の高いインテリジェントシステムの構築に、今、焦点を当てています。

I航空宇宙・防衛業界におけるインテリジェントシステムの成功は、他の主要産業と比較して、最も高度な設計が必要です。

今やるべきこと

航空宇宙・防衛業界は、インテリジェントシステムの特性がユニークに融合されており、主要特性のうち9つが今後3年間に必要不可欠な基盤・インフラストラクチャだと見なされています。(対照的に、自動車業界では、成功のために直ちに影響を与える、同様のレベルの特性は4つしかありません)。インテリジェントシステムのインパクト評価の71%は、この期間に創出されることになります。

aerospace and defense sector has a unique blend of intelligent systems characteristics

CB Insightsは、次のように述べています。「航空宇宙・防衛業界では、支援するソフトウェアがリスクの高いシナリオにおいて迅速に判断を下す必要があります。企業や政府機関は、ロボット工学や自律システムからサイバーセキュリティや国家安全保障のための通信まで、さまざまな技術の活用を模索しており、AIは870億ドルの市場において不可欠となっています」1 これらは、ミッションクリティカルとサイバーセキュリティを基本として、ほぼリアルタイムで機能するインテリジェントシステムの世界のほんの一部に過ぎません。

航空宇宙・防衛業界におけるインテリジェントシステムの成功における最も重要な2つの特性は、ファーエッジでのコンピューティングと、リアルタイムのエミュレーションとシミュレーションの能力です。ミッションクリティカルな機能は本質的に複雑で多様であるため、システムがほぼリアルタイムでコンピューティング、感知、接続するというユニークなニーズがあります。

ability to emulate and simulate in real time are the two most important characteristics for intelligent systems success in aerospace and defense

今必要とされる重要な特性は、関係者全員がひとつのプロセスにおけるワークフローを共有できることと、新製品やサービス開発におけるデジタルフィードバックループなどのツールを得ることです。これは、これらの組織のインテリジェントシステムにおいて、人、データ、新しい共同作業プロセスを前面に押し出すことの重要性を示しています。Air Force Platform One のようなアイデアは、デジタルフィードバックループに対してほぼリアルタイムで反応する複雑なシステムの絶え間ない開発、デプロイ、運用という概念に基づいています。民間航空会社もこのニーズを理解しており、ほぼリアルタイムで膨大な数のデータを業務に取り込み、顧客の満足度向上と、製品・サービスの提供、そして開発の改善に取り組んでいます。

5年後のニーズとして最もインパクトがあるのは、「自動学習・機械学習の恩恵を受ける能力」と「全自動化を実現する能力」の2点です。  この2つのうちより重要と考えられるAL/ML特性は、他の8つの特性が開発・提供された後に初めて発生するものです。

航空宇宙・防衛業界は、完成度の高いインテリジェントシステムの構築に、
今、焦点を当てています

ーダーが解決しなければならないパラドックスが根底にあります。航空宇宙・防衛業界のリーダーと称する企業の86%は、自社の組込み製品とサービスの半分以上で、ファーエッジにて使用される想定で設計されるものと考えています。しかし、必要なインテリジェントシステムの特性を実現することに取り組み、成功へと至っているのは、わずか14%に過ぎません。

今後ファーエッジコンピューティングに重点を置くと考え、現在その成功を報告しているのがわずか14%ということは、これらの企業のほとんどが、インテリジェントシステムの未来を実現するために必要な要素をまだ導入していないことを意味します。

航空宇宙・防衛分野のシーケンスは、エッジでの真のミッションクリティカルなコンピューティング、人、アプリケーション、運用能力のための リアルタイムワークフロープラットフォーム、製品・サービス開発のためのリアルタイムデジタルフィードバックループの機能を構築することから始まります。これらのすべてが、クラウド上でデバイスをカスタマイズし、ほぼリアルタイムで可能な結果をシミュレートし、エミュレートする能力と統合される必要があります。

インテリジェントシステムを構築するエグゼクティブにとって、本当に重要なことは何か?

インテリジェントシステムには13の主要な特性がありますが、すべての特性が同じプラスの影響を与えるわけではありません。

下記の図は、各インテリジェントシステム特性がそのシステムに与える影響の大きさを表しています。ブロックが大きいほど、影響が大きいことを意味します。このデータから、勢いと成功によってグループ化された企業や特定の業界を見ることができます。

表示方法を選ぶ

Total Committed and performing Nascent & successful Experimenting & Low Yield Experimenting & delivering Committed & Suboptimal Nascent & Unsure
Industrial Manufacturing Aerospace and defense Automotive Energy Medical Telecom
Forbes logo

Source: Characteristics of an Intelligent Systems Future, Forbes, 2021

Wind River Studio

Wind River® Studioは、ミッションクリティカルなインテリジェントエッジシステムの開発、デプロイ、運用、サービスを行うための、初のクラウドネイティブプラットフォームです。

Wind River Studioの詳細をみる

航空宇宙・防衛分野におけるインテリジェントシステムの3つの特性

55%

のリーダーが、投資を加速させるものは何かという質問に対して、従業員の満足度向上を挙げています。

37%

は、インテリジェントエッジ向けの5Gなどの基盤となるテクノロジーのニーズが適切に導入されていない、または、後5年以内に業界で利用できる状況にないと考えています。

59%

は、ROIが必要な改善のレベルを上回ると考えています。

航空宇宙・防衛分野におけるインテリジェントシステム成功の特徴

それぞれの特性に応じた投資のタイミングを見極めるには、重要なインフラストラクチャの構築、主要な基礎的ニーズの提供などのブループリント必要です。

Characteristics of Success in The Aerospace and Defense Sectors
Report

航空宇宙・防衛分野におけるインテリジェントシステム導入の計画をはじめましょう

ウインドリバーとForbesが共同で作成した「Plotting Your intelligent Systems Journey」をダウンロードできます。

この調査は、インテリジェントシステムを構築・デプロイしている200以上の企業対象にしたものです。

>>  レポートをダウンロードする

レポートからわかること:

  • インテリジェントシステム導入の課題と推進要因について、同業他社がどのように考えているか
  • どのような要因がインテリジェントシステムの導入を加速させるか
  • 投資の優先順位付けに役立つ、各インテリジェントシステム特性の相対的重要性
  • 意思決定において5G、AI、ML、サイバーセキュリティがどのような役割を担っているか
  • ミッションクリティカルなインテリジェントシステムの成功のための重要な構成要素は何か
  • インテリジェントシステムの世界における組込み機器とソリューションの未来
  • デジタルフィードバックループが成功に不可欠な場所
  • 成功のための重要な指標は何か
  • より広い社会的課題への取り組みにおいて、インテリジェントシステムにおける広域な価値を同業他社がどのように見ているか

Tune ROS 2 for Commercial Use

play
CHOOSE-YOUR-OWN WEBINAR

   Tune ROS 2 for Commercial Use  

The technological success and growth of robotics can be attributed in part to the Robot Operating System — the ROS — which started as an academic tool and has now become a core component of the robotics software stack needed for production deployment.

Join Andrei Kholodnyi, Wind River technologist, to learn how the evolution from ROS to ROS 2 has further expanded opportunities for robotic applications in all market segments, including automotive, avionics, and medical devices.

Rob Woolley

   Sample Highlights   

 
 
 

ウインドリバー | 航空宇宙・防衛


 

航空宇宙・防衛関連企業がウインドリバーを採用

As Featured in Forbes

変化を加速させるか、それとも失うか:OODAエッジの獲得

私たちは、生産性や革新性を高めるために日々利用している最も重要な発明のいくつかについて軍に感謝する必要があります。そのうちの1つの潜在能力を実際に活用すれば、現在よりもはるかに大きな役割を果たすことができます。それはまた果たされるべきものです。

» Forbesの記事を読む 
Accelerate Change Or Lose: Gaining The OODA Edge

米国防衛のためのインテリジェントシステムマントラ:SpaceXに学ぶ

米国は世界最大の国防投資インフラストラクチャを有しています。民主主義を守るという歴史的、世界的な要求によって、複雑で、知的で、アジャイルな環境になっています。

» Forbesの記事を読む 
An Intelligent Systems Mantra For The Defense Of The US: Learn From SpaceX

未来のインテリジェントシステムの特性:成功を導くの12の特性

2030年には、米国経済の7兆ドルがマシンエコノミーに牽引されると言われています。その過程で、私たちはデータ主導型のソフトウェア企業になります。どのようにしてそこへ到達するか、そしてどのようにして成功させるかは、ビジネスの成功にむけて企業のリーダーたちが今考えるべきことです。

» Forbesの記事を読む 
Characteristics Of An Intelligent Systems Future

「機械はエクスペリエンスから学び、変化する状況に適応し、結果を予測するようになるだろう」2
deloitte

インテリジェントエッジの
エンジン

パーベイシブAIの中核となるRTOSベースのアプリケーションは「視覚、聴覚、その他のパターンを認識し反応できるAI搭載のスマートデバイスの普及によって」もたらされているのです。機械はさらに経験から学び、変化する状況に適応し、結果を予測するようになるでしょう」2

» 記事を読む 

2 “AI Is Not Just Getting Better; It’s Becoming More Pervasive,” Harvard Business Review, February 19, 2019

ウインドリバーのソリューション

ウインドリバーのテクノロジーは、360社以上の顧客の600件を超えるプロジェクトに採用され、100機種以上の民間航空機、軍用機で実績があります。長年にわたって要求の厳しい民間航空機、宇宙探査機、軍用機の安全かつセキュアで、信頼性の高いコンピューティングシステムの構築を支援しています。

VDC Badge
Wind River Studio

Wind River Studio

Wind River Studioは、インテリジェントエッジシステムの開発、デプロイ、運用、サービスを行う支援をします。変革的なビジネスの成功を加速するために、一元管理をすることにより、ライフサイクル全体にわたりデジタルスケールができるよう設計されています。

» Wind River Studioの詳細をみる
VxWorks

VxWorks

VxWorksは、アプリケーションのデプロイメントのために、コンテナをはじめ、C++17、Boost、POSIX、Rust、Pythonなどのコンテナによるアプリケーションのデプロイメントをサポートする世界初かつ唯一のリアルタイムOS(RTOS)です。COTS基準の適合や安全性の認証取得用ドキュメントによってDO-178C、ED-12C、ARINC 653、 POSIX®、 FACE™ などの厳しい業界規格を遵守しながら、調達コストや認証取得コストを削減します。

» VxWorksの詳細をみる
Wind River Linux

Wind River Linux

Wind River Linuxは、アクセス制御メカニズムや不正侵入検知・防御ツールなどのシステムレベルのセキュリティ強化機能と、導入済みデバイス向けの長期的なセキュリティアップデート戦略の組み合わせた、ミリタリグレードのLinuxです。検証、メンテナンス、サポートされたソースコードと、CVE監視を含む包括的なサービスにより、Wind River LinuxはISO 9001およびGPPをサポートするオペレーティングシステムセグメント(OSS)として FACE™ 技術標準に適合していることが認定されています。

» Wind River Linuxの詳細をみる
Wind River Helix Virtualization Platform

Wind River Helix Virtualization Platform

Wind River Helix Virtualization Platform(Helix Platform)は、業界をリードするVxWorks 653をベースに、マルチOSで重要度が異なるアプリケーションが混在する環境を、単一エッジのコンピューティングソフトウェアプラットフォームに統合します。これにより、航空宇宙・防衛システムの管理を容易にしてセキュリティを維持し、その未来を保証します。

» Wind River Helix Virtualization Platformの詳細をみる
Wind River Simics

Intel® Simics

デジタルツインを活用してサイバーテスト(ペンテストを含む)を仮想的に実行することができます。システムシミュレーションと自動化技術により、製品のライフサイクルを通じて開発を加速し、品質の向上を実現します。

Intel および Simics は、Intel Corporation またはその子会社の商標です。

» Intel Simicsの詳細をみる
Support for Industry Standards

業界標準への対応

ウインドリバーは、ARINC 653、FACE™, RTCA DO-178BおよびDO-178C、IEC 61508, POSIX®などの業界標準をサポートし、航空宇宙・防衛業界の厳しい要件に、テクノロジーサプライヤーがより容易かつコスト効率よく対応できるよう支援します。

» 業界標準規格の詳細はこちら

関連リソース

Resource

Web

ウインドリバーは、30年近くにわたり、最も実績のあるソフトウェアプラットフォームをNASAに提供してきました。多数のインテリジェントシステムを宇宙へ送り出し、史上最も重要な宇宙ミッションを実現しています。

Resource

ホワイトペーパー

次世代スマートアビオニクスプラットフォームの開発と実績についてご紹介します。

Resource

動画

ウインドリバー、ANSYS、CoreAVI、Curtiss-Wright、RTIの共同開発による、タッチスクリーン付きデジタルコックピットフライトディスプレイのデモをご覧ください。

Resource

ブログ

航空宇宙・防衛分野におけるインテリジェントシステムの最新情報をご紹介します。

日本語リソース

Purpose-Built Wind River Linux Distribution


Previously, Wind River Linux was only available in a source-based distribution builder (known as Wind River Linux) that allows embedded developers to build an entire Linux operating system from source for complete customizability. While powerful, that approach has a high learning curve and may not be best choice for development of all embedded solutions. In contrast, the Wind River Linux binary distribution (Wind River Linux Distro) can be used to create and customize your own Linux image in just a few minutes.

Return to Resource Center

Wind River Linux Tuitorial Distro - Japan



エッジは、AI/機械学習といったインテリジェントな機能をただ実行できるだけでなく、航空宇宙・防衛、産業機器、医療機器、自動車、通信といった品質に妥協が許されない分野への対応が求められています。また組込み製品の製品ライフサイクルは非常に長いことから、長期にわたってメンテナンスをし続けなければなりません。こうした課題を解決する製品が、商用組込みLinuxの「Wind River® Linux」です。

Wind River Linuxを使ってみよう!の第一回では、昨今の半導体不足により実機が手に入れにくい状況が続いておりますので、QEMUを使って実機なしでWind River Linuxを動かしてみる方法をご紹介します。ぜひご覧いただき、実際にWind River Linuxに触れてみてください。Wind River Linuxの詳細は下記の「Wind River Linuxが選ばれる理由」をご参照ください。



選べる2つの提供形態:Wind River LinuxとWind River Linux Distro

Wind River Linuxの提供形態には「Wind River Linux」と「Wind River Linux Distro」の2種類があります(下表)。下の図では橙色が「Wind River Linux」、赤色が「Wind River Linux Distro」の作業を示しています。

Wind River Linuxは、ソースコードベースのLinuxディストリビューションの作成環境を提供します(下図:橙①、②)。アプリケーションやミドルウェアのソースコードはもちろん、カーネルやデバイスドライバなどのソースコードも変更することができます(下図:橙③)。あらゆるカスタマイズにより、独自のハードウェアへの対応や、リソースを一切無駄なく使えるLinuxディストリビューションを作成可能な配布形態です。なお、Wind River Linuxは、ソースコードから開発するため、Linuxのビルド作業が発生します(下図:橙④)。ビルド後、作成されたLinuxディストリビューションをUSBストレージデバイスまたはmicro-SDカードに書き込み (下図:橙⑤)、ターゲットデバイス向けの組込みLinuxディストリビューションを準備できます(下図:橙⑥)。

一方、Wind River Linux Distroは、市場までの投入時間を短縮できる、ビルド済みのバイナリディストリビューションによる提供形態です。イメージをダウンロードし(下図:赤①)USBストレージデバイスまたはmicro-SDカードに書き込むだけで(下図:赤②)ターゲットデバイス向けの組込みLinuxディストリビューションを準備できます(下図:赤③)。なお、Wind River Linux Distroには豊富な機能を盛り込んだfull imageと、OSに必要最小限な機能のみを備えたminimal imageの2種類があります。お客様の製品に最適なリリースを選択することができます。

hypervisor

ターゲットデバイス上でLinuxを実行するまでの手順:Wind River Linux(橙)とWind River Linux Distro(赤)


また、Wind River Linuxには有償版と無償版があります。有償版の特長は、ウインドリバーの提供するサポート&メンテナンスサービスを利用できる点です。無償版にはウインドリバーによるサポート&メンテナンスサービスがありません。なお、新しいWind River Linux Distroの有償版でサポートされているBSP(ボードサポートパッケージ)についてはお問い合わせください。

hypervisor

本記事では無償版のWind River Linux Distroを使ったWind River Linuxの利用手順をご紹介します



Wind River LinuxとWind River Linux Distro、どちらを選ぶか?

Wind River Linuxの優れたカスタマイズ性と、Wind River Linux Distroの市場までの投入時間を短縮できるメリット、いずれも魅力的に感じると思います。そこで、お客様の製品開発に、どちらの製品が向いているかを以下に整理しました。どちらのWind River Linuxを選んだらよいか迷った際に、参考にしてください。

Wind River Linux を推奨するお客様 Wind River Linux Distroを推奨するお客様
  • フルカスタマイズされた独自のLinuxが欲しい
  • カーネルの構成を完全に制御したい
  • カーネルの変更をすべて追跡したい
  • 経験豊富なLinux開発チームがある
  • カスタマイズされたハードウェアを利用する
  • RAMやストレージのフットプリントを可能な限り小さくしたい
  • Linux本体には最小限の変更しか加えない
  • スピードとコストを重視する
  • Linuxを構築した経験がほとんどない
  • ソフトウェアをビルドすることなく評価ボードをすぐに利用したい
  • ラピッドプロトタイピングに利用したい
  • コンテナのベースイメージとして利用したい

まずは、無償版のWind River Linuxを評価にご利用ください。最初は無償版をご利用いただき、有償版へ移行することも可能です。ウインドリバーまでぜひご相談ください。



Wind River Linux Distroを使ってみよう!
ホストPCのみでWind River Linuxを実行する

それでは、ここからQEMUを使って実機なしでWind River Linuxを動かす方法をご紹介します。今回は、ビルド済みのバイナリディストリビューションを使って簡単にスタートできる、無償版のWind River Linux Distroを使ったWind River Linuxの利用手順をご紹介します。

QEMUを使って、ターゲットデバイス無しでOSを起動する

QEMUはホストPC上に仮想的なターゲットデバイスを作ることのできる開発ツールです。QEMUを使うことで、ターゲットデバイスなしにOSを評価したり、アプリケーションを開発することができます。ウインドリバーでは、Wind River Linux Distroのminimal image、full imageと併せて提供しているDevelopment SDKにQEMUを同梱しています。QEMUを利用することにより、Wind River Linux Distroを基盤とするアプリケーションの開発により早く着手することができ、市場までの投入時間を短縮できます。 QEMUにより、高価なターゲットデバイスを開発者の人数分購入するコストや、ハードウェアが製造されるまでの待ち時間は一切不要です。


QEMUのアーキテクチャ

QEMUがホストPC上に作成する仮想ターゲットデバイスのアーキテクチャを下図に示します。これはQEMUによりRaspberry Pi 4をエミュレートした例です。QEMUは仮想CPUアーキテクチャの種類やメインメモリのサイズといったコンピューティングデバイスの基本要素の設定に加えて、仮想SDカード、仮想UART(シリアルコンソール)、仮想モニター、仮想ネットワークデバイスなどを定義します。仮想SDカードには、通常のSDカードと同様にOSをインストールすることができます。また、仮想モニターを利用したGUIの表示や、仮想ネットワークデバイスを介したインターネット接続も可能です。加えて、仮想ターゲットデバイスが起動する際に利用するBIOSを選択することができます。Wind River Linux Distroでは、minimal imageとfull imageのそれぞれにQEMUのBIOSを同梱しています。Wind River Linux Distroを実行する際は、これらのBIOSを選択してください。

hypervisor

QEMUにより生成できるアーキテクチャの一例(仮想Raspberry Pi 4)



ホストPCのみでArm 64bit版Wind River Linuxを実行する

それではQEMUを使ってホストPCのみで、Raspberry Pi 4(CPU:Cortex-A57)向けのWind River Linux Distro を実行してみましょう。実行までの手順は以下の通りです。手順の詳細は動画をご覧ください。

  • 開発/実行環境の準備
  • バイナリイメージとSDKのダウンロード
  • SDKのインストール
  • バイナリイメージの展開
  • 仮想SDカードの作成とWind River Linux Distroのインストール
  • Wind River Linux Distroの起動と初期化
  • QEMUの起動パラメータの解説


hypervisor
動画:ビルド無し!バイナリ配布で簡単にはじめるYoctoベースの組込みLinuxディストリビューション
※動画は LTS21 となっておりますが、LTS22 も類似の手順で実行可能です。



開発/実行環境の準備

Wind River Linux Distroを実行するには、LinuxをインストールしたホストPCが必要です。推奨されるホストPCの要件は「Wind River Linux Release Notes:Host System Recommendations and Requirements」をご確認ください。また、「Necessary Linux Host System Libraries and Executables」に掲載されているパッケージも事前にインストールしてください。今回の動画ではホストPCにUbuntu Desktop 20.04(x86 64bit)を選択しています。



バイナリイメージとSDKのダウンロード

Wind River Linux Distroを入手するには、まず、WEBブラウザで「Wind River Linux Distro ダウンロード」へアクセスします。必須項目を入力した後、Linux Boardのリストからターゲットデバイスを選択します。今回は仮想的なRaspberry Pi 4をターゲットデバイスとするため「Raspberry Pi 4」を選択します。使用許諾契約を確認し、送信をクリックすると、指定したメールアドレスにバイナリイメージのダウンロードリンクが含まれたメールが届きます。

メールにはminimal imageとfull imageの両方のバイナリイメージのダウンロードリンクが含まれています。利用したいイメージのリンクをクリックし、バイナリイメージをダウンロードしてください。minimal imageを選択した場合はtarget-minimal-bcm-2xxx-rpi4.tar.bz2が、full imageを選択した場合はtarget-full-bcm-2xxx-rpi4.tar.bz2がローカルに保存されます。

加えて、仮想環境でイメージを起動できるQEMUやLinuxアプリケーションの開発環境(※)が含まれているDevelopment SDKもダウンロードしましょう。sdk-bcm-2xxx-rpi4.tar.bz2がローカルに保存されます。ダウンロードしたすべてのファイルはホストPCのホームディレクトリへ格納してください。

なお、メールには、Wind River Linux Distroに含まれるすべてのパッケージのソースコード(Source Code)やWind River Linux Distro Quick Start(日本語版)のダウンロードリンクも含まれています。

Why Wind River Linux

※詳細な利用方法については「Wind River Linux Distro Quick Start (日本語版)」をご参照ください。



SDKのインストール

ホームディレクトリに格納したsdk-bcm-2xxx-rpi4.tar.bz2を下記の手順で展開します。展開するとSDKのインストール用スクリプト"wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.sh"を入手できます。インストール用スクリプトを実行するために"chmod a+x"コマンドで実行権限を付与します。

以上でSDKをインストールする準備が整いましたので、インストール用スクリプトを実行します。はじめにインストール先のディレクトリを確認されます。他のユーザーに影響を与えないよう、自身のホームディレクトリ以下のディレクトリを選択するとよいでしょう。下記の例では"/home/USERNAME/wrlinux-sdk/22"を指定しています。その後、インストールが完了すると、SDKを使う前に必ず実行するコマンドが表示されます。下記の例では". /home/USERNAME/wrlinux-sdk/22/environment-setup-cortexa72-wrs-linux"となっています。SDKを利用するたびに実行するコマンドです。控えておきましょう。

ホストPC上での操作
                        
$ cd ~ 
$ tar jxvf sdk-bcm-2xxx-rpi4.tar.bz2 
$ cd sdk-bcm-2xxx-rpi4 
$ ls . 
appsdk.README.md
config_bcm-2xxx-rpi4
sdk.README.md
wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.host.manifest
wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.sh
wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.target.manifest
$ chmod a+x wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.sh
$ ./wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.sh
========================================================= 
Enter target directory for SDK 
(default: /opt/windriver/wrlinux-graphics/21.20): /home/USERNAME/wrlinux-sdk/22/ 
You are about to install the SDK to
"/home/USERNAME /wrlinux-sdk/22". Proceed [Y/n]? Y 
… 
Each time you wish to use the SDK in a new shell session, 
you need to source the environment setup script e.g. 
 $ . /home/USERNAME/wrlinux-sdk/22/environment-setup-cortexa72-wrs-linux 
$ 
                        
                    
ファイル名 用途
appsdk.README.md アプリケーション開発に関するREADMEファイルです。
sdk.README.md SDK全体に関するREADMEファイルです。
wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.sh SDKインストール用スクリプトです。
config_bspName SDKに対応するイメージファイル(minimal image / full image)に統合したパッケージ名とバージョン情報を含むテキストファイルです。
wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.target.manifest パッケージマニフェストとして、SDKに対応するイメージファイル(minimal image / full image)にインストールされたすべてのパッケージの情報を含むテキストファイルです。
wrlinux-graphics-10.22.33.7-glibc-x86_64-bcm_2xxx_rpi4-wrlinux-image-full-sdk.host.manifest パッケージマニフェストとして、SDKを作成する際に利用したホストPCのパッケージ情報を含むテキストファイルです。

  • bspName : bcm-2xxx-rpi4



バイナリイメージの展開

ダウンロードしたfull imageまたはminimal imageファイル(例:full imageの場合はtarget-full-bcm-2xxx-rpi4.tar.bz2)を、下記の手順で展開すると、tar.gz形式に圧縮されたWind River Linuix Distroのバイナリイメージを入手することができます。また、展開後のファイルにはイメージファイルに関する情報が記されたテキストファイルなども含まれています。以下はfull imageを展開した例となります。

ホストPC上での操作
                        
$ cd ~ 
$ tar jxvf target-full-bcm-2xxx-rpi4.tar.bz2 
$ cd target-full-bcm-2xxx-rpi4 
$ ls . 
config_bcm-2xxx-rpi4 
qemu-u-boot-bcm-2xxx-rpi4.bin 
sha256sum.txt 
target_bcm-2xxx-rpi4.README.md 
wrlinux-image-full-bcm-2xxx-rpi4.manifest 
wrlinux-image-full-bcm-2xxx-rpi4.ustart.img.bmap 
wrlinux-image-full-bcm-2xxx-rpi4.ustart.img.gz 
                        
                    
ファイル名 用途
target_bspName.README.md イメージのREADMEファイルです。
imageType.ustart.img.gz イメージをデバイスにインストールするためのバイナリイメージが圧縮されたファイルです。
imageType.ustart.img.bmap バイナリイメージの各領域にどのデータが格納されているかを記したXMLファイルです。
imageType.manifest パッケージマニフェストとして、バイナリイメージにインストールされたすべてのパッケージのリストを含んだテキストファイルです。
config_bspName イメージファイルを作成する際に利用したパッケージと、各パッケージのバージョン情報を含んだテキストファイルです。
qemu-u-boot-bspName.bin QEMU上でバイナリイメージを実行する際に使用する、コンパイル済みのバイナリ形式のBIOSファイルです。
sha256sum.txt バイナリイメージの完全性を確認するためのチェックサムファイルです。

  • imageType : wrlinux-image-full-bcm-2xxx-rpi4またはwrlinux-image-minimal-bcm-2xxx-rpi4
  • bspName : bcm-2xxx-rpi4


仮想SDカードの作成とWind River Linux Distroのインストール

QEMU用の仮想SDカードを作成し、仮想SDカードの中にWind River Linux Distroのバイナリイメージを書き込みます。


仮想SDカードの作成

QEMU用の仮想SDカード(仮想ストレージ)は "qemu-img create" コマンドで作成します。 コマンドのオプションには、ファイルの内容がそのままストレージ上のデータ列となる "raw" を選択し、 仮想ストレージを作成するパスとファイル名を指定し、ストレージのサイズを入力します。 以下の例では8GBの仮想SDカード "img" を作成しています。

ホストPC上での操作
                        
$ . /home/USERNAME/wrlinux-sdk/22/environment-setup-cortexa72-wrs-linux 
$ qemu-img create -f raw path_to_vsd/img 8G 
$ ls path_to_vsd/ 
img
                        
                    

  • path_to_vsd:仮想SDカードを格納するディレクトリへのパス

Why Wind River Linux


Wind River Linux Distroのインストール

次に "zcat" コマンドと "dd" コマンドを利用し、入手したWind River Linux Distroのバイナリイメージを仮想SDカードへ書き込みます。このとき "dd" コマンドには "conv=notrunc" オプションを付与してください。このオプションを指定しなかった場合、 仮想SDカードの容量がバイナリイメージのサイズに切り詰められてしまい、起動時にストレージ容量不足のエラーが発生します。

                        
$ ls path_to_vsd/ 
img 
$ ls path_to_img/ 
imageType.ustart.img.gz 
$ zcat path_to_img/imageType.ustart.img.gz | sudo dd of=path_to_vsd/img conv=notrunc 
                        
                    

  • path_to_vsd:仮想SDカードが含まれているディレクトリへのパス
  • path_to_img:wrlinux-image-*-bcm-2xxx-rpi4が含まれているディレクトリへのパス(~/ target-full-bcm-2xxx-rpi4 または ~/ target-minimal-bcm-2xxx-rpi4)
  • imageType : wrlinux-image-full-bcm-2xxx-rpi4またはwrlinux-image-minimal-bcm-2xxx-rpi4

Wind River Linux Distroの起動と初期化

仮想Raspberry Pi 4を作成するためのQEMUコマンド

それでは、いよいよホストPC上で Wind River Linux Distro LTS22 for Raspberry Pi 4(arm64) を実行してみましょう。実行するためのコマンドを以下に示します。非常に長いコマンドですが、それぞれのオプションの意味を下表で確認いただくと、理解しやすいと思います。コマンドを実行すると、仮想Raspberry Pi 4が起動します。

ホストPC上での操作
                        
$ . /home/USERNAME/wrlinux-sdk/22/environment-setup-cortexa72-wrs-linux 
$ qemu-system-aarch64 -machine virt -cpu cortex-a57 \
-device virtio-net-device,netdev=net0 -netdev user,id=net0 -m 512 \
 -bios path_to_img/qemu-u-boot-bcm-2xxx-rpi4.bin -device virtio-gpu-pci \
-serial stdio -device qemu-xhci -device usb-tablet -device usb-kbd \
-drive id=disk0,file= path_to_vsd/img,if=none,format=raw -device virtio-blk-device,drive=disk0 
                        
                    
Why Wind River Linux

設定値 概要
qemu-system-aarch64 Arm 64bitの仮想ターゲットデバイスを作成
-machine virt -cpu cortex-a57 仮想CPUの選択(Coretex-A57)
-device virtio-net-decremented=net0 -netdev user,id=net0 仮想ネットワークデバイスの設定
-m 512 仮想メモリの設定(512MB)
-bios path_to_img/qemu-u-boot-bcm-2xxx-rpi4.bin BIOSの指定
-device virtio-gpu-pci 仮想モニターの設定
-serial stdio 仮想UARTの設定
-device qemu-xhci
-device usb-tablet
-device usb-kbd
仮想キーボード&マウスの設定
-drive id=disk0,file= path_to_vsd/img,if=none,format=raw
-device virtio-blk-device,drive=disk0
仮想SDカードの設定

  • path_to_img:wrlinux-image-*-bcm-2xxx-rpi4が含まれているディレクトリへのパス(~/ target-full-bcm-2xxx-rpi4 または ~/ target-minimal-bcm-2xxx-rpi4)
  • path_to_vsd:仮想SDカードが含まれているディレクトリへのパス



起動と初期化

仮想Raspberry Pi 4が起動すると、仮想SDカード内のWind River Linux Distroがシステムの初期化を開始します。初期化完了後、Wind River Linux Distroが起動します。full imageの場合はGUIのログイン画面が、minimal imageの場合はCUIのログイン画面が表示されます(下図)。ユーザー名"root"でログインすると、最初に設定したいパスワードを聞かれますので入力します。以降は、通常のLinux同様に操作することができます。

hypervisor

Wind River Linuxのログイン画面(左:full image、右:minimal image)



Wind River Linuxにパッケージを追加して機能を拡充する

Wind River Linux Distroのfull imageはGUIを備えており、グラフィカルな組込み製品を簡単に開発することができます。一方、標準でCUIとなっているminimal imageも、追加パッケージをインストールすることによりGUIが利用可能です。ここではWind River Linuxにパッケージを追加して機能を拡充する手順をご紹介します。



パッケージを追加する

Wind River Linuxでは、OSTreeという機能によりシステムを構成するファイルシステムツリー全体が管理されています。デフォルト状態(インストール直後の状態)では、OSTreeがパッケージの追加や削除などの構成変更をロックしています。そのため、minimal imageにGUIをインストールするには、まずOSTreeの構成変更のロックを解除してから、パッケージを追加する必要があります。なお、OSTreeは常にシステムへの変更を記録しているため、システムをロールバックすることもできます(後述)。

なお、GUIのパッケージを追加する操作では、操作中に仮想モニターの表示モードが変更され、表示が失われます。そのため、仮想モニターを使ったインストール操作はできません。そのため、以降の作業は仮想UARTから実施してください(下図)。

hypervisor

GUIのパッケージは仮想UARTを使って追加します



GUIのパッケージを追加するには、インターネット接続が必要です。まず、"ifconfig" コマンドを利用してRaspberry Pi 4に割り当てられたIPアドレスを確認してください。ネットワーク上にDHCPサーバがない場合は手動でIPアドレスを設定します。

Wind River Linux上での操作
                        
# ifconfig
                        
                    

次に、OSTreeの構成変更ロックを解除します。解除には "ostree admin unlock" コマンドを使います。

Wind River Linux上での操作
                        
# ostree admin unlock –hotfix 
                        
                    

構成変更ロックの解除後、"dnf" コマンドでGUIの追加パッケージをインストールします。

Wind River Linux上での操作
                        
# dnf install -y packagegroup-xfce-base \
packagegroup-core-x11-base gsettings-desktop-schemas \
wr-themes kernel-module-*
                        
                    
パッケージ名 用途
packagegroup-xfce-base XFCEデスクトップ機能を追加する。
packagegroup-core-x11-base 描画機能の基盤であるX11を追加する。
gsettings-desktop-schemas デスクトップの様々なコンポーネントから共有される設定用のGSettings chemasのコレクションを追加する。
wr-themes Wind Riverのデスクトップテーマをインストールする。
kernel-module-* カーネルモジュールをインストールする。


パッケージのインストールが完了した後、"systemctl set-default" コマンドで、デフォルトの起動モードをGUIに設定し、"reboot" コマンドでシステムを再起動します。再起動後、GUIのログイン画面が表示されます

Wind River Linux上での操作
                        
# systemctl set-default graphical.target 
# sudo reboot 
                        
                    
Why Wind River Linux

再起動後、GUIを利用できます

パッケージ追加前の状態へとロールバックする

Wind River Linuxでは、OSTreeがシステムを構成するファイルシステムツリー全体を管理しているため、GUIパッケージの追加をロールバックすることができます。また、Wind River Linuxにはロールバック用のスクリプト "ostree_reset.sh" が同梱されています。今回はこのスクリプトを使います。なお、ロールバックに伴い、仮想モニターの表示モードがGUIよりCUIに変更されるため、以下の手順は仮想UART上で操作する必要があります。

システムのロールバック手順は、まず "ostree_reset.sh -n" を実行し、ロールバックにより、消去または更新されるパッケージ、実行ファイル、設定ファイルを確認します。これをドライランと呼びます。ドライランに含まれているファイルのうち、 ロールバックしたくないものがあればバックアップしましょう。最後に "ostree_reset.sh -F" でロールバックします。

Wind River Linux上での操作
                        
# systemctl set-default multi-user.target
# reboot
# ostree_reset.sh -n
#### 消去または更新されるパッケージ、実行ファイル、設定ファイルリストを表示 
# ostree_reset.sh -F
# reboot
                        
                    

以上が、Wind River Linux Distroを実行する手順となります。x86アーキテクチャでの確認やHello Worldサンプルアプリケーションの作成などWind River Linux Distroの各種動作手順は「Wind River Linux Distro Quick Start (日本語版)」に記載しておりますので、ぜひダウンロードしてください。

今回は、Wind River Linux Distroを使う手順をご紹介しました。 次回の記事では、ソースコードベースのビルドシステムを含む、Wind River Linuxを実行する手順についてご紹介します。

リソース

Previous Next

ウインドリバー | ブログ

Wind River Blog
ウインドリバーとインテリジェントエッジの
最新情報をお届けします