FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

ZedBoard向けYoctoのビルド (1)

ZedBoardでLinuxを動かしたいので、手始めに情報が沢山(といってもそんなに無い)あるYocto Project のLinuxを動作させてみることにした。

ちなみに、既にこれはmarseeさんがやられている話なので、それの二番煎じにすぎない。 ↓のあたりである。

FPGAの部屋 Yocto ProjectのZedBoard用Linuxをビルドしてみる1

FPGAの部屋 Yocto ProjectのZedBoard用Linuxをビルドしてみる2

FPGAの部屋 Yocto ProjectのZedBoard用Linuxをビルドしてみる3(ビルド成功)

といいつつ、参考にしているのはこっち。

FPGAマガジンNo.5 Linux/Android×FPGA

FPGAマガジンNo.5 Linux/Android×FPGA

こちらに、ZedBoard向けにYocto ProjectのLinuxをビルドする方法が書いてある。

git clone git://git.yoctoproject.org/poky
cd poky
git clone git://git.openembedded.org/meta-openembedded
git clone git://git.linaro.org/openembedded/meta-linaro
git clone git://git.yoctoproject.org/meta-xilinx
source ./oe-init-build-env

これで./build ディレクトリが作成されるので、さらに conf/local.conf と conf/bblayers.conf と meta-linaro/meta-linaro/conf/layer.conf を修正する。 このあたりの修正は、このブロクに書くよりも、

zynq - Hidemi Wiki

などを見るほうがよっぽど正確である。なので省略。

一点引っ掛かった点として、conf/local.conf からBB_NUMBER_THREADS と PARALLEL_MAKEが消えている? サーチしても引っ掛からないので、 自分で適当に追加した。ちなみに僕はVirtualBox上のUbuntuを4コアで動かしているので、

BB_NUMBER_THREADS ?= "8"
PARALLEL_MAK ?= -j 8"

としてみる。

そして今現在絶賛ビルド中。。。一度仮想ディスクが無くなって強制終了されてしまった。30GBを大分使い尽くしていたので、ディスクを拡張後、再ビルド。 ♯ まあこのディスクにはriscvのビルドツールも入っているしなあ。。。

ビルド完了した。寝て起きたら完了している、という感じ。

$ bitbake core-image-minimal
Loading cache: 100% |####################################################################################################################| ETA:  00:00:00
Loaded 1354 entries from dependency cache.
Parsing recipes: 100% |##################################################################################################################| Time: 00:00:00
Parsing of 953 .bb files complete (952 cached, 1 parsed). 1354 targets, 64 skipped, 0 masked, 0 errors.
WARNING: No recipes available for:
  /home/masayuki/zynq_linux/poky/meta-xilinx/recipes-extended/libaio/libaio_0.3.109.bbappend
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.25.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-14.04"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "zedboard-zynq7"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7"
TUNE_FEATURES     = " arm armv7a vfp neon zynq"
TARGET_FPU        = "vfp-neon"
meta
meta-yocto
meta-yocto-bsp    = "master:870323cac1e40e8f95ea7bd6f425a85dcfbab612"
meta-linaro       = "master:6a41834e6fb8b64d3dd1a2a87aa90793839571a9"
toolchain-layer   = "master:9c926ef2d463e643fb0dc87f6535a12e35d039ab"
meta-xilinx       = "master:ffadbb0b7f5880ef2d7b3667e2d20f5d27538363"

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: Failed to fetch URL ftp://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz;name=tarball, attempting MIRRORS if available
WARNING: /home/masayuki/zynq_linux/poky/build/tmp/work/zedboard_zynq7-poky-linux-gnueabi/device-tree/1.0-r0/device-tree-1.0 ('S') don't exist, you must set 'S' to a proper value
WARNING: Failed to fetch URL http://createrepo.baseurl.org/download/createrepo-0.4.11.tar.gz, attempting MIRRORS if available
NOTE: validating kernel config, see log.do_kernel_configcheck for details
NOTE: Tasks Summary: Attempted 2880 tasks of which 581 didn't need to be rerun and all succeeded.

Summary: There were 4 WARNING messages shown.