【Intel Galileo:2】cross compile toolchain (Board Support Package (BSP) Build Guide)

SD Linux に、なんか入れて使うなら、cross-compile しないと駄目だよって書いてあるように読めたので。。

uclib header file query | Intel Communities

以下の場所から、
Intel〓 Quark SoC X1000 Board Support Package (BSP) Build Guide 」
を手に入れて、環境を作成してみた。

Download Intel® Quark™ BSP

結構、大変だったぁ。。 ・゚・(ノД`)・゚・

作成した環境

Mac OSX にある、VirtualBox に、Debian 7.3 32bit の仮想環境を作成。
その上に、Board Support Package の cross compile toolchain をつくる。

Guest OS は

  • CPU 1
  • Memory 2G
  • Disk 50G

で、動かしている。

以下、Build Guide にそって、やった事と、注意することを書いておく。
やんなかったところは、すっとばす。。

rootで、作業すると駄目なので、root以外のユーザで作業はする事。
Buildのスクリプトで、チェックがはいる。*1

Before you begin

Debian 7.0 で、検証しているので、それ以外の環境だと、Warning がでる。

Downloading software

Download Intel® Quark™ BSP

から、
「Board_Support_Package_Sources_for_Intel_Quark_v0.9.0.7z」
を、ダウンロードした。

sudo aptitude install p7zip

展開する。

p7zip -d Board_Support_Package_Sources_for_Intel_Quark_v0.9.0.7z

以下のファイルが展開される。

Board_Support_Package_Sources_for_Intel_Quark_v0.9.0/Quark_EDKII_v0.9.0.tar.gz
Board_Support_Package_Sources_for_Intel_Quark_v0.9.0/clanton_linux_v3.8.7+v0.9.0.tar.gz
Board_Support_Package_Sources_for_Intel_Quark_v0.9.0/grub-legacy_5775f32a+v0.9.0.tar.gz
Board_Support_Package_Sources_for_Intel_Quark_v0.9.0/meta-clanton_v0.9.0.tar.gz
Board_Support_Package_Sources_for_Intel_Quark_v0.9.0/spi-flash-tools_v0.9.0.tar.gz
Board_Support_Package_Sources_for_Intel_Quark_v0.9.0/sysimage_v0.9.0.tar.gz

準備。

sudo apt-get install build-essential gcc-multilib vim-common

Creating a file system and building the kernel using Yocto

必要なパッケージのインストール。

sudo aptitude install git
sudo aptitude install diffstat
sudo aptitude install texinfo
sudo aptitude install gawk
sudo aptitude install chrpath
sudo aptitude install file


meta-clanton_v0.9.0.tar.gz の展開先を、
Board_Support_Package_Sources_for_Intel_Quark_v0.9.0 配下から
~/ へ移動して展開した。*2

cd ~
tar zxvf Board_Support_Package_Sources_for_Intel_Quark_v0.9.0/meta-clanton_v0.9.0.tar.gz

setupする。

cd meta-clanton_v0.9.0
./setup.sh 

Building the cross compile toolchain

いよいよ、 toolchain の構築。
すごい時間がかかった。。*3

この source で、作られる環境で既存の環境を壊さない様に
必ず、新しい ターミナルを起動して作業する様に推奨されている。

cd meta-clanton_v0.9.0
source poky/oe-init-build-env yocto_build 
bitbake image-full -c populate_sdk 


終了すると、セットアップの sh ができあがる。

yocto_build/tmp/deploy/sdk/clanton-tiny-uclibc-i686-i586-toolchain-1.4.2.sh

これを実行すると、環境が一式インストールされる。

デフォルトでは、/opt の配下にインストールされた。

ls -l /opt/clanton-tiny/1.4.2/
-rw-r--r-- 1 root root  2124  126 13:01 environment-setup-i586-poky-linux-uclibc
-rw-r--r-- 1 root root 14309  126 06:33 site-config-i586-poky-linux-uclibc
drwxr-xr-x 4 root root  4096  126 06:30 sysroots
-rw-r--r-- 1 root root   129  126 06:33 version-i586-poky-linux-uclibc


cross compile する時には、ターミナルで新しく以下の source を実行して
コンパイルする。

source /opt/clanton-tiny/1.4.2/environment-setup-i586-poky-linux-uclibc 

つぎは

一応、やりたい事があるので、作業してみてるけど、まだ、完了してないので
また、いつか。。

*1: それで、やり直した。 orz

*2:一度、引数が長過ぎるってエラーが出てその時の対応

*3: 21:41 から、06:35 までかかった。 ・゚・(ノД`)・゚・