[[bc10]]
~
COLOR(red){(注)2010年11月以降 記載しているビルドシステム自体に大きな変更が加えられたためstable/2009ブランチでの}~
COLOR(red){ビルドが完了しなくなりました。またmasterブランチではビルドは完了しますが、記載時点のものとuserlandのディレクトリ位置や}~
COLOR(red){ 各ソフトウェアバージョンなどに差異がありますのでご了承ください。}~
詳細につきましては[[Building Ångström>http://www.angstrom-distribution.org/building-angstrom]]をご覧ください。~
COLOR(red){ 各ソフトウェアバージョンなどに差異がありますのでご注意ください。}~
詳細につきましては[[Building Angstrom>http://www.angstrom-distribution.org/building-angstrom]]をご覧ください。~

- 目次
#contents

*概要 [#ye00a6a1]
2010/09/22~
- bc10 向けに Angstrom Distribution をビルドする方法について、情報をまとめてあります。
- Angstrom Distribution は組み込み Linux 向けのビルドフレームワークである OpenEmbedded 上に構築されたディストリビューションです。
- beagleboard クローンである bc10 で動作するのは正確には Angstrom Distribution ですが、OpenEmbedded の知識を前提としていますので~
ここでは広義の OpenEmbedded Linux の一つと考え OpenEmbedded Linux と記述します。~

*bc10 用OpenEmbeddedビルド環境作成手順 [#tb418d21]
Ubuntu 10.04 を使って、the Angstrom Distribution の [[Building Angstrom:http://www.angstrom-distribution.org/building-angstrom]] の手順に従ってビルド環境用の設定をします。~

**Ubuntu 10.04 開発環境[#zc8f4d78]
- 設定およびパッケージの追加 ~

Ubuntu デフォルトの sh は dash なので以下のコマンドを実行し bash に変更します。
~
sh が dash になっていると bitbake 実行時 bash を指定しているものがあり、予期せぬところでエラーが発生するためです。~

 $ sudo dpkg-reconfigure dash

「dash を /bin/sh インストールしますか?」と聞かれるので「No」を選択します。~
これで sh は bash に変更されます。~

[[OEandYourDistro:http://wiki.openembedded.org/index.php/OEandYourDistro]] の [[Debian の項:http://wiki.openembedded.org/index.php/OEandYourDistro#Debian]] の通りに build に必要な deb package をインストールします。~

 $ sudo apt-get install ssh

 $ sudo 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
(一行にすると長いので\(円マークに見えますがバックスラッシュです)で改行しています。)
 $ sudo apt-get install libxml2-utils xmlto python-psyco docbook

- gzip ~

また、Ubuntu 10.04 では bitbake base-image 実行時に expat-2.0.1.tar.gz で
[[DATA-CRC Errorが発生:http://groups.google.co.jp/group/beagleboard/browse_thread/thread/2cbddf944f98dfdc]]します。 ~
これは [[gzip 1.3.12 によって発生:http://groups.google.co.jp/group/beagleboard/browse_thread/thread/2cbddf944f98dfdc]]しています。
gzip を [[1.4に変更:http://maltanar.blogspot.com/2010/05/getting-working-gzip.html]]することで上記エラーが発生しなくなるので 1.4 に変更します。~

gzip のバージョン確認~

 $ gzip --version
 gzip 1.3.12 

1.3.12 なので 1.4 に更新します。~
gnu.org からgzip 1.4 を取得しビルド、インストールをします。~

 $ wget ftp://ftp.gnu.org/gnu/gzip/gzip-1.4.tar.gz
 $ tar xvfz gzip-1.4.tar.gz
 $ cd gzip-1.4
 $ ./configure
 $ make
 $ sudo make install

インストール完了後 version が1.4 になっていることを確認します。~

 $ gzip --version
 gzip 1.4

** bitbake 環境構築 [#q3b79387]
bitbake は 組込向け Linux ディストリビューションとして必要な kernel、パッケージ~
を Recipe という形で管理、ビルドするために使用する make コマンドのようなツールです。~
Recipe は ソースコードの取得や そのソースコードにあてる patch config からビルドなどを メタデータの形で持っています。~
より詳細な資料は 『[[BitBake User Manual:http://docs.openembedded.org/bitbake/html/]]』をご覧ください。~
 
ここでは [[Building Angstrom:http://www.angstrom-distribution.org/building-angstrom]] に記載されている方法と bc10 用への変更を記載します。~

- angstrom-setup-scripts ~
angstrom-setup-script は Angstrom (OpenEmbedded Linux) をビルドするための~
設定スクリプトやスクリプト実行後のファイル保存、ビルドのために使用します。~
angstrom-setup-script を git で取得します。~


 $ cd ~
 $ git clone git://gitorious.org/angstrom/angstrom-setup-scripts.git
 $ cd angstrom-setup-scripts

oebb.sh でセットアップ対象のマシン名を指定します。
ここでは beagleboard を指定します。~

 $ ./oebb.sh config beagleboard

実行後以下のようなメッセージが出ます。~

 There now is a sourceable script in ~/.oe/enviroment. You can do '.  
 ~/.oe/environment' and run 'bitbake something' without using ./oebb.sh 
 as wrapper
 
 Setup for beagleboard completed

oebb.sh update を実行し OE と bitbake のファイルをダウンロードします。~

 $ ./oebb.sh update
ここで 実行最後に以下のようなエラーがでますが、ビルド自体には問題ありません。~

 fatal: git checkout: branch org.openembedded.dev already exists

COLOR(red){(注)stable/2009 branch は2010年11月以降 ビルドシステム自体に大きな変更が加えられたためstable/2009 ブランチでの}~
COLOR(red){ ビルドが完了しなくなりました。master ブランチではビルドは完了しますが、記載時点のものとuserlandのディレクトリ位置や}~
COLOR(red){  各ソフトウェアバージョンなどに差異がありますのでご了承ください。}~
COLOR(red){  各ソフトウェアバージョンなどに差異がありますのでご注意ください。}~

%%- stable/2009 %%~
%%環境構築しやすくするために openembedded 内のブランチを org.openembedded.dev から stable/2009 に切り替えます。%%~
%%angstrom-setup-scripts/sources/openembedded/ で stable/2009 のブランチが存在することを確認します。%%~

%% $ cd ~/angstrom-setup-scripts/sources/openembedded/ %% ~
%% $ git branch -a %% ~

%% <略> %% ~
%%  remotes/origin/shared/blackfin%% ~
%%  remotes/origin/shared/xorg-7.4-update %% ~
%%  remotes/origin/shr/import %% ~
%%  remotes/origin/shr/merge %% ~
%%  remotes/origin/shr/stable2009 %% ~
%%  remotes/origin/shr/testing2009 %% ~
%%  remotes/origin/shr/testing2010 %% ~
%%  remotes/origin/shr/unstable %% ~
%% <略> %% %%~ 

%% $ git checkout origin/stable/2009 -b stable/2009 %% ~
%% $ git pull %% ~
%%git pull を実行するとアップデートの必要がないという以下のメッセージが表示されます。%%~

%% Already up-to-date. %%~


- local.conf ~
local.conf に DISTROが angstrom-2008.1 MACHINE beagleboard と記載されていることを確認します。~

 $ cd ~/angstrom-setup-scripts/build/conf
 $ vi local.conf

 BB_NUMBER_THREADS = "2"
 
 DISTRO   = "angstrom-2008.1"
 MACHINE ?= "beagleboard" 
 
 # Set TMPDIR instead of defaulting it to /tmp
 TMPDIR = "/home/beat/angstrom-setup-scripts/build/tmp-angstrom_2008_1"
 
 # Don't generate the mirror tarball for SCM repos, the snaps
 hot is enough
 BB_GENERATE_MIRROR_TARBALLS = "0"


- bitbake 用環境変数設定~

環境設定用ファイル ~/.oe/enviroment を読み込み、beagleboard 用の各PATHが設定が完了します。

 $ .  ~/.oe/environment

- mmap_min_addr ~

Ubuntu 10.04 では bitbake 実行時 qemu-arm のビルドで vm/mmap_min_addr の値を0 にしないとビルドエラーを起こします。~
[[wiki:http://wiki.openembedded.org/index.php/OEandYourDistro#Using_OpenEmbedded_on_Linux_systems]] では 128 でも良いと書かれていますが、0 を設定しないと bitbake 実行時に以下のエラーメッセージが表示されます。~

 $  MACHINE=beagleboard bitbake base-image
 FATAL:  Openembedded's config sanity checker detected a potential 
 misconfiguration.
       Either fix the cause of this error or at your own risk disable the 
 checker (see sanity.conf).
       Following is the list of potential problems / advisories:
        /proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).
 
 To fix this in later reboots, set vm.mmap_min_addr = 0 in /etc/sysctl.conf.


[[Wiki:http://wiki.openembedded.org/index.php/OEandYourDistro#Using_OpenEmbedded_on_Linux_systems]]の[SOLVED - update 2010-05]の項目 に書かれている方法 a)またはb) にてmmap_min_addr の値を 0に設定します。~
(Wikiでは"128"と書いてありますが、0に設定しないとエラーメッセージが bitbake 実行時に出ます。)~

 $ sudo -s

 a)
 # echo 0 > /proc/sys/vm/mmap_min_addr
 # cat /proc/sys/vm/mmap_min_addr
 0

 b)
 # sysctl -w vm.mmap_min_addr=0 

* Angstrom イメージ作成 1 [#l7df46a6]
** bitbake 実行[#rf74f034]

- bitbake base-image ~

mmap_min_addr の設定完了後、bitbake base-image を実行します。~

 $ MACHINE=beagleboard bitbake base-image

 <中略>
 NOTE: Running task 2909 of 2910 (ID: 18, /home/beat/angstrom-setup-scripts/sources/openembedded/recipes/images/base-image.bb, do_rm_work)
 NOTE: package base-image-1.0-r0: task do_rm_work: Started
 NOTE: package base-image-1.0-r0: task do_rm_work: Succeeded
 NOTE: Running task 2910 of 2910 (ID: 0, /home/beat/angstrom-setup-scripts
 /sources/openembedded/recipes/images/base-image.bb, do_rm_work_all)
 NOTE: package base-image-1.0-r0: task do_rm_work_all: Started
 NOTE: package base-image-1.0-r0: task do_rm_work_all: Succeeded
 NOTE: Tasks Summary: Attempted 2910 tasks of which 2822 didn't need to be rerun and 0 failed.

上記のように表示されると bitbake base-image の完了です。

-- 注意 ~
bitbake 途中で以下のようなメッセージがでることがあります。
 NOTE: Running task 2823 of 2910 (ID: 128, /home/beat/angstrom-setup-scripts
 /sources/openembedded/recipes/mtd/mtd-utils-native_1.0.0+git.bb, do_setscene)
 fatal: The remote end hung up unexpectedly
 fatal: early EOF
 fatal: index-pack failed
 ERROR: TaskFailed event exception, aborting
 ERROR: Build of /home/beat/angstrom-setup-scripts/sources/openembedded/recipes
 /u-boot/u-boot_git.bb do_fetch failed
 ERROR: Task 147 (/home/beat/angstrom-setup-scripts/sources/openembedded/recipes
 /u-boot/u-boot_git.bb, do_fetch) failed with 256
 NOTE: Task failed: Unknown fetch Error: [Errno 2] No such file or directory: 
 '/home/beat/angstrom-setup-scripts/sources/downloads/git_gitorious.org.u-
 boot-omap3.mainline.git_d363f9cb0918a1b6b92e2e20d01543d0c4f53274.tar.gz'
 NOTE: package u-boot2009.05+r30+gitrd363f9cb0918a1b6b92e2e20d01543d0c4f53274-r30:
 task do_fetch: Failed
 ERROR: TaskFailed event exception, aborting
 NOTE: package mtd-utils-native-1.0.0+git-r8: task do_compile: Succeeded
 ERROR: Build of /home/beat/angstrom-setup-scripts/sources/openembedded/recipes
 /u-boot/u-boot_git.bb do_fetch failed
 ERROR: Task 147 (/home/beat/angstrom-setup-scripts/sources/openembedded/recipes
 /u-boot/u-boot_git.bb, do_fetch) failed with 256
bitbake 実行中にファイルの取得に失敗した場合このままエラーとして終了しますが、再度 bitbake base-image を実行すると~
ファイル取得から再開します。~

- bitbake console-image ~

bitbake base-image 実行完了後、bitbake console-image を実行します。~

 $ MACHINE=beagleboard bitbake cosole-image

 <中略>
 NOTE: package console-image-1.0-r0: task do_rm_work: Started
 NOTE: package console-image-1.0-r0: task do_rm_work: Succeeded
 NOTE: Running task 2892 of 2892 (ID: 0, /home/beat/angstrom-setup-scripts
 /sources/openembedded/recipes/images/console-image.bb, do_rm_work_all)
 NOTE: package console-image-1.0-r0: task do_rm_work_all: Started
 NOTE: package console-image-1.0-r0: task do_rm_work_all: Succeeded
 NOTE: Tasks Summary: Attempted 2892 tasks of which 2854 didn't need to be rerun and 0 failed.

上記のように表示されると bitbake console-image の完了です。~

-- bitbake base-image、console-imageについて~
base-image :以前の nanoと同様のもの kernel、busybox、ipkg をインストールできるシステムです。 ~
cosole-image: 以前のtask-base にプラスされたもの、各ペリフェラルに対するパッケージと BT、WIFI が追加されたものになります。~
task-base内にtask-base-extendedという依存関係が存在します。~


- イメージファイル ~

作成されたイメージファイルは ~
angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc/images/beagleboard 以下に配置されています。~

 beat@bc10-oedev:~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc
 /images/beagleboard$ ls
 Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard-testlab
 Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2
 Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboard-testlab
 Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2
 base-image-beagleboard.tar.bz2
 base-image-beagleboard.ubi
 console-image-beagleboard.tar.bz2
 console-image-beagleboard.ubi
 modules-2.6.29-r46-beagleboard.tgz
 u-boot-beagleboard-2009.05+r30+gitrd363f9cb0918a1b6b92e2e20d01543d0c4f53274-r30.bin
 u-boot-beagleboard.bin
 uImage-2.6.29-r46-beagleboard.bin
 uImage-beagleboard.bin
 ubinize.cfg

** 環境変数設定 [#a3511da8]

bitbake で使用した toolchain で bc10 用の x-loader、u-boot、bc10-rowboat-kernel をビルドします。~
angstrom stable/2009 のビルドで使った toolchain は以下の場所に配置されています。~

 beat@bc10-oedev:~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/cross/armv7a/bin$ ls
 arm-angstrom-linux-gnueabi-addr2line   arm-angstrom-linux-gnueabi-gccbug                  arm-angstrom-linux-gnueabi-modprobe
 arm-angstrom-linux-gnueabi-ar          arm-angstrom-linux-gnueabi-gcov                    arm-angstrom-linux-gnueabi-nm
 arm-angstrom-linux-gnueabi-as          arm-angstrom-linux-gnueabi-generate-modprobe.conf  arm-angstrom-linux-gnueabi-objcopy
 arm-angstrom-linux-gnueabi-c++         arm-angstrom-linux-gnueabi-gfortran                arm-angstrom-linux-gnueabi-objdump
 arm-angstrom-linux-gnueabi-c++filt     arm-angstrom-linux-gnueabi-gprof                   arm-angstrom-linux-gnueabi-ranlib
 arm-angstrom-linux-gnueabi-cpp         arm-angstrom-linux-gnueabi-insmod                  arm-angstrom-linux-gnueabi-readelf
 arm-angstrom-linux-gnueabi-depmod-2.6  arm-angstrom-linux-gnueabi-insmod.static           arm-angstrom-linux-gnueabi-rmmod
 arm-angstrom-linux-gnueabi-g++         arm-angstrom-linux-gnueabi-ld                      arm-angstrom-linux-gnueabi-size
 arm-angstrom-linux-gnueabi-gcc         arm-angstrom-linux-gnueabi-lsmod                   arm-angstrom-linux-gnueabi-strings
 arm-angstrom-linux-gnueabi-gcc-4.3.1   arm-angstrom-linux-gnueabi-modinfo                 arm-angstrom-linux-gnueabi-strip

以下のように環境変数を設定します。~

 $ export PATH=${HOME}/angstrom-setup-scripts/build/tmp-angstrom_2008_1/cross/armv7a/bin:${PATH}
 $ export ARCH=arm
 $ export CROSS_COMPILE=arm-angstrom-linux-gnueabi-

** x-loader ビルド [#xe2b6aaf]

bc10用 x-loader を取得し ビルドを実行します。~

 $ cd ~/
 $ git clone git://gitorious.org/~bc-dev/x-load-omap3/x-load-bc10.git x-load-bc10
 $ cd x-load-bc10
 $ git checkout -t -b bc10 origin/bc10
 $ make omap3530bc10_config
 $ make

ビルド完了後に x-load.bin が生成されます。

- バイナリイメージの調整 ~
x-load.binはOMAP BootROM の仕様とフォーマットが合っていないので、このままNAND FlashやSDカードに書きこんでもブートローダとして動作させる~
ことができません。この問題を解決するために、signGP というツールでx-load.binを加工する必要があります。~
signGP の実行ファイルは[[ここ:http://beagleboard.googlecode.com/files/signGP]]からダウンロードすることができます。~

signGP は以下のように使用します。~

 $ ./signGP x-load.bin

完了後 x-load.bin.ift が生成されます。~
BootROM の仕様により、x-load.bin.ift をSDカードにコピーするときは、~
SDカードのルートディレクトリにMLOという名前で保存する必要があります。~

* SDカードへの配置 1 [#qb46c30b]
この時点で一度 bc10 の boot のために必要なファイル類を SD カードに
コピーします。~
(注意:bc10は、設計上マイクロSDからブートは出来ません)~
[[bc10/booting SDカード作成>http://labs.beatcraft.com/ja/index.php?bc10%2Fbooting#q0449272]]を参照し SD カードに FAT32パーティションと
Linux パーティションをそれぞれ作成します。~
(以下 FAT32パーティションはLABEL1 Linuxパーティションは LABEL2 とします)~

U-Bootから起動するOSとしてLinuxを使用することを前提として、最終的にはSDカード内の構成を以下のようにします。

- FAT32パーティション
-- X- Loader
-- U-Boot
-- Linux kernel
-- boot.scr

- Linuxパーティション
-- Linuxルートファイルシステム

** FAT32 パーティション [#nd5f07ea]
- X- Loader~

1段目のブートローダであるX-Loaderは、SDカード上の配置方法に制限があります。必ず以下のように配置してください。

+ FAT32パーティションのフォーマット後、最初に配置するようにします。
+ パーティション内のトップディレクトリに配置します。
+ ファイル名を「MLO」とします。

 $ cd  ~/bc10/x-load-bc10
 $ cp x-load.bin.ift /media/LABEL1/MLO

bc10 用の X- Loder ですので以降は更新しません。~

- u-boot.bin ~
angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc/images/beagleboard
以下に~
作成されている u-boot-beagleboard.bin を u-boot.bin という名前でコピーします。~

 $ cd ~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc/images/beagleboard
 $ cp u-boot-beagleboard.bin /media/LABEL1/u-boot.bin

- Linux Kernel ~
u-bootと同じangstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc/images/beagleboard以下に作成されている~
uImage-beagleboard.bin を uImage という名前でコピーします。~

 $ cp uImage-beagleboard.bin /media/LABEL1/uImage

- boot.scr ~

[[bc10/rowboat-eclair-dsp:http://labs.beatcraft.com/ja/index.php?bc10%2Frowboat-eclair-dsp-4#g62046dc]] と同様に boot.scr を作成します。~
このファイルはシリアルコンソールで u-boot のコマンドプロンプトから setenv で設定するのと同じ内容を作成し、~
起動時に毎回手動で設定する手間を省略するためのものです。
また、メモリマッピングを変えないよう設定します。~
まず以下の内容の boot.script を作成します。

 $ cd ~
 $ vi boot.script

 if fatload mmc 0 84000000 uImage
 then
  echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
 fi
 echo ***** RootFS: /dev/mmcblk0p2 *****
 setenv bootargs 'mem=88M@0x80000000 mem=128M@0x88000000  androidboot.console=ttyS2 console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init rootwait omapfb.video_mode=680x480MR-24@60'
 bootm 84000000

このファイルを引数に指定して、以下のように mkimage を実行します。

 $ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n ./boot.script -d ./boot.script ./boot.scr &> /dev/null

生成された boot.scr をSDカードのFATパーティションにコピーします。

 $ sudo cp boot.scr /media/LABEL1/

** Linux パーティション [#bdaaa95a]
以下の3つのファイルを Linux パーティションにコピーします。~

- Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2
- Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2
- modules-2.6.29-r46-beagleboard.tgz

 $ cd ~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc/images/beagleboard
 $ sudo tar xvfj Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2 -C /media/LABEL2/
 $ sudo tar xvfj Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2 -C /media/LABEL2/
 $ sudo tar xvfz modules-2.6.29-r46-beagleboard.tgz -C /media/LABEL2/

Linux の userland の配置が終わりです。~
以上で1度目のSDカードイメージの作成は完了です。~
これをbc10 に投入し電源ON後 boot され Angstrom が起動することを確かめます。~

- boot log ~
#ref(oe1stboot.txt);

* Angstrom イメージ作成 2 [#r54c351b]
上記が確認できれば、bc10 用にカスタマイズしている u-boot と bc10-rowboat-kernelをビルドします。~
kernel を入れ替えるときは u-boot も合わせて入れ替えます。~

** u-boot ビルド [#x95c68bf]
bc10用 u-boot を取得しビルドします。~

 $ cd ~/
 $ git clone git://gitorious.org/bc10/u-boot-bc10.git u-boot-bc10
 $ cd u-boot-bc10
 $ git checkout -t -b build origin/build
 $ make mrproper
 $ make omap3_bc10_config
 $ make 

ビルド完了後 u-boot.bin が生成されます。~

** bc10-rowboat-kernel ビルド [#w5d34207]

 $ git clone git://gitorious.org/~bc-dev/rowboat/bc10-rowboat-kernel.git bc10-rowboat-kernel
 $ cd bc10-rowboat-kernel
 $ git checkout -t -b bc10-2.6.32-build origin/bc10-2.6.32-build
 $ make omap3_bc10_defconfig
 $ make uImage
 $ make modules

ビルド完了後以下のディレクトリにuImage が作成されます。

 $ ls ~/bc10-rowboat-kernel/arch/arm/boot/
 Image  Makefile  bootp  compressed  install.sh  uImage  zImage

*** modules ビルド [#j3fb3adc]

 $ cd ~/bc10-rowboat-kernel/
 $ mkdir mod_work
 $ make ARCH=arm DEPMOD=echo INSTALL_MOD_PATH=mod_work modules_install

実行最後に DEPMOD (*注)が表示されます。~

 DEPMOD  2.6.32-bc10-gdfb6acc (*注)

 $ arm-angstrom-linux-gnueabi-depmod-2.6 -A -b /home/beat/bc10-rowboat-kernel/mod_work -F ./System.map 2.6.32-bc10-gdfb6acc
 $ tar cvfz modules-2.6.32-bc10-gdb6acc.gz -C mod_work lib
 $ ln -s modules-2.6.32-bc10-gdb6acc.gz modules-2.6.32-bc10-gdb6acc.tgz

(*注):kernel config で 「Automatically append version informaiton to the version string」を enable に~
していますので 2.6.32-bc10-gXXXXXX の末尾 XXXXXXの値は変更されることがあります。~
 $ git rev-parse --verify HEAD 
 dfb6acc(略).........
またバージョンの値は以下のコマンドで確認できます。~
 $ make kernelrelease
 2.6.32-bc10-gdfb6acc

* SDカードへの配置 2 [#ad855000]
SDカードを再度ビルドマシンにマウントします。~
(マウント位置はSDカードへの配置1 と同じとします)~

** FAT32 パーティション [#m6d7990b]

- u-boot.bin ~

以前の u-boot.bin を削除し、u-boot-bc10 の u-boot.binを配置します。~

 $ rm /media/LABEL1/u-boot.bin 
 $ cd ~/u-boot-bc10/
 $ cp u-boot.bin /media/LABEL1/u-boot.bin

- Linux Kernel ~

同じく以前の Linux Kernel を削除し bc10-rowboat-kernel の uImage を配置します。~
 $ rm /media/LABEL1/uImage
 $ cd ~/bc10-rowboat-kernel/arch/arm/boot/
 $ cp uImage /media/LABEL1/uImage

** Linux パーティション [#v9bb7729]

moduleを新たにコピーします。~

 $ cd ~/bc10-rowboat-kernel/
 $ sudo tar xvfz modules-2.6.32-bc10-gdb6acc.tgz -C /media/LABEL2/

以上で、完了です。~

- boot log ~
#ref(oe4thboot.txt);

* 参考 [#n36ce7b4]
-Ubuntu 10.04 開発環境
-- http://wiki.openembedded.org/index.php/OEandYourDistro#Debian
-- http://groups.google.co.jp/group/beagleboard/browse_thread/thread/2cbddf944f98dfdc
-- https://bugzilla.redhat.com/show_bug.cgi?id=588644
-- http://maltanar.blogspot.com/2010/05/getting-working-gzip.html

- bitbake 環境構築
-- http://docs.openembedded.org/bitbake/html/
-- http://www.angstrom-distribution.org/building-angstrom
-- http://wiki.openembedded.org/index.php/OEandYourDistro#Using_OpenEmbedded_on_Linux_systems

- x-loder ビルド
-- http://beagleboard.googlecode.com/files/signGP

* 更新記録 [#cc323c0b]
2010/05/07 初稿記載。主にOpenEmbedded 構築用の設定までの説明。~
2010/09/22 OpenEmbedded 設定方法の詳細、Angstromのインストール方法を追記。X-Loader、U-Bootについても記載。~
2010/10/08  bc10-rowboat-kernel moduleのビルド時に付与されるサフィックスについて記載。 ~

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS