11 Ways Wind River Does OpenRAN Better | Wind River
Open RAN and VRAN
Work Better with Wind River
Here are 11 reasons why the largest global carriers deploy with Wind River.
The Things We Do Better
Wind River Linux Tutorial - Japan
Wind River Linuxを使ってみよう!
ソースコードでゼロからビルドする
Yoctoベースの組込みLinuxディストリビューション
ソースコードでゼロからビルドする
Yoctoベースの組込みLinuxディストリビューション
Wind River Linuxは、細部までチューニングすることのできるソースコードによる配布形態の組込みシステム向けLinux製品です。本記事では、ソースコードからLinuxディストリビューションを作成できるWind River Linuxのビルドシステムについて解説し、自作Linuxディストリビューションをビルドして実行するために必要な開発環境の構築から、ビルド、カスタマイズしGUIを備えたLinuxディストリビューションを作成するまでの手順をご紹介します。
≫ この記事を読む
Wind River Linuxを使ってみよう!
はじめてのクロスプラットフォーム開発、
組込みLinuxアプリケーションを作ってみよう
はじめてのクロスプラットフォーム開発、
組込みLinuxアプリケーションを作ってみよう
組込みLinux上で動作するソフトウェアは、クロスプラットフォーム開発(クロス開発)という手法で開発されます。本記事では、組込み製品をセルフプラットフォーム開発することの難しさと、クロス開発の概要、クロス開発に欠かせないQEMUについて解説します。記事後半では、実際にWind River Linux向けのLinuxアプリケーションの開発手順をデモを交えてご紹介します。
≫ この記事を読む
Wind River Linuxを使ってみよう!
はじめて学ぶDocker
コンテナのメリットと活用方法をマスターする
はじめて学ぶDocker
コンテナのメリットと活用方法をマスターする
エンタープライズ由来のDockerですが、組込み製品の開発に採用することにより、別々のシステムで動作していた複数のサービスをアプリケーション実行環境ごとひとつの組込みシステム上に統合し、高付加価値の組込みシステムを構築することができます。本記事では、Wind River Linuxが標準でサポートしているDockerの特徴と魅力について触れ、組込みシステムにおける活用例をご紹介します。
≫ この記事を読む
Wind River Linuxを使ってみよう!
エッジAI ~ Tensorflowで画像認識を体験
エッジAI ~ Tensorflowで画像認識を体験
最新のWind River Linuxではエッジコンピューティング機能としてAI/機械学習(ML)に対応しており、Google TensorFlowとIntel OpenVinoをサポートしています。本記事ではエッジAI(組込みAI)の特徴と魅力について触れた後、Wind River LinuxによりTensorflowを備えたLinuxディストリビューションをビルドする方法を解説し、画像認識AIを実行する様子をご紹介します。
≫ この記事を読む
Wind River Linuxを使ってみよう!
組込みLinuxの起動シーケンスを理解する
組込みLinuxの起動シーケンスを理解する
Linuxについての理解を深める近道は、Linux上で動作するすべてのサービスが初期化される「起動シーケンス(ブートシーケンス)」を把握することです。本記事では、Wind River Linuxを題材に、Linuxを構成するコンポーネントを解説し、次に起動シーケンスをロギングする方法を説明し、主要なサービスにはどのようなものがあるか、最適なLinuxディストリビューションを作成する上で不要なサービスはどれかについて解説いたします。
≫ この記事を読む
本セミナーでは、商用組込みLinuxマーケットシェアNo.1※!の業界最先端の商用組込みLinux開発プラットフォーム「Wind River Linux」の特徴と最新機能をご紹介するほか、OSSを使用した組込みLinux製品の開発、導入、運用における問題点と解決策を考えていきます。
※出典:VDC Research The Global Market for IoT & Embedded Operating Systems (2023)
≫ ウェビナーを視聴する
Wind River Linux | Basic | 基礎からわかるWind River Linux
基礎からわかるWind River Linux
組込みLinuxについて理解しよう
組込みLinuxについて理解しよう
近年、組込みシステムの構築にLinuxを利用するケースが増えています。ここでは、組込みLinuxの基礎と、組込みLinuxを使うことのメリットを解説し、商用組込みLinuxシェアNo.1であるWind River Linuxが選ばれている理由をご紹介します。
≫ この記事を読む
基礎からわかるWind River Linux
Yocto Projectについて理解しよう
Yocto Projectについて理解しよう
Wind River Linuxには、Linuxディストリビューションを作成するフレームワークであるYocto Projectが統合されています。ここでは、Yocto Projectの特徴をはじめ、関連するオープンソースプロジェクトについてや、一般的なLinuxディストリビューションとの違いを説明します。後半では、Wind River Linuxのメリットや採用事例を紹介します。
≫ この記事を読む
基礎からわかるWind River Linux
商用組込みLinux製品のメリットとは
商用組込みLinux製品のメリットとは
Linuxには、無償で配布されているLinuxディストリビューションと、有償の商用組込みLinux製品があります。本記事ではそれぞれのメリット・デメリットを整理し、商用組込みLinuxによって解決できる課題についてご紹介します。
≫ この記事を読む
基礎からわかるWind River Linux
組込みLinuxでよくある課題を解決しよう
組込みLinuxでよくある課題を解決しよう
組込みLinuxの開発でよく挙がる課題に対して、ウインドリバーは商用組込みLinuxのWind River Linuxのほか、プロフェッショナルサービスによる組込みLinuxの開発・導入支援サービスを提供しています。
≫ この記事を読む
Wind River Studio Linux Services
マネージドサービスを活用し
効率的に信頼性と品質の高いシステムを実現する
マネージドサービスを活用し
効率的に信頼性と品質の高いシステムを実現する
Wind River Studio Linux Servicesはウインドリバーが40年以上にわたり組込みソフトウェア業界のリーダーとして得た知見とノウハウに基づいた組込みLinuxプラットフォームソリューションの設計、実装、セキュリティ対策、ライフサイクル管理を提供するサービスです。
≫ この記事を読む
本セミナーでは、高い性能とセキュリティが要求されるインテリジェント・エッジソリューション。それを実現する業界最先端の組込みLinuxプラットフォーム「Wind River Linux」の特徴と最新機能をご紹介します。
≫ ウェビナーを視聴する
Demo: Operational Scale for Far Edge Cloud
Use cloud strategy orchestration to patch a thousand sub-clouds with a single click. See how automated patching keeps your sub-clouds in sync.
Wind River Linux Linux Assembly Tools(LAT) - japan
柔軟なカスタマイズを実現するLAT
バイナリディストリビューションであるWind River Linux Distroは、ダウンロードしてUSBストレージまたはmicro SDカードへ書き込むだけで使える便利な提供形態です。一方で、組込みLinuxシステムでは、Linuxディストリビューション全体の再構成とはいかないまでも、特定のパッケージを利用したい、特定のソフトウェア構成を導入したい、といった要望もあるかと思います。これらの要望を叶えるWind River Linuxで提供されているツールが「Linux Assembly Tools(LAT)」です。LATを利用することにより、Linuxディストリビュージョンへ追加するRPMパッケージの作成をはじめ、RPMパッケージを統合したイメージの作成や、ソフトウェア開発に利用できるSDKの作成が可能となります。
これにより、組込みシステムのハードウェアリソースを効率的に活用できる小フットプリントのバイナリイメージの作成はもちろん、LATのコンテナイメージ作成機能を使うことにより、複数のコンテナが混在する環境において、各コンテナが必要最低限のリソースのみを消費しサービスを提供できる、高効率なクラウドネイティブアーキテクチャのシステムを実現することができます。
Linux Assembly Tools(LAT)の詳細な利用方法
「WIND RIVER LINUX DISTRO DEVELOPER'S GUIDE, LTS 22(日本語版)」

