CAT845_yocto-2.0

本ページは CAT845 向けに yocto-2.0 を構築する手順書です。

ただし yoctoについてはサポート対象外です。ある程度知識のある方を対象としています。

プロンプト表記は

$ 一般ユーザで操作することを示す
# rootユーザで操作することを示す(su コマンドでrootユーザになること)

開発ホストPC

debian 8.x jessie 64bit で実績あり。HDD空き容量40GByte程度必要。

CAT845付属のVirtualBoxイメージも使えるのだが、HDDの空き容量が不足するためそのままでは使用できない。

bitbake  core-image-minimal でビルド実行したときの必要作業ディレクトリ 19G byte
CAT845付属VirtualBox の HDD空き容量 13G byte

VirtualBox_diskimage拡大 の手順でHDD容量を拡大しておくこと。

開発ホストPCの準備

初回のみ

# apt-get install sed wget cvs subversion git-core coreutils \
unzip texi2html texinfo libsdl1.2-dev docbook-utils gawk \
python-pysqlite2 diffstat help2man make gcc build-essential \
g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \
mercurial autoconf automake groff bc libtool xterm

yocto-2.0.0 のビルド

作業ディレクトリは ~/project/cat845/yocto/ とする。
任意に変更可能であるがその場合は以下を読み替える事。

$ mkdir -p ~/project/cat845/yocto/
$ cd ~/project/cat845/yocto/
$ ls

からであることを確認

$ mkdir work
$ cd work
$ git clone git://git.yoctoproject.org/poky
$ git clone git://git.openembedded.org/meta-openembedded
$ git clone git://git.linaro.org/openembedded/meta-linaro.git
$ git clone https://github.com/renesas-rz/meta-renesas
$ cd ~/project/cat845/yocto/work/poky
$ git checkout -b tmp 3b223f75eec1738fbc913858e8e11c8305e3edcb
$ cd ~/project/cat845/yocto/work/meta-openembedded
$ git checkout -b tmp dc5634968b270dde250690609f0015f881db81f2
$ cd ~/project/cat845/yocto/work/meta-linaro
$ git checkout -b tmp 12993e6bc8658ee37d303d8d59007f8dd9ab2b30
$ cd ~/project/cat845/yocto/work/meta-renesas
$ git checkout yocto_2.0

作業ディレクトリ kaihatsu@debian ~/project/cat845/yocto/work/ にて

$ cp meta-renesas/meta-rzg1/templates/skrzg1e/bblayers.conf ./build/conf/
$ cp meta-renesas/meta-rzg1/templates/skrzg1e/local.conf    ./build/conf/
  • build/conf/local.conf
... 中略 ...
MACHINE ??= "skrzg1e"
... 中略 ...

のようにマシン名は "skrzg1e" となっている。

  • meta-renesas/meta-rzg1/conf/machine/skrzg1e.conf を編集
SERIAL_CONSOLE = "115200 ttySC10"

bitbake

2回目はここから

作業ディレクトリ kaihatsu@debian ~/project/cat845/yocto/work/ にて

$ source poky/oe-init-build-env

bitbake の知識のある方は

  • conf/bblayers.conf
  • conf/local.conf

を編集しても構わない。サンプルはこのまま進める。

作業ディレクトリ kaihatsu@debian ~/project/cat845/yocto/work/build にて

$ time bitbake  core-image-minimal

時間はインターネットダウンロード速度、マシン速度によって大きく違うが1-3時間ほどかかる。

  • tmp/deploy/images/skrzg1e/core-image-minimal-skrzg1e-日付.rootfs.tar.bz2

が出来上がった rootfsイメージファイルとなる。

microSD カードのフォーマット

「組み込みLinuxガイド.pdf」のように microSD を次のパーティションとする。

第1パーティションFAT (id=0x0c)512Mbyteカーネル uImage置き場 /bootにマウント
第2パーティションext4 (id=0x83)1.2Gbyteyocto root file system

CAT845付属DVDに含まれるsdimageを書き込んだmicroSDを使う場合、そのまま使用できる。

開発PC (VirtualBox) に USBメモリカードリーダなどを使って microSD を認識させる。通常は /dev/sdb ドライブとなる。

 # cfdisk /dev/sdb                  上記のように2つのパーティションを作る
(# mkfs.vfat -F32 /dev/sdb1         第1パーティションを FAT32 でフォーマット/カーネルuImageが入っているなら行わない)
 # mkfs.ext4 /dev/sdb2              第2パーティションを ext4 でフォーマット
# mount /dev/sdb2 /media/sdb2      sdb2をマウント(マウント先の /media/sdb2 が無ければ mkdir で作っておくこと)

rootfsイメージの展開

作業ディレクトリ kaihatsu@debian ~/project/cat845/yocto/work/build にて

# tar -xf tmp/deploy/images/skrzg1e/core-image-minimal-skrzg1e-日付.rootfs.tar.bz2 -C /media/sdb2

アンマウント

# sync
# umount /media/sdb2

カーネル

u-bootとカーネルは yocto で扱わない。

「組み込みLinuxガイド.pdf」に従い構築した uImage+dtb_cat845 を 第1パーティションに保存する事。

CAT845付属DVDに含まれるsdimageを書き込んだmicroSDを使う場合、そのまま使用できる。

microSD の第1パーティション(FAT)領域に uImage+dtb_cat845 があればよい。DVDのkernelディレクトリにも出荷時の uImage+dtb_cat845_日付 が収録されている。_日付の部分は削除し、ファイル名を

uImage+dtb_cat845

にすること。

CAT845の起動

microSDを取り外し、CAT845に挿入する。(CAT845の電源は必ず切った状態で microSDソケットを開くこと。電源を入れた状態でソケットカバーを操作すると、3.3V電源とカバーGND部分がショートする危険がある)。

CAT845_内蔵ROM初期化手順を参考にして、ubootのパラメータをmicroSDからの起動に変更する

u-bootのカウントダウン時に何かのキーを押しu-bootの起動を停止させて、起動パラメータを microSDからの起動(root=/dev/mmcblk0p2)に書き換える。

Hit any key to stop autoboot:  3               <- カウントダウン終了までに何かキーを押す
=> setenv bootcmd 'fatload mmc 1:1 0x40007fc0 /uimage+dtb_cat845; bootm 0x40007fc0'
=> setenv bootargs 'console=ttySC10,115200 console=tty1 ignore_loglevel ro rootfstype=ext4 root=/dev/mmcblk0p2 rootwait vmalloc=384M'
=> saveenv                                     <- 上記2つの環境変数の保存
Saving Environment to SPI Flash...
SF: Detected S25FL512S with page size 256 KiB, total 64 MiB
Erasing SPI flash...Writing to SPI flash...done
=>
=> reset

またはリセットスイッチ(SW2)を押して Linuxを再起動する。

起動ログ

上手くいった場合の起動ログ

関連

自動リンク

Home

Last-modified: 2018-10-02 (火) 18:12:51 (292d)