Yoctoの使用例


Yoctoの使用例
本稿では,従来rootfsにパッケージを追加した例として,Yoctoを用いてリリース版をカスタマイズする大まかな流れを述べた.Yoctoの機能と構造については、Yoctoの詳細を参照してください.
1.開発環境構築
一般的には2つのケースがあります.1つは、会社のサーバにYoctoがすでに存在していることです.私たちは個人口座の下でYocto開発環境を簡単にコピーするだけでいいです.もう一つのケースは、何もなく、サーバーやパソコンにゼロからYocto開発環境を構築することです.
  • ここでは、Yoctoが必要とする基本的な依存ライブラリがすでに存在すると仮定し、本当にゼロから様々な依存ライブラリを割り当てる場合は、参照してください.https://www.ibm.com/developerworks/cn/linux/l-yocto-linux/
  • まず最も重要なのはRepoツールを得ることであり、RepoツールはGitのパッケージであり、下位層はGitコマンドを使用してダウンロードされているので、Pokyを取得するために使用します.サーバにrepoが既に存在すると仮定すると、簡単に自分のアカウントディレクトリの
  • に直接コピーできます.
    #            
    mkdir ~/bin 
    cp /xxx/bin/repo ~/bin/repo
    chmod a+x ~/bin/repo
    echo "export PATH=~/bin:$PATH" >> ~/.bashrc
    ~/.bashrc
    

    サーバーにない場合は?このようにすることができて、具体的な私も試したことがなくて、できるはずです
    git clone https://gerrit.googlesource.com/git-repo
    cd git-repo/
    git checkout v1.12.4
    cp ../git-repo/repo ~/bin/repo
  • は異なるプロジェクトパスを作成し、会社がYoctoとgitを使用してメンテナンスしている複数のプロジェクトがある場合は、repoが会社のgit倉庫から異なるバージョンのPokyを取得するため、正しいプロジェクトディレクトリで作業する必要があります.例えば、私たちが現在操作しているプロジェクトはimx 6と呼ばれています.avi:
  • mkdir imx6_avi
    cd imx6_avi
  • それからrepoを利用してPokyを取得します.git倉庫のある会社では、一般的に数個のmetaLayerをgitサーバに入れて維持します.各metaLayerは数個のbranchを持っています.1つのbranchは1つのプロジェクトに対応しています.作成したばかりのパス名がプロジェクト名のパスにrepoを使用すれば、そのプロジェクトに対応する数個のmetaLayerを取得できます.つまりPoky:
  • repo init -u [email protected]:xxx/xxx.git -b "xxx"
    repo sync

    サーバーにない場合は、元の工場で提供されたものなど、他の場所から取得します.
    repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.10.17-1.0.0_ga
    repo sync
  • 出力パスが作成され、中間ファイルと生成されたimageがディレクトリに配置される
  • .
    mkdir ~/imx6_avi/build
    chmod 777 ~/imx6_avi/build
  • sourcesディレクトリを初期化して環境を構築することにより、sourcesディレクトリの下でbitbakeなどのコマンドを使用することができ、パラメータを伝達することによって環境を指定することができ、例えば以下imx 6でターゲット環境をimx 6と指定し、このスクリプトプログラムはできるだけsourceコマンドで実行し、多くの場合./実行できない
  • source xxx-init-build-env sources imx6