Linux Assembly Tools(LAT)の特徴
Linux Assembly Toolは、パッケージのビルド、パッケージサーバー構築とパッケージの公開など、簡単にカスタムパッケージのビルド、公開までを支援するツールです。さらに、yaml を使用して、パッケージの追加/削除、設定ファイル記述など様々なニーズに合わせてイメージをカスタマイズすることができます。Wind River Linux Distro の Development SDK には Linux Assembly Tool が同梱されています。Wind River Linux Distroの入手方法は「ビルド無し!バイナリ配布で簡単にはじめるYoctoベースの組込みLinuxディストリビューション」をご参照ください。Wind River Linux DistroのDevelopment SDKをインストールすると"appsdk"というコマンドを介してLATを利用できます。LATは下記の機能を提供します。
機能名 | 概要 |
---|---|
appsdk gensdk | Development SDKを作成 |
appsdk checksdk | 作成されたDevelopment SDKをチェック |
appsdk genrpm | RPMパッケージを作成 |
appsdk publishrpm | RPMパッケージをパッケージサーバーで公開 |
appsdk genimage | バイナリイメージを作成 |
appsdk geninitramfs | initramfsを作成 |
appsdk gencontainer | コンテナイメージを作成 |
appsdk genyaml | バイナリイメージに対応するyamlファイルを作成 |
appsdk exampleyamls | yamlファイルのサンプルを作成 |
LATの大きなメリットは、わずかな設定ファイルでLinuxディストリビュージョンを再構成できる、という点です。ソースコードベースのWind River Linuxもlocal/conf.conf等で設定が可能でしたが(詳細は「ソースコードでゼロからビルドする、Yoctoベースの組込みLinuxディストリビューション」をご参照ください)、LATではyaml形式のファイルにインストールしたい機能や、インストール作業の手順の一部を列挙するだけで、Linuxディストリビュージョンや、それにインストールするRPMパッケージなどを作成することができます。すべての作業をyaml形式の設定ファイルのみで済ませることができるため、習得工数もほとんど要りません。

