![仕入先提供のディストリビューションと rootfs を使用する場合と比較して、カスタムディストリビューションと rootfs を生成するために YOCTO を使用すると、どのような潜在的な利点がありますか? [閉じる]](https://linux33.com/image/221362/%E4%BB%95%E5%85%A5%E5%85%88%E6%8F%90%E4%BE%9B%E3%81%AE%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A8%20rootfs%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%A8%E6%AF%94%E8%BC%83%E3%81%97%E3%81%A6%E3%80%81%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A8%20rootfs%20%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%20YOCTO%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E6%BD%9C%E5%9C%A8%E7%9A%84%E3%81%AA%E5%88%A9%E7%82%B9%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%20%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
私はrootfsの構築に関するbuildrootとYOCTOプロジェクト(google)の比較を読んで、より一般的な質問をしたいと思いました。
組み込みシステムベンダー(Jetson SoCを含むNvidiaなど)が提供するディストリビューションを使用するのではなく、最初から独自のrootfsを構築し、独自の「OSディストリビューション」(YOCTOを使用)を構築することで潜在的な利点は何ですか?
特に、次の側面を比較することに興味があります。
- システムセキュリティとオペレーティングシステムの強化
- パフォーマンス
これらのコンポーネントを直接学び、構築することは「価値」があるかどうかわからないので質問します。
ありがとう
答え1
たとえば、jetson SoCを搭載したNvidiaなどの組み込みシステムベンダーのシステムを使用する代わりに、YOCTOを使用します。
これはあなたの要件を満たし、不要なセキュリティ攻撃サーフェスを作成しませんか? Nvidia評価ボードは、自動車の自律走行制御ボックスに物理的に適していますか?車両の制御バスはもちろん、すべてのネットワークインターフェースに接続されていますか?
それはすべてです。組み込み開発は「SoCリファレンスボードからPythonスクリプトを実行するだけではありません」。通常:
- SoCを評価ボードから外し、その周りに独自のボードを作成し、独自の周辺機器を使用してください。
- 組み込みマザーボードに接続するためのドライバを作成して提供します。結局その名前は埋め込み、このため埋め込み他の機械では。
- このシステムにデプロイするアプリケーションを作成します。
- そのプラットフォームに合わせてクロスコンパイルする方法を開発します。いいえ組み込みプラットフォームでChromiumをコンパイルしたいと思います。実際には数週間かかります。 )
- ソフトウェアを開発し続けながら、ソフトウェアを最新バージョンに置き換える方法を開発してください。
- EUでシステムを販売するには、ソフトウェアマテリアル仕様書(SBOM)をメモしておいてください(REDガイドラインを参照してください。米国にも同様の要件があります。〜しなければならないリスト形式で、デバイスにどのソフトウェアがあるかを正確に知ることができます。 )
- フリーソフトウェアを使用し、顧客がソースコードを要求できる場合は、システムにインストールしたソフトウェアのソースコードをそのままにしてください。お客様は、そのバージョンを使用する資格があり、お客様のシステムまたはアプリケーションで動作するように変更されていない他のバージョンは使用できません。
- オンボードストレージ用のイメージを作成するための再現可能な方法を開発します。これは重要です。 6ヶ月以内に小さなものを変更したいので、元のビルドシステムを作成した人がオンになっていても、システム全体が合格したすべてのテストがまだ合格しているかどうかを100%確実にする必要があります。休暇に行ったり、覚えていません。または引退しました。または会社を離れてください。
通常、ベンダーイメージはこれを行いません。どのの。
オープン埋め込み提案
- ベンダーOSはしばしば非常に悪いため、カスタムハードウェアまたはベンダーハードウェア用のマザーボードサポートパッケージを構築する標準化された方法です。
- Linuxカーネルパッチを収集、更新、統合する標準的な方法
- 構築したばかりのプラットフォーム用のソフトウェアを開発するために必要なすべてのコンパイラ、ライブラリ、ヘッダーを含むSDKを作成できます。
- 「ああ、ジョンはどのファイルをどこにコピーするのか知っていましたが、死んでいます」ではなく、強力で反復可能な画像にソフトウェアを統合する方法です。
- これらのソフトウェアレシピから現場交換可能なソフトウェアパッケージを生成する簡単な方法
- SBOMはイメージが生成されるのと同じ方法で生成されるので、実際には完全であり、「Johnは自分が使用した小さなライブラリの1つまたは2つを言及することを忘れてしまったのが最悪のシナリオだと思いました」ではありません。
- ソースパッケージング/アーカイブの生成
- 画像を焼く安定した方法
したがって、利点は次のとおりです。
サプライヤーのイメージはSoCをよく理解するのに役立ちますので、SoCを使用して独自のシステムを構築できます。組み込みデバイスに配布することは決してありません。 OpenEmbedded は、ベンダーが実行していない作業、つまり顧客が支払う作業を実際に実行するのに役立ちます。お客様のお客様は、参考掲示板に台本を掲載する手数料として、お客様に費用を支払うことはありません。製造準備ができており、信頼性が高く、繰り返し可能であり、法的規制に準拠した完全なシステムの費用を支払います。