GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuでYoctoを使用して独自のLinuxディストリビューションを作成する方法

この記事では、UbuntuプラットフォームでYoctoプロジェクトを使用して最小限のLinuxディストリビューションを作成することに焦点を当てています。 Yoctoプロジェクトは、その柔軟性と使いやすさから、組み込みLinuxの世界で非常に有名です。 Yoctoプロジェクトの目的は、組み込みハードウェアおよびソフトウェアのメーカー向けにLinuxディストリビューションを作成することです。 (qemuは基本的なソフトウェアエミュレーターです)ターゲットマシンとして、qemu用に新しい最小限のLinuxディストリビューションが作成され、qemuで実行されます。

開発マシンの前提条件
  • 少なくとも4〜6GBのRAM。
  • 最近のUbuntuOS(この場合は16.04 LTS)。
  • ディスクに少なくとも60〜80GBの空き容量があります。
  • 新しいLinuxディストリビューションを作成する前に次のパッケージをインストールします。
  • 最新のYocto(最小限の開発環境であるPoky)の安定したブランチをダウンロードします。
apt-get update
apt-get install wget git-core unzip make gcc g++ build-essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop

以下に示すように、必要な開発パッケージをインストールするには、ほぼ1GBのサイズが必要です。

このチュートリアルでは、pokyの「致命的な」安定したリリースがシステムに複製されます。

 git clone -b morty git://git.yoctoproject.org/poky.git

「poky」ディレクトリ内に移動し、次のコマンドを実行して、yocto開発用のいくつかの変数を設定/エクスポートします。

source oe-init-build-env

以下に示すように、open Embedded(oe)ビルド環境スクリプトを実行した後、ターミナル内のパスの場所が「ビルド」ディレクトリに変更され、新しいディストリビューションをさらに構成してコンパイルできるようになります。

上のスクリーンショットは、「local.conf」ファイルが「conf」ディレクトリ内に作成されていることを示しています。これは、yoctoの構成ファイルであり、目的のアーキテクチャなどのターゲットマシンとSDKの詳細を指定します。

以下に示すように、ターゲットマシン「qemux86-64」を設定します。

スクリーンショットに示されているように、「local.conf」ファイルの次のパラメータのコメントを解除します。

DL_DIR ?= "${TOPDIR}/downloads"

SSTATE_DIR ?= "${TOPDIR}/sstate-cache"

TMPDIR ?= "${TOPDIR}/tmp"

PACKAGE_CLASSES ?= "package_rpm"
SDKMACHINE ?= "i686"

以下に示すように、YoctoベースのLinuxに空白のパスワードを設定し、local.confファイルに次のパラメーターを含めます。そうしないと、ユーザーは新しいディストリビューションにログインできなくなります。

EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

Linux OSの作成には、トースターなどのGUIツール(hobはサポートされなくなりました)を使用していません。

Yoctoのコンパイルと構築のプロセス

次に、bitbakeユーティリティの次のコマンドを実行して、選択したターゲットマシンのパッケージのダウンロードとコンパイルを開始します。

bitbake core-image-minimal

上記のコマンドは、rootユーザーではなく、通常のLinuxユーザーとして実行することが重要です。次の画面ショットに示すように、rootユーザーとしてbitbakeコマンドを実行するとエラーが生成されます。

ここでも、環境変数のエクスポートスクリプト(oe-init-build-env)を実行し、同じコマンドを再実行して、ダウンロードとコンパイルのプロセスを開始します。

以下に示すように、ビルドスクリプトユーティリティの最初のステップは、レシピを解析することです。

次のスクリーンショットは、ビルドスクリプトの解析ステップの完了を示しています。また、新しいyoctoベースのディストリビューションが生成されるビルドシステムの詳細も表示されます。

SDKと必要なライブラリをダウンロードしたら、次のステップはパッケージをダウンロードしてコンパイルすることです。次のスクリーンショットは、新しいディストリビューションのタスクを示しています。最初に必要なパッケージをダウンロードしてから、新しいLinuxディストリビューション用にコンパイルするため、この手順には2〜3時間かかります。

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

ターゲットマシンタイプ「qemux86-64」用にコンパイルされた新しいイメージは、以下に示すように「build / tmp / deploy / images/qemux86-64」パス内にあります。

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

上記のコマンドは、Ubuntuプラットフォームのrdpを介してターミナル内で再度実行されます。

新しいyoctoベースのLinuxディストリビューション用のqemuエミュレーター用に別の画面が開きます。

新しいディストリビューションのログイン画面を以下に示します。これには、yoctoプロジェクトの参照バージョンも表示されます。デフォルトのユーザー名はrootと空白のパスワードです。

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


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


Ubuntu
  1. Linuxで独自のビデオストリーミングサーバーを作成する

  2. Linux OS のバージョンを確認する方法

  3. SurfShark VPN で Ubuntu Linux システムを保護する方法

  1. UbuntuLinuxでqToxを使用してチャットを保護する

  2. Linuxで起動可能なUbuntuUSBスティックを作成する方法

  3. Ubuntu18.04LTSでJitsiMeetを使用して独自のビデオ会議サーバーを作成する方法

  1. Ubuntu16.04LTSでDockerfileを使用してDockerイメージを作成する方法

  2. Mixxxを使用してUbuntuLinuxでDJとして実行する方法

  3. UbuntuLinuxでAndroidデバイスを接続する方法