LATの使い方
LATは前述した機能の実行時に、その機能により作成する成果物の構成を決めるyamlファイルを指定することにより、期待するパッケージやイメージを作成することができます。LATは段階的に利用します。まずLATを利用してRPMパッケージを作成し、次にLATを利用して作成されたRPMパッケージを含んだイメージを作成します。Initramfsのみの作成や、コンテナイメージの作成もLATにより可能です。LATのドキュメントには、繰り返しLATコマンドが登場しますが、これはそれぞれのLATの機能を段階的に呼び出して、実行しているという意味です。LATを使った開発をする際は、今の作業が開発全体のどの部分に当たるのかを把握することが重要です。

examplesyaml
LATを実行する際に指定するyamlファイルを書いたことが無いエンジニアも多くいると思います。そうした場合に便利な機能が、appsdkツールのexamplesyaml作成機能です。examplesyaml機能を利用すると、カレントディレクトリに"examplesyaml"フォルダを作成し、参考となるyamlファイルを作成してくれます。examplesyaml機能によって作成できるyamlサンプルは下記のとおりです。例えば、appsdkでイメージを作成する際に"core-image-minimal-bcm-2xxx-rpi4.yaml"と"feature/package_management.yaml"を指定することにより、パッケージ管理機能であるdnfを内蔵したminimalイメージを作成することができます。

