目次
開発マシンの基本条件" >開発マシンの基本条件
Yocto のコンパイルとビルドのプロセス " >Yocto のコンパイルとビルドのプロセス
ホームページ システムチュートリアル Linux Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

Feb 10, 2024 pm 10:12 PM
linux Linuxチュートリアル Linuxシステム Linuxコマンド シェルスクリプト 埋め込みLinux Linux を始める Linux学習

あなたが組み込み開発者であれば、次の質問に遭遇するかもしれません: ハードウェア プラットフォームに適した Linux システムを作成するにはどうすればよいですか? Linux システムの機能と外観をカスタマイズするにはどうすればよいですか? Linux システムのセキュリティと安定性を確保するにはどうすればよいですか?これらの問題は、Yocto プロジェクトを使用することで解決できます。 Yocto プロジェクトは、ハードウェア アーキテクチャに関係なくカスタム Linux システムの作成を支援するオープンソースの共同プロジェクトです。 Yocto プロジェクトは、独自の Linux ディストリビューションを最初から構築したり、既存の Linux ディストリビューションに基づいて変更および最適化したりできる、柔軟なツールとリソースのセットを提供します。この記事では、Yocto を使用して Ubuntu 上で最小限の Linux ディストリビューションを作成する方法と、Yocto の基本概念とワークフローを紹介します。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

開発マシンの基本条件

最小 4 ~ 6 GB RAM

Ubuntu システムの最新バージョン (この記事では 16.04 LTS を使用します)

残りのディスク容量は少なくとも 60 ~ 80 GB です

Linux ディストリビューションを作成する前に、次のパッケージをインストールします

最新の Yocto (Poky はその最小開発環境) の安定したブランチをダウンロードします

リーリー Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

以下に示すように、開発環境にインストールするソフトウェア パッケージのサイズは 1GB 近くあります。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

このチュートリアルでは、poky の morty 安定版ブランチがシステム上に複製されます。

リーリー Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

poky ディレクトリに入り、次のコマンドを実行して、Yocto 開発環境のいくつかの環境変数を設定 (設定/エクスポート) します。

リーリー

以下に示すように、オープン エンベデッド (OE) ビルド環境スクリプトを実行すると、ターミナル内のパスは、リリース バージョンのその後の構成と構築のために自動的にビルド ディレクトリに切り替わります。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

上のスクリーンショットは、conf ディレクトリに作成されたファイル local.conf を示しています。これは、SDK のターゲット マシンの詳細とターゲット アーキテクチャを設定するために Yocto によって使用される構成ファイルです。

以下に示すように、ここで設定したターゲット マシンは qemux86-64 です。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

以下のスクリーンショットに示すように、local.conf 内の次のパラメータのコメントを解除します。

リーリー Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築するrree Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築するrree Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築するrree Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

以下に示すように、Yocto ベースの Linux の local.conf に空のパスワードとそれに続くいくつかのパラメーターを設定します。そうしないと、ユーザーは新しいリリースにログインできなくなります。

リーリー Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

トースターなどの Linux OS の作成にグラフィカル ツールを使用する予定はありません (hob はサポートされなくなりました)。

Yocto のコンパイルとビルドのプロセス

# 次に、次の bitbake ツール コマンドを実行して、選択したターゲット マシン用のソフトウェア パッケージのダウンロードとコンパイルを開始します。

リーリー Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

上記のコマンドは、root ユーザーを使用せず、通常の Linux ユーザーで実行することが非常に重要です。以下のスクリーンショットに示すように、root ユーザーで bitbake コマンドを実行すると、以下のエラーが発生します。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する環境変数 (oe-init-build-env) をエクスポートするスクリプトを再度実行し、同じコマンドを再実行してダウンロードとコンパイルのプロセスを開始します。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

以下に示すように、スクリプト コンポーネントを構築する最初のステップは、構成 (レシピ) を解析することです。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

