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
- 作者: Interface編集部
- 出版社/メーカー: CQ出版
- 発売日: 2014/04/26
- メディア: 単行本
- この商品を含むブログを見る
こちらに、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 を修正する。 このあたりの修正は、このブロクに書くよりも、
などを見るほうがよっぽど正確である。なので省略。
一点引っ掛かった点として、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.