作成されるyamlサンプル | 概要 |
---|---|
container-base-bcm-2xxx-rpi4.yaml | コンテナイメージを作成するためのyaml |
core-image-minimal-bcm-2xxx-rpi4.yaml | minimal imageを作成するためのyaml |
core-image-sato-bcm-2xxx-rpi4.yaml | full imageを作成するためのyaml |
initramfs-ostree-image-bcm-2xxx-rpi4.yaml | initramfsを作成するためのyaml |
wrlinux-image-small-bcm-2xxx-rpi4.yaml | 最小構成のバイナリイメージを作成するためのyaml |
feature/debug-tweaks.yaml | デバッグ機能を使うためのfeature |
feature/install-over-wifi-eap.yaml feature/install-over-wifi-psk.yaml feature/set-wifi-eap.yaml feature/set-wifi-psk.yaml |
WiFi機能を使うためのfeature |
feature/package_management.yaml | パッケージ管理機能(dnf)を使うためのfeature |
feature/set_root_password.yaml | 初期起動時にrootパスワード変更を求めるfeature |
feature/xfce_desktop.yaml | XFCEデスクトップを使うためのfeature |
minimal imageとfull imageに対応するバイナリイメージを作成し、実行する
LATと、LATにより作成できるyamlファイルのテンプレートを利用することにより、Wind River Linux Distroのminimal imageとfull imageに対応するバイナリイメージを作成することができます。バイナリイメージの拡張方法は、本稿の最後で紹介いたします。
Linux Assembly Tools(LAT)の詳細な利用方法
「WIND RIVER LINUX DISTRO DEVELOPER'S GUIDE, LTS 22(日本語版)」

動画:簡単にカスタマイズ/パッケージ管理もできるLinux Assembly Tools(LAT)
※動画は LTS21 となっておりますが、LTS22 も類似の手順で実行可能です。

Yamlファイルの準備
バイナリイメージを作成する作業では、まず、yamlファイルのテンプレートを作成し、appsdk genimageコマンドを使ってイメージを作成します。
$ appsdk exampleyamls
# minimal imageの場合(dnfを追加する)
$ appsdk genimage exampleyamls/core-image-minimal-bcm-2xxx-rpi4.yaml
exampleyamls/feature/package_management.yaml
# full imageの場合
$ appsdk genimage exampleyamls/core-image-sato-bcm-2xxx-rpi4.yaml
上記のコマンドを実行すると、バイナリイメージへ統合するRPMパッケージが自動的に収集され、OSTreeへと登録され、minimal imageとfull imageが完成します。作成するファイルはminimal imageの場合は"core-image-minimal-bcm-2xxx-rpi4.yaml"、full imageの場合は"core-image-sato-bcm-2xxx-rpi4.yaml"です。
作成したイメージをQEMUで実行する手順は下記のとおりです。本手順はminimal imageのものとなっておりますが、full imageの場合もバイナリイメージのパスを変更するだけで実行することができます。
パッケージサーバーを構築して、サーバーからインストールする
LATでRPMを作成する方法は「Using the Linux Assembly Tool to Add a Source Package」を参照してください。システムへ組込みたいソースコードを準備し、Development SDKを使ってクロスコンパイルします。クロスコンパイルの詳細については「はじめてのクロスプラットフォーム開発~組込みLinuxアプリケーションを作ってみよう」をご参照ださい。
Linux Assembly Tools(LAT)の詳細な利用方法
「WIND RIVER LINUX DISTRO DEVELOPER'S GUIDE, LTS 22(日本語版)」