以下のスクリーンショットは、ビルド スクリプトの解析プロセスを示しています。また、新しい yocto ベースのディストリビューションを構築するために使用されるビルド システムの詳細も示します。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

SDK と必要なライブラリをダウンロードしたら、次のステップはソフトウェア パッケージをダウンロードしてコンパイルすることです。以下のスクリーンショットは、新しいディストリビューションを構築するために実行されるタスクを示しています。まず必要なパッケージをダウンロードしてから、新しい Linux ディストリビューション用にコンパイルする必要があるため、この手順には 2 ~ 3 時間かかります。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

以下のスクリーンショットは、タスク リストの完了を示しています。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

ターゲット マシン タイプ qemux86-64 用にコンパイルされた新しいイメージは、build/tmp/deploy/images/qemux86-64:

にあります。 Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

以下に示すように、上記のコマンドを Putty 上で実行するとエラーが発生します。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

Ubuntu プラットフォームで rdp 経由で上記のコマンドを再度実行します。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

新しい Yocto ベースの Linux ディストリビューションを実行する qemu の新しい画面を開きます。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

以下は、新しいリリースのログイン インターフェイスを示し、使用されている yocto プロジェクトのバージョン番号も表示します。デフォルトのユーザー名は root で、パスワードは空白です。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

最後に、root ユーザー名と空のパスワードを使用して、新しいリリースにログインします。以下のスクリーンショットに示すように、基本的なコマンド (data、ifconfig、および uname) は、この最小バージョンの Linux で実行されます。

Yocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築する

この記事の目的は、Yocto を使用して新しい Linux ディストリビューションを作成するプロセスを理解することです。

この記事を通じて、Yocto を使用して Ubuntu 上で最小限の Linux ディストリビューションを作成する方法と、Yocto の基本概念とワークフローを学びました。 Yocto を使用すると、ニーズや好みに合わせて組み込みデバイスやその他のシナリオに適した Linux システムをカスタマイズできます。もちろん、これは Yocto プロジェクトが提供する多くの機能とオプションの一部にすぎません。Yocto プロジェクトと組み込み Linux 開発についてさらに詳しく知りたい場合は、引き続き調査と実践を続ける必要があります。この記事があなたの学習や仕事に役立つことを願っています。また、あなたが使用したり発見したその他の実用的な Yocto スキルを共有することも歓迎します。

以上がYocto 入門チュートリアル: Ubuntu 上でカスタマイズされた Linux システムを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Apacheを始める方法 Apacheを始める方法 Apr 13, 2025 pm 01:06 PM

