|
本ページは ルネサスエレクトロニクス社の "RZ/G Verified Linux Package for 64bit kernel Version 1.0.2" をかみ砕いたものです。 ルネサスエレクトロニクス社のドキュメントを正として、本ページは参考資料として作業をお願いいたします。 ある程度の linux 及び yocto の知識を必要とします。 ホストOS †Ubuntu 16.04 LTS 64bit 推奨 debian 9 (stretch) 64bit 利用可能 空きHDD容量 100GB必要 (仮想PC環境の場合注意) 必要なソフトウェアのインストール $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \ xz-utils debianutils iputils-ping libsdl1.2-dev xterm p7zip-full ロケールを作っておく $ sudo dpkg-reconfigure locales [*] en_US.UTF-8 UTF-8 [*] ja_JP.UTF-8 UTF-8 環境変数 $ export LANG="ja_JP.UTF-8" yoctoの準備 †yoctoビルドの作業ディレクトリを作る $ export WORK=/home/user/user_work $ export PKGS_DIR=$WORK/proprietary $ mkdir -p $WORK $ mkdir -p $PKGS_DIR 作業ディレクトリ作り移動する $ cd $WORK $ tar xvzf ./rzg2_bsp_eva_v102.tar.gz VLP64パッケージはLVDS出力となっている。HDMI出力に変更する場合はパッチを当てる $ cd $WORK/meta-rzg2 $ patch -p1 < 0001-BSP-1.0.2-add-support-HDMI.patch Renesasプロプラソフトのコピー $ cd $WORK/meta-rzg2 $ sh docs/sample/copyscript/copy_proprietary_softwares.sh $PKGS_DIR 環境変数の設定 $ cd $WORK $ source poky/oe-init-build-env confファイルのコピー $ cd $WORK/build $ cp ../meta-rzg2/docs/sample/conf/ek874/linaro-gcc/*.conf conf/ パッケージの展開 (oss_pkg.7z.001 - oss_pkg.7z.015 を build/ ディレクトリにコピーしておく。展開後は消してよい) $ cd $WORK/build $ 7z x ./oss_pkg.7z.001 カーネルソースコードのダウンロード $ cd $WORK/build $ export LANG=en_US.UTF-8 $ bitbake linux-renesas -c fetch ビルド実行 †$ bitbake core-image-bsp i5-8400 CPU @ 2.80GHz で real 82m8.935s user 0m11.972s sys 0m1.232s エラー †openssl のビルド中に Can't locate find.pl エラーが出るので # cp ./meta-rzg2/recipes-cip-core/openssl/files/find.pl /etc/perl/ で回避する 他の選択肢 †
microSDカードへの書き込み †microSD カードに2つのパーティションを作る
p1にカーネルとデバイスツリーを配置 $ sudo cp build/tmp/deploy/images/ek874/Image /microsd_p1のマウント先 $ sudo cp build/tmp/deploy/images/ek874/Image-r8a774c0-ek874.dtb /microsd_p1のマウント先 CAT874リビジョンと CPUバージョンについて
u-bootの起動メッセージからも判定できます U-Boot 2018.09 (Dec 09 2019 - 08:01:25 +0000) CPU: Renesas Electronics R8A774C0 rev 1.1 Model: Silicon Linux EK874 RZ/G2E board CPU Ver1.0 を使用する場合は Image-r8a774c0-es10-ek874.dtb を使用してください。 p2にrootfsを展開 $ sudo tar xf build/tmp/deploy/images/ek874/core-image-bsp-ek874.tar.gz -C /microsd_p2のマウント先 CAT874の起動 †u-bootにて => setenv bootcmd 'fatload mmc 0:1 0x48080000 Image; fatload mmc 0:1 0x48000000 Image-r8a774c0-ek874.dtb; booti 0x48080000 - 0x48000000' => setenv bootargs 'root=/dev/mmcblk0p2 rootwait ro' => saveenv => reset 解説 bootcmd は u-boot起動時に自動実行するコマンドを記述する。コマンドは ; で区切る。 fatload mmc 0:1 0x48080000 Image mmcblk0p1 の Image をロード fatload mmc 0:1 0x48000000 Image-r8a774c0-ek874.dtb mmcblk0p1 の Image-r8a774c0-ek874.dtb をロード booti 0x48080000 - 0x48000000 メモリにジャンプして起動 bootargs はカーネルに渡す起動時引数(カーネルパラメータとも言う) root=/dev/mmcblk0p2 rootfsは /dev/mmcblk0p2 (microSDの第2 Partition)である rootwait rootデバイスの準備ができるまで待機する ro read-only でマウントする その他 †カーネルソースの位置 ./build/tmp/work-shared/ek874/kernel-source カーネルだけ作り直すには $ bitbake -c clean linux-renesas $ bitbake -f -c do_complie linux-renesas -f を付けて強制再コンパイル $ bitbake -f -c deploy linux-renesas 関連 † |