パッケージへ格納するファイル・ディレクトリ構成を準備する
まず、ソースコードをクロスコンパイルした結果を、サブディレクトリへインストールします。
$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz
$ tar xzvf hello-2.10.tar.gz
$ cd hello-2.10
$ ./configure $CONFIGURE_FLAGS
$ make
$ make DESTDIR=/path-to/install-hello install
パッケージを作成する
そしてインストールされたディレクトリ構成を基にRPMパッケージを作成します。作成に必要なyamlファイルは以下の通りです(hello.yaml)
$ vi hello.yaml
name: hello
version: '2.10'
release: r0
summary: Hello World Program From Gnu
license: GPLv3
description: |
A simple hello world program that only does one thing.
It's from GNU.
# dirs:
# - /usr
# - /usr/local
# - /usr/local/bin
files:
- /usr/local/bin/hello
post_install: |
#!/bin/sh
echo "This is the post install script of hello program"
echo "It only prints some message."
最後にappsdk genrpmコマンドを利用して、RPMパッケージを作成します。RPMパッケージはコマンドを実行したディレクトリにdeploy/rpmとして作成されます。
$ appsdk genrpm -f hello.yaml -i /path-to/install-hello
LATを利用してパッケージサーバーにRPMを公開する
なお、LATにはパッケージサーバーを起動してRPMをHTTPで配信する機能もあります。これを利用することにより、パッケージサーバーからRPMパッケージを入手してインストールできるdnfコマンドを使って、作成したRPMパッケージを簡単にシステムへ統合することができます。
$ mkdir -p /path-to/http_service_data/third_party_repo
$ python3 -m http.server 8888 --directory /path-to/http_service_data &
$ appsdk publishrpm -r /path-to/http_service_data/third_party_repo deploy/rpms/cortexa72/hello-2.10-r0.cortexa72.rpm
パッケージサーバーからRPMをターゲットへインストールする
それでは最後に、パッケージサーバーより配信されているRPMをdnfコマンドでターゲットへインストールしてみましょう。まず、dnfコマンドが参照するパッケージサーバーを追加するため、ターゲットデバイス上に"/etc/yum.repos.d/test.repo"を作成し、以下の内容を記述します。
# vi /etc/yum.repos.d/test.repo
[appsdk-test-repo]
name=appsdk test repo
baseurl=http://host-IP-address:8888/third_party_repo/
gpgcheck=0
以上で準備が整いましたので、パッケージをインストールし、プログラムを実行します。
# ostree admin unlock --hotfix
# dnf update
# dnf install hello -y
# hello
Hello, world
LATで作成したRPMを含むバイナリイメージを作成する
LATで作成したRPMを含むバイナリイメージの作成は、非常に簡単です。LATでバイナリイメージの作成する際に利用したyamlファイルに、まず、パッケージサーバーを追記し、external-packagesにインストールしたいパッケージ名を追記します。
Linux Assembly Tools(LAT)の詳細な利用方法
「WIND RIVER LINUX DISTRO DEVELOPER'S GUIDE, LTS 22(日本語版)」

追記後、appsdk genimageコマンドによりイメージを作成します。作成後のバイナリイメージをQEMUで実行する方法は、通常のバイナリイメージを実行する方法と同じです。起動後、helloコマンドが追加されており、実行することができます。
machine: bcm-2xxx-rpi4
image_type:
- ostree-repo
- ustart
package_feeds:
- https://distro.windriver.com/dist/wrlinux/lts-21/bcm-2xxx-rpi4/repos/rpm/bcm_2xxx_rpi4
- https://distro.windriver.com/dist/wrlinux/lts-21/bcm-2xxx-rpi4/repos/rpm/cortexa72
- https://distro.windriver.com/dist/wrlinux/lts-21/bcm-2xxx-rpi4/repos/rpm/noarch
- http://host-IP-address:8888/third_party_repo
package_type: rpm
…
packages:
- alsa-utils
- ca-certificates
- crda
…
external-packages:
- hello
$ appsdk genimage image-with-hello.yaml
$ appsdk gensdk -f image-with-hello.yaml
組込みシステムでは様々の用途に対応が必要となりますが、LAT は yaml サンプルも活用でき、簡単にカスタマイズイメージを作成できる有用なツールです。ぜひご活用ください
次回はクラウドネイティブ機能を活用できる、コンテナ基盤、Dockerについて解説いたします。さらに LAT でカスタムコンテナイメージをデプロイまで挑戦してみようと思います!
Mitigating Cyber Exposure with Threat Modeling
CHOOSE-YOUR-OWN WEBINAR
Mitigating Cyber Exposure
with Threat Modeling
Companies that successfully navigate cyberthreats are twice as successful as others in their segments (Forbes Intelligent Systems Research, May 2021). They architect secure intelligent systems starting well before the first line of code is written.
Listen to Wind River® Principal Technologist Barbara Cosgriff explain how threat modeling helps you visualize risk, see patterns, and understand change within intelligent connected systems. View the entire session above, or pick and choose the sections you’re most interested in below.

Sample Highlights
Wind River Mentoring Services
Wind River Mentoring is assistance and coaching delivered by industry-experienced engineers to help you integrate Wind River solutions into your environment.