[[bc10]]~
[[bc10-router]]~

#contents

* bc10-router/arago-project(danny)/Ubuntu12.04LTS [#aa77ef4e]
本稿は [[bc10-router/arago-project]] に記載した内容の更新版です。~
~
主な更新内容は以下のとおりです。~

- ホストOS: Ubuntu10.04LTS(Desktop、64bit版) から ~
Ubuntu12.04LTS(Desktop、64bit版)に更新~
~
- Arago Project: [[arago-project(outdated)>http://arago-project.org/wiki/index.php/Crosscompiling_Outside_of_Arago]] から ~
[[meta パッケージを導入した arago-project(danny)>http://arago-project.org/wiki/index.php/Main_Page]] (以降 arago-project と記載)に更新 ~

上記の更新内容でビルド環境構築手順と bc10 への導入について記載します。~
~
注1: [[bc10-router/arago-project]] ではホストOSは Ubuntu10.04LTS(Desktop、64bit版) を~
使用していましたが2013年4月で OS のサポートが終了しました(EOL)。~
そのため本稿ではホストOSを Ubuntu 12.04LTS に変更しています。~
~
また Ubuntu 10.04LTS(Server版) の EOL は2015年4月、 ~
Ubuntu 12.04LTS の EOL は2017年4月です。~

注2: arago-project のアップデートにより、予告無く本稿に記載している内容が~
適用できないことがありますのでご注意ください。~

* ビルド環境構築 [#zc342a0f]
以降ホストOSに Ubuntu 12.04LTS(Desktop、64bit版) がインストールされており、~
ディスクの空き容量が約 60GB ある前提で記載します。~
~
ビルド環境の設定とビルドの手順はarago-project に記載されている ~
[[Setting Up Build Environment>http://arago-project.org/wiki/index.php/Setting_Up_Build_Environment]] の手順を参考にし、~
イメージの作成をしています。~

** 本稿での主な変更点 [#u21778bb]
[[Setting Up Build Environment>http://arago-project.org/wiki/index.php/Setting_Up_Build_Environment]] からの主な変更点は以下のとおりです。~

- dylan ブランチから danny ブランチに変更 ~
~
- bitbake コマンドの MACHINE 指定を MACHINE=am335x-evm から ~
MACHINE=beagleboard に変更 ~


注3: danny ブランチ、dylan ブランチは [[Yocto Project>https://www.yoctoproject.org/]] のブランチバージョンをあらわしています。 ~
本稿で danny ブランチを使用しているのはdylan ブランチより~
ソースファイルの更新が少なく安定しているためです。~

** Ubuntu12.04LTS の Update と追加パッケージのインストール [#w88bc338]
ビルド環境を構築するために Ubuntu12.04LTS の Update と ~
追加パッケージのインストールを行います。 ~

 $ sudo apt-get dist-upgrade
 $ sudo apt-get install linux-image-generic-lts-saucy linux-headers-generic-lts-saucy

arago-project のビルドに必要なパッケージをインストールします。~
またデフォルト shell を dash から bash に変更します。~

 $ sudo apt-get install git build-essential diffstat texinfo gawk chrpath
 $ sudo apt-get install ia32-libs
 $ sudo dpkg-reconfigure dash

また [[Setting Up Build Environment>http://arago-project.org/wiki/index.php/Setting_Up_Build_Environment]] に記載はありませんが、libc6-dev-i386 が無いと~
ビルド時にエラーが起こるため lib6-dev をインストールします。~

 $ sudo apt-get install libc6-dev libc6-dev-i386

以下のパッケージは使用環境に合わせて任意でインストールしてください。~

 $ sudo apt-get install vim lv nautilus-open-terminal
 $ sudo apt-get install ssh

** ビルド環境の設定 [#wc523573]
arago-project をビルドするため Linaro 2013.03版 Toolchain の取得と展開をします。~

 $ mkdir ~/src
 $ cd ~/src
 $ wget --no-check-certificate https://launchpad.net/linaro-toolchain-binaries/trunk/2013.03/+download/gcc-linarolinux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
 $ tar -jxvf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2 -C $HOME

arago-project のファイルを取得し、danny ブランチの config 設定を行います。~
環境変数を設定後、arago-project の最小構成イメージの core-image-minimal をビルドします。~

 $ cd ~/
 $ git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
 $ cd tisdk
 $ ./oe-layertool-setup.sh -f configs/arago-danny-config.txt 

上記コマンドを実行すると以下のようなログと共にビルドに必要なファイル、~
ディレクトリを取得します。~

 ...<snip>...
 Resolving deltas: 100% (19437/19437), done.
 Already on 'master'
 Already up-to-date.
 Note: checking out '1.17.0'.
 ...<snip>...
 For example:
     MACHINE=xxxxx bitbake <target>
 
 Common targets are:
     core-image-minimal
     core-image-sato
     meta-toolchain
     meta-toolchain-sdk
     adt-installer
     meta-ide-support

 $ cd build/
 $ . conf/setenv 
 $ export PATH=$HOME/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin:$PATH

** core-image-minimalのビルド [#ae999725]
bitbake コマンドを実行すると、以下のようなログが出力されビルドが開始されます。~
ビルド完了時にWARNINGが表示されますが、特に問題はありません。~

注4: 使用環境にもよりますがビルド完了までかなりの時間がかかります。~

 $ MACHINE=beagleboard bitbake core-image-minimal
 ...<snip>...
 Build Configuration:
 BB_VERSION        = "1.17.0"
 TARGET_ARCH       = "arm"
 TARGET_OS         = "linux-gnueabi"
 MACHINE           = "beagleboard"
 DISTRO            = "arago"
 DISTRO_VERSION    = "2013.06"
 TUNE_FEATURES     = "armv7a vfp neon thumb callconvention-hard cortexa8"
 TARGET_FPU        = "vfp-neon"
 meta-arago-distro
 meta-arago-extras = "danny:3a583c7ccb3392b6e14d67a4822a706071485bb2"
 toolchain-layer
 meta-oe           = "danny:f00028caf257e386c0f3ae46bd4b3ba53dd0729d"
 meta-ti           = "danny:72d4c5d37decfc8591981d3c8a859af6e6e68059"
 meta-linaro       = "danny:d0558fa4304592622423582f8b464e1c22cfe6f1"
 meta              = "danny:d6c69df33e5b447eb01ee7fca921b94c3a853203"
 ...<snip>...
 
 NOTE: Tasks Summary: Attempted 1412 tasks of which 216 didn't need to be rerun and all succeeded.
 
 Summary: There were 46 WARNING messages shown.

ビルド完了後 ${HOME}/tisdk/build/arago-tmp-external-linaro-toolchain/deploy/images 以下に ~
MLO、rootfs、u-boot.img、uImage が作成されていることを確認します。

 $ cd arago-tmp-external-linaro-toolchain/deploy/images/
 $ ls -lh
 合計 25M
 lrwxrwxrwx 1 beat beat   83  1月 28 19:54 MLO -> MLO-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0
 lrwxrwxrwx 1 beat beat   83  1月 28 19:54 MLO-beagleboard -> MLO-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0
 -rwxr-xr-x 1 beat beat  44K  1月 28 19:54 MLO-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0
 -rw-rw-r-- 1 beat beat  294  1月 28 20:22 README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
 -rw-r--r-- 1 beat beat 2.3M  1月 28 20:23 core-image-minimal-beagleboard-20140128065636.rootfs.tar.gz
 -rw-r--r-- 1 beat beat 4.9M  1月 28 20:23 core-image-minimal-beagleboard-20140128065636.rootfs.ubi
 -rw-r--r-- 1 beat beat 4.6M  1月 28 20:23 core-image-minimal-beagleboard-20140128065636.rootfs.ubifs
 lrwxrwxrwx 1 beat beat   59  1月 28 20:23 core-image-minimal-beagleboard.tar.gz -> core-image-minimal-beagleboard-20140128065636.rootfs.tar.gz
 lrwxrwxrwx 1 beat beat   56  1月 28 20:23 core-image-minimal-beagleboard.ubi -> core-image-minimal-beagleboard-20140128065636.rootfs.ubi
 -rw-rw-r-- 1 beat beat 9.2M  1月 28 19:53 modules-3.3.7-r125b+gitrv3.3.7-beagleboard.tgz
 -rwxr-xr-x 1 beat beat 329K  1月 28 19:54 u-boot-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0.img
 lrwxrwxrwx 1 beat beat   90  1月 28 19:54 u-boot-beagleboard.img -> u-boot-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0.img
 lrwxrwxrwx 1 beat beat   90  1月 28 19:54 u-boot.img -> u-boot-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0.img
 lrwxrwxrwx 1 beat beat   60  1月 28 19:53 uImage -> uImage-3.3.7-r125b+gitrv3.3.7-beagleboard-20140128065636.bin
 -rw-r--r-- 1 beat beat 3.3M  1月 28 19:53 uImage-3.3.7-r125b+gitrv3.3.7-beagleboard-20140128065636.bin
 lrwxrwxrwx 1 beat beat   60  1月 28 19:53 uImage-beagleboard.bin -> uImage-3.3.7-r125b+gitrv3.3.7-beagleboard-20140128065636.bin
 -rw-r--r-- 1 beat beat  230  1月 28 20:23 ubinize.cfg

以上で core-image-minimal のビルドは完了です。 ~

*** core-image-minimal とは [#s07720f1]
core-image-minimal は arago-project をビルドする際の最小 package 構成のイメージです。~
core-image-minimal の recipe ファイル PATH は以下のとおりです。~

 ${HOME}/tisdk/sources/oe-core/meta/recipes-core/images/core-image-minimal.bb

また packagegroup-core-boot.bb というファイルを見ればどのような package から~
構成されているかビルド前に調べることができます。~
package-groupe のファイル PATH は以下のとおりです。~

 ${HOME}/tisdk/sources/oe-core/meta/recipes-core/packagegroups/

*** その他のイメージ recipe について [#dff76b3e]
arago-project には core-image-minimal イメージ以外に下記の PATH に ~
イメージ関連の recipe ファイル群があります。~

 ${HOME}/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/images/

core-image-minimal イメージ以外の recipe には以下ものがあります。~

 arago-amsdk-image.bb
 arago-base-image.bb
 arago-base-tisdk-image.bb
 arago-console-image.bb
 arago-core-tisdk-image.bb
 arago-core-tisdk-image.inc
 arago-image.inc
 tisdk-rootfs-image.bb
 tisdk-server-rootfs-image.bb

また arago-image.inc は他のイメージから include される共通設定です。~
これらの image recipe の中で指定している packagegroupe は以下の PATH にあります。~

 ${HOME}/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/packagegroup/


** arago-console-image のビルド [#g10c084f]
core-image-minimal のイメージは busybox 由来のコマンドが大半を占め、 ~
使用しづらい事があるため、追加で arago-console-image イメージのビルドを~
行います。~

またその際に、 [[bc10-router/arago-project]] と同様のパッケージを導入できるよう~

 ${HOME}/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/packagegroups

にある packagegroup-arago-console.bb を以下のように編集します。~

 $ diff -upN __packagegroup-arago-console.bb_orig packagegroup-arago-console.bb
 --- __packagegroup-arago-console.bb_orig        2014-01-29 14:59:28.755799860 +0900--- __packagegroup-arago-console.bb_orig        2014-01-29 14:59:28.755799860 +0900
 +++ packagegroup-arago-console.bb       2014-01-30 12:38:03.058736885 +0900
@@ -51,6 +51,18 @@ ARAGO_UTILS = "\
      iproute2 \
      strace \
      ltrace \
 +    bridge-utils \
 +    dnsmasq \
 +    grep \
 +    hostap-daemon \
 +    hostap-utils \
 +    iperf \
 +    iptables \
 +    iw \
 +    procps \
 +    openssh \
 +    openssl \
 +    rp-pppoe \
 +    wireless-tools \
      ${@base_contains('MACHINE_FEATURES', 'pci', 'pciutils', '',d)} \
      "
編集完了後、以下のコマンドを実行します。 ~
core-image-minimal のビルド後のため、ビルドにかかる時間は ~
それほどはかかりません。 ~

 $ cd ~/tisdk/build
 $ MACHINE=beagleboard bitbake arago-console-image

ビルド完了後 ${HOME}/tisdk/build/arago-tmp-external-linaro-toolchain/deploy/images 以下に ~
arago-console-image-beagleboard-20140130033805.rootfs.tar.gzが ~
作成されていることを確認します。~

 $ cd ~/tisdk/build/arago-tmp-external-linaro-toolchain/deploy/images
 $ ls -lh
 合計 232M
 lrwxrwxrwx 1 beat beat   83  1月 28 19:54 MLO -> MLO-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0
 lrwxrwxrwx 1 beat beat   83  1月 28 19:54 MLO-beagleboard -> MLO-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0
 -rwxr-xr-x 1 beat beat  44K  1月 28 19:54 MLO-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0
 -rw-rw-r-- 1 beat beat  294  1月 31 12:48 README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
 -rw-r--r-- 1 beat beat  26M  1月 30 14:17 arago-console-image-beagleboard-20140130033805.rootfs.tar.gz
 -rw-r--r-- 1 beat beat  39M  1月 30 14:18 arago-console-image-beagleboard-20140130033805.rootfs.ubi
 -rw-r--r-- 1 beat beat  39M  1月 30 14:18 arago-console-image-beagleboard-20140130033805.rootfs.ubifs
 -rw-r--r-- 1 beat beat  26M  1月 31 12:54 arago-console-image-beagleboard-20140131034334.rootfs.tar.gz
 -rw-r--r-- 1 beat beat  40M  1月 31 12:55 arago-console-image-beagleboard-20140131034334.rootfs.ubi
 -rw-r--r-- 1 beat beat  40M  1月 31 12:55 arago-console-image-beagleboard-20140131034334.rootfs.ubifs
 lrwxrwxrwx 1 beat beat   60  1月 31 12:54 arago-console-image-beagleboard.tar.gz -> arago-console-image-beagleboard-20140131034334.rootfs.tar.gz
 lrwxrwxrwx 1 beat beat   57  1月 31 12:55 arago-console-image-beagleboard.ubi -> arago-console-image-beagleboard-20140131034334.rootfs.ubi
 -rw-r--r-- 1 beat beat 2.3M  1月 28 20:23 core-image-minimal-beagleboard-20140128065636.rootfs.tar.gz
 -rw-r--r-- 1 beat beat 4.9M  1月 28 20:23 core-image-minimal-beagleboard-20140128065636.rootfs.ubi
 -rw-r--r-- 1 beat beat 4.6M  1月 28 20:23 core-image-minimal-beagleboard-20140128065636.rootfs.ubifs
 lrwxrwxrwx 1 beat beat   59  1月 28 20:23 core-image-minimal-beagleboard.tar.gz -> core-image-minimal-beagleboard-20140128065636.rootfs.tar.gz
 lrwxrwxrwx 1 beat beat   56  1月 28 20:23 core-image-minimal-beagleboard.ubi -> core-image-minimal-beagleboard-20140128065636.rootfs.ubi
 -rw-rw-r-- 1 beat beat 9.2M  1月 28 19:53 modules-3.3.7-r125b+gitrv3.3.7-beagleboard.tgz
 -rwxr-xr-x 1 beat beat 329K  1月 28 19:54 u-boot-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0.img
 lrwxrwxrwx 1 beat beat   90  1月 28 19:54 u-boot-beagleboard.img -> u-boot-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0.img
 lrwxrwxrwx 1 beat beat   90  1月 28 19:54 u-boot.img -> u-boot-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0.img
 lrwxrwxrwx 1 beat beat   60  1月 28 19:53 uImage -> uImage-3.3.7-r125b+gitrv3.3.7-beagleboard-20140128065636.bin
 -rw-r--r-- 1 beat beat 3.3M  1月 28 19:53 uImage-3.3.7-r125b+gitrv3.3.7-beagleboard-20140128065636.bin
 lrwxrwxrwx 1 beat beat   60  1月 28 19:53 uImage-beagleboard.bin -> uImage-3.3.7-r125b+gitrv3.3.7-beagleboard-20140128065636.bin
 -rw-r--r-- 1 beat beat  231  1月 31 12:54 ubinize.cfg


* bc10への導入 [#u3a5239c]
[[bc10/booting 起動用SDカードの作成>http://labs.beatcraft.com/ja/index.php?bc10%2Fbooting#q0449272]]の手順で作成されたSDカードを ~
使用する前提で記載しています。FAT32、Ext3それぞれのディレクトリ名は ~
/media/FAT,/media/EXT3とします。~
~
上記で作成されたMLO、uboot、uImage、rootfsの各ファイルを~
それぞれのディレクトリにコピー、展開をします。~

 $ cp MLO-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0 /media/FAT/MLO
 $ cp u-boot-beagleboard-2012.04.01-r1+gitr1+415d386877df49eb051b85ef74fa59a16dc17c7d-arago0.img /media/FAT/u-boot.img
 $ cp uImage-3.3.7-r125b+gitrv3.3.7-beagleboard-20140128065636.bin /media/FAT/uImage
 $ sudo tar xvfz arago-console-image-beagleboard-20140130033805.rootfs.tar.gz
 -C /media/EXT3

以上で、SDへの書き込みは完了です。~

* bc10 の簡易起動確認 [#t7bd1c9f]
上記のイメージを導入した SD を挿した bc10 を起動した際の ~
簡易起動確認のログを以下に記載します。 ~
~
bc10 の構成は次のとおりです。~

 bc10 - USB AC パワードハブ ---- LUA3-U2-ATX (USB Ether)
                             |
                             -- WLI-UC-AG300N (USB Wifi)


 ... <snip> ...
 Stopping Bootlog daemon: bootlogd.
 
  _____                    _____           _         _
 |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
 |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
 |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
               |___|                    |___| 
 
 Arago Project http://arago-project.org beagleboard ttyO2
 
 Arago 2013.06 beagleboard ttyO2 
 
 beagleboard login: root
 root@beagleboard:~# uname -a
 Linux beagleboard 3.3.7 #1 Tue Jan 28 18:39:28 JST 2014 armv7l GNU/Linux
 root@beagleboard:~# lsusb
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
 Bus 001 Device 003: ID 0b95:7720 ASIX Electronics Corp. AX88772
 Bus 001 Device 004: ID 0411:012e BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-AG300N Wireless LAN Adapter
 root@beagleboard:~# ifconfig -a
 eth0      Link encap:Ethernet  HWaddr 4C:E6:76:55:49:C6
           inet addr:192.168.0.152  Bcast:0.0.0.0  Mask:255.255.255.0
           inet6 addr: 2001:268:321:8000:4ee6:76ff:fe55:49c6/64 Scope:Global
           inet6 addr: fe80::4ee6:76ff:fe55:49c6/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:39 errors:0 dropped:9 overruns:0 frame:0
           TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:4162 (4.0 KiB)  TX bytes:1416 (1.3 KiB)
 
 lo        Link encap:Local Loopback
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1/128 Scope:Host
           UP LOOPBACK RUNNING  MTU:16436  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) 
 
 wlan0     Link encap:Ethernet  HWaddr 00:1D:73:A2:97:97
           BROADCAST MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   新規 一覧 単語検索 最終更新   最終更新のRSS