今回の初心者講座では、商用組み込みLinuxシェアNo.1のWind River Linuxによる「Linuxディストリビューションの開発手順」を紹介いたします。Wind River Linuxは固定的なパッケージ型の製品ではなく、自由自在に新しいLinuxディストリビューションを設計できる、革新的な製品です。
本記事前半では、Wind River LinuxのベースとなっているYocto Projectの概略と、Wind River Linuxの提供する「商用Linux製品ならではの付加価値」を解説いたします。本記事後半では「Wind River Linuxの無償版を実際にダウンロードし、Raspberry Pi 4 Model B ※1 上で実行できるLinuxディストリビューションの開発手順」を動画にて紹介いたします。
※1:Raspberry Pi 4 Model B リビジョン1.4以降の機材では firmware等の変更も必要となります。Wind River Linuxは次期パッチリリースにてこれらの機材へ正式対応する予定です( Raspberry Piのリビジョン情報)。
8本すべて無料!組み込みLinuxウェビナー
組み込みLinuxの基礎知識から、Docker/コンテナ技術の開発方法、さらには起動シーケンスを理解し、実際のLinuxアプリ開発も学べる。開発デモはRaspberry Pi 4を使用しているので、受講後すぐにお試しいただくことで可能です。
視聴申込はこちらから
目次
Yocto Project と 組み込みLinux
Yocto≠Linuxディストリビューション?
CentOS、Ubuntu、Debianのディストリビュータやコミュニティは、Linuxカーネルを中心にアプリケーションやライブラリ、デバイスドライバ等を統合した「固定化されたLinuxディストリビューション」を提供しています。これらは汎用計算機であるサーバーやワークステーション等にインストールされ、様々なワークロード(アプリケーション)を実行します。
これに対して、Yocto Project(以下:Yocto)は「Linuxディストリビューションをつくるフレームワーク」を提供しています。つまり、Yocto≠Linuxディストリビューションです。Yoctoが提供するフレームワークは、世界中に散らばる無数の機能(コンポーネント)を定義するレシピ『Recipe』と、レシピを層状にまとめたレイヤー『Layers』、コンフィグレーションファイル(*.conf)の組み合わせにより、誰もが新しいLinuxディストリビューションを設計することができます。つまり、組み込みシステムに欠かすことのできない、自社製品に最適化されたな組み込みLinuxディストリビューションを入手できるのです。
こうした特長により、Yoctoは様々な組み込み製品開発に活用可能です。車のダッシュボードや医療機器、産業機器の操作パネルに利用されるリッチでグラフィカルなインタフェースの追加はもとより、限られたハードウェアリソースを無駄なく使うために不可欠な、低フットプリント化も追求することができます。
さらにYoctoは、ソースコードを収集するコードジェネレータだけでなく、Open Embeddedプロジェクト等の提供する各種ビルドツール(bitbakeなど)もフレームワークに統合。組み込みLinuxディストリビューションの定義、生成、ビルド、デプロイ(展開・再配布・実行)まで、製品リリースに至るすべての工程に対応します(クロスプラットフォーム開発にも対応※2)。
※2:クロスプラットフォーム開発については第3回にて紹介いたします。
あわせて読みたい
Yoctoの特長
はじめにWind River LinuxのベースとなっているYoctoの特長を紹介します。
GitHubから無償で簡単に入手できる
Yoctoプロジェクトが提供する「Linuxディストリビューションをつくるフレームワーク」はGitHubにて公開されており無償で入手することができます(下記)。ソースコード、ビルド済ツール、それらの操作方法が書かれたドキュメントなども含まれています。実行するターゲットと、開発用PC1台があれば、すぐにでも自社製品専用のLinuxディストリビューションの試作に着手可能です。
Source Repositories|Yocto Project
最新の技術が次々に取り込まれるオープンコミュニティが支えている
オープンソースコミュニティの大きな魅力は、世界中で開発されたソフトウェア資産が、脈々と統合(マージ)され続けることです。組み込みシステムの高度化に伴い、仮想化や高信頼化といった先進的な技術が求められていますが、オープンソースコミュニティを活用することにより、これらの機能を完成したソースコードとして入手し、効率的に組み込みシステムを開発することができます。
組み込みLinux入門に最適な1冊
「市場投入までの期間の短縮」「サポートとメンテナンスコストの削減」「コンプライアンス問題への対応」「クラウドネイティブアーキテクチャとコンテナ技術」など、気になるTopicsを網羅したeBookが無料でダウンロードできます。是非ご覧ください。 無料のeBookをダウンロード
様々なリファレンスボード向けのBSPが提供されている
Yoctoは、世界で数多く利用されているSoCや評価ボードに対応したBSP(Board-Support-Package: 第1回参照)を提供しています。そのため、様々なアーキテクチャを代表する、入手性に優れたデバイス上ですぐにYoctoによるLinuxディストリビューション開発を始めることができます。
Yocto Projectのコミュニティがあり、ユーザー間のQ&Aも活発
Yoctoはオープンコミュニティが支えています。抱えている課題を質問し、世界中のエンジニアから有益なアドバイスを得ることができます。また、近年は組み込みLinuxの活用が活発化しており、Yoctoは最新技術を取り込み日々進化し続けています。自社の開発リソースで手が回らない範囲であっても、世界中にある知見を収集し理解を深め、製品へと活用できるオープンコミュニティの支援は製品開発の大きな手助けになるでしょう。
Yoctoベースの組み込みLinux「Wind River Linux」の特長
続いて、Yoctoをベースとした「Wind River Linux」の特長を紹介します。Yoctoと同様に、ゼロからLinuxディストリビューションを設計し、自社の組み込みシステムにフィットしたLinuxディストリビューションを生成できる、商用の組み込みLinux製品です。Yoctoの提供するメリットはそのままに、実際の組み込み分野のビジネス展開に不可欠な、高度な設計から、試作、量産、出荷後の運用/保守といったライフサイクルに関する課題にも対応可能です(図1)。
IoT機器に欠かせないデプロイや自動リビジョン管理などが利用できる
IoTサービスを形づくる組み込みシステムには、出荷前の開発だけでなく、出荷後、さらに製品価値を高める追加機能の配布や、製品出荷後に発見されたセキュリティホールへの対策パッチの提供が強く求められています。しかし、こうしたアップデートの組み合わせは非常に煩雑で、開発者がひとつひとつリビジョンを管理することは困難を極めます。Wind River Linuxは、Linuxディストリビューションを生成するだけでなく、デプロイ機能や自動リビジョン管理機能を提供するツールを備えており、IoTサービスを構成する各ノードに最適な更新パッチの生成/管理/適応が可能です。
コミュニティのサポート以上に、商用に耐えうる高信頼性のサポートを得られる
Yoctoでは、Linuxディストリビューションの開発に行き詰まった際、オープンコミュニティへ質問することができます。しかし、オープンコミュニティへの質問は、必ず回答される保証がなく、回答内容が正答である保証もありません。回答により問題は消滅したものの、それは一時的に現象を封じ込めているだけのワークアラウンド的な対策方法であり、ロングライフな組み込みシステムには適応できない場合もあるでしょう。PoCやトレーニングに最適な無償版Wind River Linuxもありますが、有償版のWind River Linuxを採用することにより、開発者はウインドリバー社へ直接質問することができるため、リリースが差し迫った時期の迅速な対応や、対策の妥当性、評価方法の確認など、商用に不可欠かつ高度なサポートを受けることができます。商用Linux製品ならではの、細やかなサポートサービスは製品開発をスムーズに進めるための鍵となるでしょう。
新規BSPの実装やテストの委託といった最新製品向けの支援が受けられる
組み込みシステムの高度化に伴い、近年の新製品の開発現場では、既存の評価ボードやSoCを再利用せず、製品要件にあわせてソフトウェアだけでなくハードウェアもゼロから設計/選定する動きが加速しています。そのためLinuxディストリビューションは、常に最新のSoCやボードに対応したBSPが必要となります。BSPをゼロから開発する場合、BSPにはLinuxカーネル、ソフトウェア、ハードウェアすべての知識が求められるため、開発リソースの確保は難しく、さらに不具合が無いかを正しく検証するにはどうすべきかといった非常に困難な課題が数多く潜んでいます。しかし、Wind River Linuxを使うことにより「BSPの開発と評価」をウインドリバー社へ委託し、BSPに関する課題をまるごと解決することができます。ウインドリバー社が長年蓄えたBSPの設計技術やテスト技法を集約した高品質なBSPを、自社の開発リソースを割くことなく入手可能です。
Wind River Linuxについての、さらに詳しい情報
Wind River LinuxでLinuxディストリビューションを作成し、Raspberry Pi上で実行する
Wind River Linux開発フロー
Wind River Linuxの開発フローを図2に示します。それぞれの手順を箇条書きにて紹介します。Wind River Linuxの特長である「Linuxディストリビューションの開発」における重要なポイントは図中①〜④です。
※最新のWind River Linuxでは、バイナリーディストリビューションが提供されるようになりました。
それにより、①~④のWind River Linuxをビルドする作業が不要になり、指定したハードウェアに対するビルド済みのバイナリコードをダウンロードして、Wind River Linuxイメージを直接開発ターゲットへインストールする作業から始められます。詳細は、以下サイトをご覧ください。
https://www.windriver.com/japan/product/linux/binary
- 開発用PCをセットアップする
- 開発に必要なパッケージをインストールする
- 開発ターゲットの起動に必要な準備をする
※Raspberry Piの場合はmicroSDカードの準備をする - ① Wind River Linuxを入手する
- ② setup.sh を実行し開発ターゲット向けのBSPを入手する
- ③ setup.sh によりLinuxディストリビューションの設定ファイルが自動生成される
※目標とするLinuxディストリビューションに近い設定ファイルをすぐ入手できる
※bblayer.conf、local.confなどが生成され、設定ファイルをゼロから書く手間が不要 - ④ 設定ファイルの内容を調整し、ビルドする
※今回はxfceを使ったGUIを備えたLinuxディストリビューションを選択しビルド - ⑤ ビルド結果を開発ターゲットへインストールする
※Raspberry Piの場合はmicroSDカードへ書き込む - 開発ターゲットを起動する
Raspberry Pi 4 Model B で組み込みLinuxディストリビューション開発
無償版のWind River Linuxは、Raspberry Pi 4 Model Bに対応したBSPを提供しています。これにより、組み込みLinuxディストリビューションの開発と実行を無料で体験することができます。Raspberry Pi 4 Model Bは、Quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5 GHzを内蔵したSoC「BCM2711」を核とする、パワフルで入手性に優れたデバイスです(図3)。Wind River LinuxとRaspberry Pi 4を組み合わせ、はじめてのLinuxディストリビューション開発を体得していきましょう。
必要な機材
- Raspberry Pi 4 Model B+ メモリ 4GB
- microSDカード 16GB
- microSDカードリーダ
- USB-C給電ケーブル
- 有線LANケーブル
- USBマウス
- USBキーボード
- microHDMI to HDMI変換ケーブル
- HDMIケーブル
- HDMI対応ディスプレイ
開発用PCの準備
ホストOSのセットアップ
まず、開発用のPC※3に「CentOS 7(x86_64)」をセットアップします。CentOS 7は、Wind River Linuxの開発に対応したホストOSのひとつです(Host System Recommendations and Requirements|Wind River Linux Release Notes, LTS 19 RCPL 9)。Windows PCにて『CentOS-7-x86_64-DVD-2003.iso』をダウンロードし「balenaEtcher」を使ってセットアップ用のUSBインストールメディアを作成します。次に、作成したUSBメモリを開発用PCに挿入しCentOS 7をセットアップします。
※3:今回は Intel Core-i5 6400 (第6世代)、メモリ 16GB、HDD 1TBのPCを利用しています。
必要なパッケージをインストールする
CentOSをセットアップした後、Wind River Linuxの開発に必要なパッケージ「Necessary Linux Host System Libraries and Executables|Wind River Linux Release Notes, LTS 19 RCPL 9」を『Red Hat and Fedora, For yum-based installations』の手順に従ってインストールします。
Raspberry Pi 4起動用のmicro SDカードを作成する
続いて、Raspberry Pi 4起動用のmicroSDカードを作成します。起動用プログラム(ブートローダ)はBroadcom社が管理しているため、Raspberry Pi用Debian「Raspbian Lite」を入手し、以下の手順でmicroSDカードにブートローダを書き込みます(図4)。なお、コマンド中の「/dev/sdX
」はお手元の環境にあわせて適切な名前を指定してください。なお、ホスト環境に依存してmicroSDを示すデバイス名(/dex/sdX
)が異なるため「df -h
」コマンドまたは「sudo fdisk -l
」で期待したディスクを操作しているか、ご確認ください。誤ったディスクを選択すると、システムを破壊する恐れがあります。
Raspbian Liteを入手し、microSDカードへ書き込む
Windows PCにてこちら(JAISTミラーサバー)から「2020-02-13-raspbian-buster-lite.zip」をダウンロードし「balenaEtcher」を使って起動用microSDカードへRaspbian Liteを書き込みます(現在、最新版のRaspberry Pi OSての操作手順・対応状況は確認中です)。
不要なファイルを削除し、設定ファイルを追加する
次に、CentOSを使ってmicroSDカード内で、Wind River Linuxにより生成するLinuxディストリビューションの実行に不必要なファイルを削除し、起動に必要な追加設定ファイルを書き込みます。
追加設定ファイルは以下をご参照ください。
# microSD作業用のディレクトリを作成する $ mkdir ~/broadcom # 1個目のパーティションのブートローダの周辺ファイルを整備する $ cd ~/broadcom # 1個目のパーティションをマウントする $ sudo mount -t vfat /dev/sdX1 /mnt # 不要なファイルを削除する $ sudo rm /mnt/cmdline.txt $ sudo rm /mnt/config.txt $ sudo rm /mnt/kernel* # 起動用コマンドファイル「cmdline.txt」を取得し、microSDカードへ書き込む $ wget https://www.aps-web.jp/wp-data/wp-content/uploads/2020/06/cmdline.txt $ sudo cp cmdline.txt /mnt/cmdline.txt # 起動時設定ファイル「config.txt」を取得する $ wget https://www.aps-web.jp//wp-data/wp-content/uploads/2020/06/config.txt $ sudo cp config.txt /mnt/config.txt # microSDカードへ書き途中のデータをすべて完了させる $ sudo sync # マウントを解除する $ sudo umount /dev/sdX1 $ sudo umount /dev/sdX2 # 2個目のパーティションをマウントする $ sudo mount -t ext4 /dev/sdX2 /mnt # 不要なファイルを削除する $ sudo rm -rf /mnt/* # microSDカードへ書き途中のデータをすべて完了させる $ sudo sync # マウントを解除する $ sudo umount /dev/sdX1 $ sudo umount /dev/sdX2
Wind River Linuxを入手し、Linuxディストリビューションを開発する
それではRaspberry Pi 4の準備が整いましたので、ここからWind River Linuxを使ったLinuxディストリビューションの開発を始めていきましょう。Wind River LinuxはGitHubに無償版が公開されており、git cloneコマンドをひとつ実行するだけで、開発環境を準備することができます。このスクリプトが、WEBからLinuxディストリビューションに必要なパッケージを収集しLinuxディストリビューションを生成します。
なお、ウインドリバー社と有償のサポート契約を結ぶことにより、開発環境だけでなく、Linuxディストリビューションを構成するパッケージも含む完全な構成で開発環境を入手することができます。これにより「サイトが移動した」「WEBからソースコードが削除された」「入手しようとしたソフトウェアがアップデートされビルドができなくなった」という心配なく、長期間運用される組み込みシステムにも、安心してLinuxを採用可能です。
# 開発用のディレクトリを作成する $ mkdir ~/my-project $ cd ~/my-project $ pwd /home/aps/my-project # Wind River Linuxを入手する(わずか1コマンド!) $ git clone https://github.com/WindRiver-Labs/wrlinux-x.git $ ls wrlinux-x
Raspberry Pi 4向けディストリビューション開発の準備をする
続いて、ターゲットに対応するBSPを入手します。setup.shコマンドにbcm-2xxx-rpi4を指定して実行すると、 Raspberry Piに対応したBSPが自動的にWEBから収集され、開発環境に統合されます。なお、ターゲット名の一覧は「./wrlinux-x/setup.sh --list-machines all
」コマンドにて参照可能です。
なお、今回の手順では. ./oe-init-build-env rpi-gui
としてrpi-gui
という名前のディレクトリを作成して開発作業を行います。rpi-gui
の箇所は自由に指定できますので、自身で開発するLinuxディストリビューションの特徴のわかるディレクトリをご指定ください。引数無し(. ./oe-init-build-env
)で実行した場合はbuild
というディレクトリが自動的に生成されます。
# 現在の作業ディレクトリ $ pwd /home/aps/my-project # bcm-2xxx-rpi4を指定しRaspberry Pi専用ソースコードを取得する $ ./wrlinux-x/setup.sh --machines bcm-2xxx-rpi4 # Raspberry Pi向けLinuxディストリビューションの開発を開始する $ . ./environment-setup-x86_64-wrlinuxsdk-linux # プロジェクト「rpi-gui」を作成する(名前は任意) $ . ./oe-init-build-env rpi-gui # 自動的にプロジェクトディレクトリに移動する $ pwd /home/aps/my-project/rpi-gui # ディレクトリには設定ファイルが含まれている $ ls conf bblayers.conf local.conf templateconf.cfg
GUIを備えたLinuxを生成するための設定
Wind River LinuxによるLinuxディストリビューションの構成例として、今回はLinuxディストリビューションに、GUI(グラフィカル・ユーザー・インターフェース)機能を追加します(図5)。設定は「conf/local.conf
」に記述します。まず、①テンプレート(WRTEMPLATE)にGUI機能(feature/xfce
)を追加し、次に、②ベースとなるディストリビューションとしてwrlinux-graphics
を選択します。そして、③必要なパッケージの入手にネットワークを使うことを許可(BB_NO_NETWORK ?= '0'
)します。最後に設定ファイルを保存すれば準備完了です。
$ vi conf/local.conf (以下の3行を更新する) # (3) 必要なパッケージをネットワークを使ってダウンロードする BB_NO_NETWORK ?= '1' → BB_NO_NETWORK ?= '0' # (1) グラフィックユーザーインタフェースの機能を追加する WRTEMPLATE ?= "" → WRTEMPLATE ?= "feature/xfce" # (2) ベースとなるディストリビューションを選択する DISTRO ??= "wrlinux" → DISTRO ??= "wrlinux-graphics"
conf/local.conf
にて設定されている内容は以下の通りです(コメントアウト、空行を除いた内容)。これらの設定は『レシピ(Recipe)』と呼ばれ、Raspberry Pi 4(bcm-2xxx-rpi4)にて利用できるレシピは「Wind River Linux LTS 19 Recipe List for bcm-2xxx-rpi4」にて公開されています。
$ cat conf/local.conf | grep -v "#" | grep -v "^\s*$" (有効な行のみを表示する) BB_NO_NETWORK ?= '0' BB_FETCH_PREMIRRORONLY ?= '${@d.getVar('BB_NO_NETWORK') or 0}' WRTEMPLATE ?= "feature/xfce" MACHINE ??= "bcm-2xxx-rpi4" DISTRO ??= "wrlinux-graphics" PACKAGE_CLASSES ?= "package_rpm" EXTRA_IMAGE_FEATURES ?= "debug-tweaks" USER_CLASSES ?= "buildstats image-mklibs image-prelink" IMAGE_FSTYPES += "tar.bz2" PATCHRESOLVE = "noop" BB_DISKMON_DIRS ??= "\ STOPTASKS,${TMPDIR},1G,100K \ STOPTASKS,${DL_DIR},1G,100K \ STOPTASKS,${SSTATE_DIR},1G,100K \ STOPTASKS,/tmp,100M,100K \ ABORT,${TMPDIR},100M,1K \ ABORT,${DL_DIR},100M,1K \ ABORT,${SSTATE_DIR},100M,1K \ ABORT,/tmp,10M,1K" DISTRO_FEATURES_append = " systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" VIRTUAL-RUNTIME_initscripts = "systemd-compat-units" KERNEL_FEATURES_append = " cfg/systemd.scc" PACKAGECONFIG_append_pn-qemu-system-native = " sdl" PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" CONF_VERSION = "1" OVERRIDES_append = ":osv-wrlinux" require wrlinux-distro/conf/distro/include/wrlinux-uninative.inc
bitbakeコマンドでLinuxディストリビューションをビルドする
Linuxディストリビューションのビルドには「bitbake
」コマンドを使います。bitbakeコマンドは、ビルドの種類を最初の引数に指定し、オプション設定を-cにて追記します(※4)。今回はGNU標準Cライブラリ(glibcライブラリ)を含んだLinuxディストリビューションを生成するためbitbakeに「wrlinux-image-glibc-std
」を指定し、アプリケーションの開発用のSDKのビルドのため、オプションとして「-c populate_sdk_ext
」を指定して実行しています。
Build Extensible SDK|-c populate_sdk_extについての補足
$ pwd /home/aps/my-project/rpi-gui $ bitbake wrlinux-image-glibc-std -c populate_sdk_ext ... $ ls ./tmp-glibc/deploy/image/ bcm-2xxx-rpi4 $ ls ./tmp-glibc/deploy/image/bcm-2xxx-rpi4 ... (ビルドした結果のファイルが格納されている)
※4:本オプションにより自作したLinuxディストリビューションに沿った64bit/32bit両方の開発ツールがビルドと同時に生成されます。
※4:開発ツールの使い方は、第3回以降で紹介いたします。
ビルド結果をmicroSDへ書き込み、起動する
以上の手順でLinuxディストリビューションは完成です。最後に、下記のコマンドを使ってLinuxディストリビューションをRaspberry Pi 4 Model B起動用のmicroSDカードへインストールします。microSDカードへの書き込み終了後、Raspberry Pi 4 Model B背面のmicroSDカードスロットへ起動用microSDを挿入し(図6)、USB Type-Cポートへ給電するとLinuxのコンソールメッセージがHDMIディスプレイに表示され、Linuxディストリビューションが起動します。GUIのログイン画面では、ユーザー名「root
」、パスワードは空欄を指定します。
これにて、はじめてのLinuxディストリビューション開発は終了となります。お疲れ様でした。これがWind River Linuxを使った自社製品向けLinuxディストリビューション開発の第一歩です。改めて、ここまでの手順を振り返ってみると、意外にコマンド数が少なく、直感的な設定のみで開発できることがわかります。
# パーディション1を/mntにマウントする $ sudo mount /dev/sdX1 /mnt # マウントされていることを確認する $ mount | grep sdX1 # パーティション1に起動用のファイルを書き込む $ sudo cp ~/my-project/rpi-gui/tmp-glibc/deploy/images/bcm-2xxx-rpi4/Image-bcm-2xxx-rpi4.bin /mnt/kernel8.img $ sudo cp ~/my-project/rpi-gui/tmp-glibc/deploy/images/bcm-2xxx-rpi4/bcm2711-rpi-4-b.dtb /mnt/bcm2711-rpi-4-b.dtb # 書き込みを完了させる $ sync # パーティション1を取り除く $ sudo umount /dev/sdX1 # パーディション2を/mntにマウントする $ sudo mount /dev/sdx2 /mnt # マウントされていることを確認する $ mount | grep sdX2 # パーティション2の内容をすべて削除する $ sudo rm -rf /mnt/* # パーティション2にLinuxのルートファイルシステムを書き込む $ cd /mnt $ sudo tar jxvpf ~/my-project/rpi-gui/tmp-glibc/deploy/images/bcm-2xxx-rpi4/wrlinux-image-glibc-std-bcm-2xxx-rpi4.tar.bz2 -C /mnt # 書き込みを完了させる $ sync # パーティション2を取り除く $ cd ~/ $ sudo umount /dev/sdX2
組み込みLinux入門に最適な1冊
「市場投入までの期間の短縮」「サポートとメンテナンスコストの削減」「コンプライアンス問題への対応」「クラウドネイティブアーキテクチャとコンテナ技術」など、気になるTopicsを網羅したeBookが無料でダウンロードできます。是非ご覧ください。 無料のeBookをダウンロード
まとめ
今回は、Yoctoの特長とWind River Linuxの特長、Linuxディストリビューションをゼロから開発する一連の流れを紹介しました。次回は「実機のない環境」でも生成したLinuxディストリビューションを実行できるQEMUを使った開発手法を紹介いたします。
yoctoのビルド「bitbake」中に発生しがちなエラーと対処方法【補足】
Wind River Linux、yoctoのビルドシステムは、様々なホストOSに対応しており、幅広い環境で簡単にLinuxディストリビューションを開発することができます。一方、ネットワークが不安定な環境や、CPUやメモリが安定して確保できない環境では、bitbakeの最中にエラーが発生することがあります。こちらの動画では、bitbake中に発生しやすいエラーと、その対処方法についてまとめています。開発中に困った場合などにご活用ください。
- bitbakeで処理するソースコードのgit cloneに失敗した
- bitbakeでコンパイルするソースコードのダウンロードに失敗した
- bitbakeのコンパイル中にメモリ不足が発生した
- bitbakeのコンパイルがリソース不足して継続できない
Wind River Linuxについて
Wind River Linux®は、商用組み込みLinuxマーケットシェアNo.1!※の業界最先端の組み込みLinux開発プラットフォームです。最大15年の長期サポートや継続的デリバリーにも対応し、信頼性の高いエッジデバイスの開発を支援します。
※出典:VDC Reserch The Global Market IoT & Embedded Operating Systems (2018)
Wind River Linux 製品ウエブサイト Wind River Linux 製品カタログ Wind River Linux ダウンロード
Wind River Linux インタビュー記事
Wind River Linuxが誕生して15年となる。Wind River Linux誕生の背景やこれまでの取り組み、採用事例などについて話を聞いた。
Wind River Linux インタビュー記事
- Linuxは、Linus Torvaldsの米国およびその他の国における商標または登録商標です。
- Raspberry PiはRaspberry Pi財団の登録商標です。
- Ubuntuは、Canonical Ltd.の商標または登録商標です。
- Wind RiverおよびVxWorksはWind River Systems, Inc.の登録商標です。
- その他記載の会社名、製品名は、それぞれの会社の商標または登録商標です。