Apacheを開始する手順は次のとおりです。Apache(コマンド:sudo apt-get install apache2または公式Webサイトからダウンロード)をインストールします(linux:linux:sudo systemctl start apache2; windows:apache2.4 "serviceを右クリックして「開始」を右クリック) (オプション、Linux:Sudo SystemCtl

Apache80ポートが占有されている場合はどうすればよいですか Apache80ポートが占有されている場合はどうすればよいですか Apr 13, 2025 pm 01:24 PM

Apache 80ポートが占有されている場合、ソリューションは次のとおりです。ポートを占有するプロセスを見つけて閉じます。ファイアウォールの設定を確認して、Apacheがブロックされていないことを確認してください。上記の方法が機能しない場合は、Apacheを再構成して別のポートを使用してください。 Apacheサービスを再起動します。

DebianのNginx SSLパフォーマンスを監視する方法 DebianのNginx SSLパフォーマンスを監視する方法 Apr 12, 2025 pm 10:18 PM

この記事では、Debianシステム上のNginxサーバーのSSLパフォーマンスを効果的に監視する方法について説明します。 Nginxexporterを使用して、NginxステータスデータをPrometheusにエクスポートし、Grafanaを介して視覚的に表示します。ステップ1:NGINXの構成最初に、NGINX構成ファイルのSTUB_STATUSモジュールを有効にして、NGINXのステータス情報を取得する必要があります。 NGINX構成ファイルに次のスニペットを追加します(通常は/etc/nginx/nginx.confにあるか、そのインクルードファイルにあります):location/nginx_status {stub_status

Debianシステムでリサイクルビンをセットアップする方法 Debianシステムでリサイクルビンをセットアップする方法 Apr 12, 2025 pm 10:51 PM

この記事では、デビアンシステムでリサイクルビンを構成する2つの方法を紹介します:グラフィカルインターフェイスとコマンドライン。方法1:Nautilusグラフィカルインターフェイスを使用して、ファイルマネージャーを開きます。デスクトップまたはアプリケーションメニューでNautilusファイルマネージャー(通常は「ファイル」と呼ばれる)を見つけて起動します。リサイクルビンを見つけてください:左ナビゲーションバーのリサイクルビンフォルダーを探してください。見つからない場合は、「他の場所」または「コンピューター」をクリックして検索してみてください。リサイクルビンプロパティの構成:「リサイクルビン」を右クリックし、「プロパティ」を選択します。プロパティウィンドウで、次の設定を調整できます。最大サイズ:リサイクルビンで使用可能なディスクスペースを制限します。保持時間:リサイクルビンでファイルが自動的に削除される前に保存を設定します

Apacheサーバーを再起動する方法 Apacheサーバーを再起動する方法 Apr 13, 2025 pm 01:12 PM

Apacheサーバーを再起動するには、次の手順に従ってください。Linux/MacOS:sudo systemctl restart apache2を実行します。 Windows:Net Stop apache2.4を実行し、ネット開始apache2.4を実行します。 Netstat -A |を実行しますサーバーのステータスを確認するには、STR 80を見つけます。

Debian Readdirのパフォーマンスを最適化する方法 Debian Readdirのパフォーマンスを最適化する方法 Apr 13, 2025 am 08:48 AM

Debian Systemsでは、Directoryコンテンツを読み取るためにReadDirシステム呼び出しが使用されます。パフォーマンスが良くない場合は、次の最適化戦略を試してください。ディレクトリファイルの数を簡素化します。大きなディレクトリをできる限り複数の小さなディレクトリに分割し、Readdirコールごとに処理されたアイテムの数を減らします。ディレクトリコンテンツのキャッシュを有効にする:キャッシュメカニズムを構築し、定期的にキャッシュを更新するか、ディレクトリコンテンツが変更されたときに、頻繁な呼び出しをreaddirに削減します。メモリキャッシュ(memcachedやredisなど)またはローカルキャッシュ(ファイルやデータベースなど)を考慮することができます。効率的なデータ構造を採用する:ディレクトリトラバーサルを自分で実装する場合、より効率的なデータ構造(線形検索の代わりにハッシュテーブルなど)を選択してディレクトリ情報を保存およびアクセスする

Apacheを開始できない問題を解決する方法 Apacheを開始できない問題を解決する方法 Apr 13, 2025 pm 01:21 PM

Apacheは、次の理由で起動できません。構成ファイル構文エラー。他のアプリケーションポートとの競合。権限の問題。メモリから。デッドロックを処理します。デーモン障害。 Selinux許可の問題。ファイアウォールの問題。ソフトウェアの競合。

Debian Readdirが他のツールと統合する方法 Debian Readdirが他のツールと統合する方法 Apr 13, 2025 am 09:42 AM

DebianシステムのReadDir関数は、ディレクトリコンテンツの読み取りに使用されるシステムコールであり、Cプログラミングでよく使用されます。この記事では、ReadDirを他のツールと統合して機能を強化する方法について説明します。方法1:C言語プログラムを最初にパイプラインと組み合わせて、cプログラムを作成してreaddir関数を呼び出して結果をinclude#include#include inctargc、char*argv []){dir*dir; structdireant*entry; if(argc!= 2){(argc!= 2){

See all articles