bc10/OpenEmbedded Linux
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
]
開始行:
[[bc10]]
~
COLOR(red){(注)2010年11月以降 記載しているビルドシステ...
COLOR(red){ビルドが完了しなくなりました。またmasterブラン...
COLOR(red){ 各ソフトウェアバージョンなどに差異があります...
詳細につきましては[[Building Angstrom>http://www.angstrom...
- 目次
#contents
*概要 [#ye00a6a1]
2010/09/22~
- bc10 向けに Angstrom Distribution をビルドする方法につ...
- Angstrom Distribution は組み込み Linux 向けのビルドフレ...
- beagleboard クローンである bc10 で動作するのは正確には ...
ここでは広義の OpenEmbedded Linux の一つと考え OpenEmbedd...
*bc10 用OpenEmbeddedビルド環境作成手順 [#tb418d21]
Ubuntu 10.04 を使って、the Angstrom Distribution の [[Bui...
**Ubuntu 10.04 開発環境[#zc8f4d78]
- 設定およびパッケージの追加 ~
Ubuntu デフォルトの sh は dash なので以下のコマンドを実行...
~
sh が dash になっていると bitbake 実行時 bash を指定して...
$ sudo dpkg-reconfigure dash
「dash を /bin/sh インストールしますか?」と聞かれるので...
これで sh は bash に変更されます。~
[[OEandYourDistro:http://wiki.openembedded.org/index.php/...
$ sudo apt-get install ssh
$ sudo apt-get install sed wget cvs subversion git-core \
coreutils unzip texi2html texinfo libsdl1.2-dev docboo...
gawk python-pysqlite2 diffstat help2man make gcc build...
desktop-file-utils chrpath
(一行にすると長いので\(円マークに見えますがバックスラッ...
$ sudo apt-get install libxml2-utils xmlto python-psyco ...
- gzip ~
また、Ubuntu 10.04 では bitbake base-image 実行時に expat...
[[DATA-CRC Errorが発生:http://groups.google.co.jp/group/b...
これは [[gzip 1.3.12 によって発生:http://groups.google.co...
gzip を [[1.4に変更:http://maltanar.blogspot.com/2010/05/...
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 ディストリビューションとして必...
を Recipe という形で管理、ビルドするために使用する make ...
Recipe は ソースコードの取得や そのソースコードにあてる p...
より詳細な資料は 『[[BitBake User Manual:http://docs.open...
ここでは [[Building Angstrom:http://www.angstrom-distribu...
- angstrom-setup-scripts ~
angstrom-setup-script は Angstrom (OpenEmbedded Linux) ...
設定スクリプトやスクリプト実行後のファイル保存、ビルドの...
angstrom-setup-script を git で取得します。~
$ cd ~
$ git clone git://gitorious.org/angstrom/angstrom-setup-...
$ cd angstrom-setup-scripts
oebb.sh でセットアップ対象のマシン名を指定します。
ここでは beagleboard を指定します。~
$ ./oebb.sh config beagleboard
実行後以下のようなメッセージが出ます。~
There now is a sourceable script in ~/.oe/enviroment. Yo...
~/.oe/environment' and run 'bitbake something' without u...
as wrapper
Setup for beagleboard completed
oebb.sh update を実行し OE と bitbake のファイルをダウン...
$ ./oebb.sh update
ここで 実行最後に以下のようなエラーがでますが、ビルド自体...
fatal: git checkout: branch org.openembedded.dev already...
COLOR(red){(注)stable/2009 branch は2010年11月以降 ビル...
COLOR(red){ ビルドが完了しなくなりました。master ブラン...
COLOR(red){ 各ソフトウェアバージョンなどに差異があります...
%%- stable/2009 %%~
%%環境構築しやすくするために openembedded 内のブランチを ...
%%angstrom-setup-scripts/sources/openembedded/ で stable/...
%% $ 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 beagleboar...
$ 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-an...
# Don't generate the mirror tarball for SCM repos, the s...
hot is enough
BB_GENERATE_MIRROR_TARBALLS = "0"
- bitbake 用環境変数設定~
環境設定用ファイル ~/.oe/enviroment を読み込み、beagleboa...
$ . ~/.oe/environment
- mmap_min_addr ~
Ubuntu 10.04 では bitbake 実行時 qemu-arm のビルドで vm/m...
[[wiki:http://wiki.openembedded.org/index.php/OEandYourDi...
$ MACHINE=beagleboard bitbake base-image
FATAL: Openembedded's config sanity checker detected a ...
misconfiguration.
Either fix the cause of this error or at your own ...
checker (see sanity.conf).
Following is the list of potential problems / advi...
/proc/sys/vm/mmap_min_addr is not 0. This will ca...
To fix this in later reboots, set vm.mmap_min_addr = 0 i...
[[Wiki:http://wiki.openembedded.org/index.php/OEandYourDi...
(Wikiでは"128"と書いてありますが、0に設定しないとエラーメ...
$ 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/angs...
NOTE: package base-image-1.0-r0: task do_rm_work: Started
NOTE: package base-image-1.0-r0: task do_rm_work: Succee...
NOTE: Running task 2910 of 2910 (ID: 0, /home/beat/angst...
/sources/openembedded/recipes/images/base-image.bb, do_r...
NOTE: package base-image-1.0-r0: task do_rm_work_all: St...
NOTE: package base-image-1.0-r0: task do_rm_work_all: Su...
NOTE: Tasks Summary: Attempted 2910 tasks of which 2822 ...
上記のように表示されると bitbake base-image の完了です。
-- 注意 ~
bitbake 途中で以下のようなメッセージがでることがあります。
NOTE: Running task 2823 of 2910 (ID: 128, /home/beat/ang...
/sources/openembedded/recipes/mtd/mtd-utils-native_1.0.0...
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/source...
/u-boot/u-boot_git.bb do_fetch failed
ERROR: Task 147 (/home/beat/angstrom-setup-scripts/sourc...
/u-boot/u-boot_git.bb, do_fetch) failed with 256
NOTE: Task failed: Unknown fetch Error: [Errno 2] No suc...
'/home/beat/angstrom-setup-scripts/sources/downloads/git...
boot-omap3.mainline.git_d363f9cb0918a1b6b92e2e20d01543d0...
NOTE: package u-boot2009.05+r30+gitrd363f9cb0918a1b6b92e...
task do_fetch: Failed
ERROR: TaskFailed event exception, aborting
NOTE: package mtd-utils-native-1.0.0+git-r8: task do_com...
ERROR: Build of /home/beat/angstrom-setup-scripts/source...
/u-boot/u-boot_git.bb do_fetch failed
ERROR: Task 147 (/home/beat/angstrom-setup-scripts/sourc...
/u-boot/u-boot_git.bb, do_fetch) failed with 256
bitbake 実行中にファイルの取得に失敗した場合このままエラ...
ファイル取得から再開します。~
- 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: Sta...
NOTE: package console-image-1.0-r0: task do_rm_work: Suc...
NOTE: Running task 2892 of 2892 (ID: 0, /home/beat/angst...
/sources/openembedded/recipes/images/console-image.bb, d...
NOTE: package console-image-1.0-r0: task do_rm_work_all:...
NOTE: package console-image-1.0-r0: task do_rm_work_all:...
NOTE: Tasks Summary: Attempted 2892 tasks of which 2854 ...
上記のように表示されると bitbake console-image の完了です...
-- bitbake base-image、console-imageについて~
base-image :以前の nanoと同様のもの kernel、busybox、ipkg...
cosole-image: 以前のtask-base にプラスされたもの、各ペリ...
task-base内にtask-base-extendedという依存関係が存在します...
- イメージファイル ~
作成されたイメージファイルは ~
angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/g...
beat@bc10-oedev:~/angstrom-setup-scripts/build/tmp-angst...
/images/beagleboard$ ls
Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard-...
Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard....
Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboa...
Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboa...
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+gitrd363f9cb0918a1b6b92e2...
u-boot-beagleboard.bin
uImage-2.6.29-r46-beagleboard.bin
uImage-beagleboard.bin
ubinize.cfg
** 環境変数設定 [#a3511da8]
bitbake で使用した toolchain で bc10 用の x-loader、u-boo...
angstrom stable/2009 のビルドで使った toolchain は以下の...
beat@bc10-oedev:~/angstrom-setup-scripts/build/tmp-angst...
arm-angstrom-linux-gnueabi-addr2line arm-angstrom-linu...
arm-angstrom-linux-gnueabi-ar arm-angstrom-linu...
arm-angstrom-linux-gnueabi-as arm-angstrom-linu...
arm-angstrom-linux-gnueabi-c++ arm-angstrom-linu...
arm-angstrom-linux-gnueabi-c++filt arm-angstrom-linu...
arm-angstrom-linux-gnueabi-cpp arm-angstrom-linu...
arm-angstrom-linux-gnueabi-depmod-2.6 arm-angstrom-linu...
arm-angstrom-linux-gnueabi-g++ arm-angstrom-linu...
arm-angstrom-linux-gnueabi-gcc arm-angstrom-linu...
arm-angstrom-linux-gnueabi-gcc-4.3.1 arm-angstrom-linu...
以下のように環境変数を設定します。~
$ export PATH=${HOME}/angstrom-setup-scripts/build/tmp-a...
$ 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-l...
$ cd x-load-bc10
$ git checkout -t -b bc10 origin/bc10
$ make omap3530bc10_config
$ make
ビルド完了後に x-load.bin が生成されます。
- バイナリイメージの調整 ~
x-load.binはOMAP BootROM の仕様とフォーマットが合っていな...
ことができません。この問題を解決するために、signGP という...
signGP の実行ファイルは[[ここ:http://beagleboard.googleco...
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/...
Linux パーティションをそれぞれ作成します。~
(以下 FAT32パーティションはLABEL1 Linuxパーティションは L...
U-Bootから起動するOSとしてLinuxを使用することを前提として...
- 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/g...
以下に~
作成されている u-boot-beagleboard.bin を u-boot.bin とい...
$ cd ~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/...
$ cp u-boot-beagleboard.bin /media/LABEL1/u-boot.bin
- Linux Kernel ~
u-bootと同じangstrom-setup-scripts/build/tmp-angstrom_200...
uImage-beagleboard.bin を uImage という名前でコピーします...
$ cp uImage-beagleboard.bin /media/LABEL1/uImage
- boot.scr ~
[[bc10/rowboat-eclair-dsp:http://labs.beatcraft.com/ja/in...
このファイルはシリアルコンソールで u-boot のコマンドプロ...
起動時に毎回手動で設定する手間を省略するためのものです。
また、メモリマッピングを変えないよう設定します。~
まず以下の内容の 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 ...
bootm 84000000
このファイルを引数に指定して、以下のように mkimage を実行...
$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n...
生成された boot.scr をSDカードのFATパーティションにコピー...
$ sudo cp boot.scr /media/LABEL1/
** Linux パーティション [#bdaaa95a]
以下の3つのファイルを Linux パーティションにコピーします...
- Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard...
- Angstrom-console-image-glibc-ipk-2009.X-stable-beaglebo...
- modules-2.6.29-r46-beagleboard.tgz
$ cd ~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/...
$ sudo tar xvfj Angstrom-base-image-glibc-ipk-2009.X-sta...
$ sudo tar xvfj Angstrom-console-image-glibc-ipk-2009.X-...
$ sudo tar xvfz modules-2.6.29-r46-beagleboard.tgz -C /m...
Linux の userland の配置が終わりです。~
以上で1度目のSDカードイメージの作成は完了です。~
これをbc10 に投入し電源ON後 boot され Angstrom が起動する...
- boot log ~
#ref(oe1stboot.txt);
* Angstrom イメージ作成 2 [#r54c351b]
上記が確認できれば、bc10 用にカスタマイズしている u-boot ...
kernel を入れ替えるときは u-boot も合わせて入れ替えます。~
** u-boot ビルド [#x95c68bf]
bc10用 u-boot を取得しビルドします。~
$ cd ~/
$ git clone git://gitorious.org/bc10/u-boot-bc10.git u-b...
$ 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-row...
$ cd bc10-rowboat-kernel
$ git checkout -t -b bc10-2.6.32-build origin/bc10-2.6.3...
$ make omap3_bc10_defconfig
$ make uImage
$ make modules
ビルド完了後以下のディレクトリにuImage が作成されます。
$ ls ~/bc10-rowboat-kernel/arch/arm/boot/
Image Makefile bootp compressed install.sh uImage ...
*** modules ビルド [#j3fb3adc]
$ cd ~/bc10-rowboat-kernel/
$ mkdir mod_work
$ make ARCH=arm DEPMOD=echo INSTALL_MOD_PATH=mod_work mo...
実行最後に DEPMOD (*注)が表示されます。~
DEPMOD 2.6.32-bc10-gdfb6acc (*注)
$ arm-angstrom-linux-gnueabi-depmod-2.6 -A -b /home/beat...
$ 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-bc...
(*注):kernel config で 「Automatically append version in...
していますので 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 の...
$ 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 /medi...
以上で、完了です。~
- boot log ~
#ref(oe4thboot.txt);
* 参考 [#n36ce7b4]
-Ubuntu 10.04 開発環境
-- http://wiki.openembedded.org/index.php/OEandYourDistro...
-- http://groups.google.co.jp/group/beagleboard/browse_th...
-- https://bugzilla.redhat.com/show_bug.cgi?id=588644
-- http://maltanar.blogspot.com/2010/05/getting-working-g...
- bitbake 環境構築
-- http://docs.openembedded.org/bitbake/html/
-- http://www.angstrom-distribution.org/building-angstrom
-- http://wiki.openembedded.org/index.php/OEandYourDistro...
- x-loder ビルド
-- http://beagleboard.googlecode.com/files/signGP
* 更新記録 [#cc323c0b]
2010/05/07 初稿記載。主にOpenEmbedded 構築用の設定までの...
2010/09/22 OpenEmbedded 設定方法の詳細、Angstromのインス...
2010/10/08 bc10-rowboat-kernel moduleのビルド時に付与さ...
終了行:
[[bc10]]
~
COLOR(red){(注)2010年11月以降 記載しているビルドシステ...
COLOR(red){ビルドが完了しなくなりました。またmasterブラン...
COLOR(red){ 各ソフトウェアバージョンなどに差異があります...
詳細につきましては[[Building Angstrom>http://www.angstrom...
- 目次
#contents
*概要 [#ye00a6a1]
2010/09/22~
- bc10 向けに Angstrom Distribution をビルドする方法につ...
- Angstrom Distribution は組み込み Linux 向けのビルドフレ...
- beagleboard クローンである bc10 で動作するのは正確には ...
ここでは広義の OpenEmbedded Linux の一つと考え OpenEmbedd...
*bc10 用OpenEmbeddedビルド環境作成手順 [#tb418d21]
Ubuntu 10.04 を使って、the Angstrom Distribution の [[Bui...
**Ubuntu 10.04 開発環境[#zc8f4d78]
- 設定およびパッケージの追加 ~
Ubuntu デフォルトの sh は dash なので以下のコマンドを実行...
~
sh が dash になっていると bitbake 実行時 bash を指定して...
$ sudo dpkg-reconfigure dash
「dash を /bin/sh インストールしますか?」と聞かれるので...
これで sh は bash に変更されます。~
[[OEandYourDistro:http://wiki.openembedded.org/index.php/...
$ sudo apt-get install ssh
$ sudo apt-get install sed wget cvs subversion git-core \
coreutils unzip texi2html texinfo libsdl1.2-dev docboo...
gawk python-pysqlite2 diffstat help2man make gcc build...
desktop-file-utils chrpath
(一行にすると長いので\(円マークに見えますがバックスラッ...
$ sudo apt-get install libxml2-utils xmlto python-psyco ...
- gzip ~
また、Ubuntu 10.04 では bitbake base-image 実行時に expat...
[[DATA-CRC Errorが発生:http://groups.google.co.jp/group/b...
これは [[gzip 1.3.12 によって発生:http://groups.google.co...
gzip を [[1.4に変更:http://maltanar.blogspot.com/2010/05/...
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 ディストリビューションとして必...
を Recipe という形で管理、ビルドするために使用する make ...
Recipe は ソースコードの取得や そのソースコードにあてる p...
より詳細な資料は 『[[BitBake User Manual:http://docs.open...
ここでは [[Building Angstrom:http://www.angstrom-distribu...
- angstrom-setup-scripts ~
angstrom-setup-script は Angstrom (OpenEmbedded Linux) ...
設定スクリプトやスクリプト実行後のファイル保存、ビルドの...
angstrom-setup-script を git で取得します。~
$ cd ~
$ git clone git://gitorious.org/angstrom/angstrom-setup-...
$ cd angstrom-setup-scripts
oebb.sh でセットアップ対象のマシン名を指定します。
ここでは beagleboard を指定します。~
$ ./oebb.sh config beagleboard
実行後以下のようなメッセージが出ます。~
There now is a sourceable script in ~/.oe/enviroment. Yo...
~/.oe/environment' and run 'bitbake something' without u...
as wrapper
Setup for beagleboard completed
oebb.sh update を実行し OE と bitbake のファイルをダウン...
$ ./oebb.sh update
ここで 実行最後に以下のようなエラーがでますが、ビルド自体...
fatal: git checkout: branch org.openembedded.dev already...
COLOR(red){(注)stable/2009 branch は2010年11月以降 ビル...
COLOR(red){ ビルドが完了しなくなりました。master ブラン...
COLOR(red){ 各ソフトウェアバージョンなどに差異があります...
%%- stable/2009 %%~
%%環境構築しやすくするために openembedded 内のブランチを ...
%%angstrom-setup-scripts/sources/openembedded/ で stable/...
%% $ 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 beagleboar...
$ 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-an...
# Don't generate the mirror tarball for SCM repos, the s...
hot is enough
BB_GENERATE_MIRROR_TARBALLS = "0"
- bitbake 用環境変数設定~
環境設定用ファイル ~/.oe/enviroment を読み込み、beagleboa...
$ . ~/.oe/environment
- mmap_min_addr ~
Ubuntu 10.04 では bitbake 実行時 qemu-arm のビルドで vm/m...
[[wiki:http://wiki.openembedded.org/index.php/OEandYourDi...
$ MACHINE=beagleboard bitbake base-image
FATAL: Openembedded's config sanity checker detected a ...
misconfiguration.
Either fix the cause of this error or at your own ...
checker (see sanity.conf).
Following is the list of potential problems / advi...
/proc/sys/vm/mmap_min_addr is not 0. This will ca...
To fix this in later reboots, set vm.mmap_min_addr = 0 i...
[[Wiki:http://wiki.openembedded.org/index.php/OEandYourDi...
(Wikiでは"128"と書いてありますが、0に設定しないとエラーメ...
$ 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/angs...
NOTE: package base-image-1.0-r0: task do_rm_work: Started
NOTE: package base-image-1.0-r0: task do_rm_work: Succee...
NOTE: Running task 2910 of 2910 (ID: 0, /home/beat/angst...
/sources/openembedded/recipes/images/base-image.bb, do_r...
NOTE: package base-image-1.0-r0: task do_rm_work_all: St...
NOTE: package base-image-1.0-r0: task do_rm_work_all: Su...
NOTE: Tasks Summary: Attempted 2910 tasks of which 2822 ...
上記のように表示されると bitbake base-image の完了です。
-- 注意 ~
bitbake 途中で以下のようなメッセージがでることがあります。
NOTE: Running task 2823 of 2910 (ID: 128, /home/beat/ang...
/sources/openembedded/recipes/mtd/mtd-utils-native_1.0.0...
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/source...
/u-boot/u-boot_git.bb do_fetch failed
ERROR: Task 147 (/home/beat/angstrom-setup-scripts/sourc...
/u-boot/u-boot_git.bb, do_fetch) failed with 256
NOTE: Task failed: Unknown fetch Error: [Errno 2] No suc...
'/home/beat/angstrom-setup-scripts/sources/downloads/git...
boot-omap3.mainline.git_d363f9cb0918a1b6b92e2e20d01543d0...
NOTE: package u-boot2009.05+r30+gitrd363f9cb0918a1b6b92e...
task do_fetch: Failed
ERROR: TaskFailed event exception, aborting
NOTE: package mtd-utils-native-1.0.0+git-r8: task do_com...
ERROR: Build of /home/beat/angstrom-setup-scripts/source...
/u-boot/u-boot_git.bb do_fetch failed
ERROR: Task 147 (/home/beat/angstrom-setup-scripts/sourc...
/u-boot/u-boot_git.bb, do_fetch) failed with 256
bitbake 実行中にファイルの取得に失敗した場合このままエラ...
ファイル取得から再開します。~
- 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: Sta...
NOTE: package console-image-1.0-r0: task do_rm_work: Suc...
NOTE: Running task 2892 of 2892 (ID: 0, /home/beat/angst...
/sources/openembedded/recipes/images/console-image.bb, d...
NOTE: package console-image-1.0-r0: task do_rm_work_all:...
NOTE: package console-image-1.0-r0: task do_rm_work_all:...
NOTE: Tasks Summary: Attempted 2892 tasks of which 2854 ...
上記のように表示されると bitbake console-image の完了です...
-- bitbake base-image、console-imageについて~
base-image :以前の nanoと同様のもの kernel、busybox、ipkg...
cosole-image: 以前のtask-base にプラスされたもの、各ペリ...
task-base内にtask-base-extendedという依存関係が存在します...
- イメージファイル ~
作成されたイメージファイルは ~
angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/g...
beat@bc10-oedev:~/angstrom-setup-scripts/build/tmp-angst...
/images/beagleboard$ ls
Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard-...
Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard....
Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboa...
Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboa...
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+gitrd363f9cb0918a1b6b92e2...
u-boot-beagleboard.bin
uImage-2.6.29-r46-beagleboard.bin
uImage-beagleboard.bin
ubinize.cfg
** 環境変数設定 [#a3511da8]
bitbake で使用した toolchain で bc10 用の x-loader、u-boo...
angstrom stable/2009 のビルドで使った toolchain は以下の...
beat@bc10-oedev:~/angstrom-setup-scripts/build/tmp-angst...
arm-angstrom-linux-gnueabi-addr2line arm-angstrom-linu...
arm-angstrom-linux-gnueabi-ar arm-angstrom-linu...
arm-angstrom-linux-gnueabi-as arm-angstrom-linu...
arm-angstrom-linux-gnueabi-c++ arm-angstrom-linu...
arm-angstrom-linux-gnueabi-c++filt arm-angstrom-linu...
arm-angstrom-linux-gnueabi-cpp arm-angstrom-linu...
arm-angstrom-linux-gnueabi-depmod-2.6 arm-angstrom-linu...
arm-angstrom-linux-gnueabi-g++ arm-angstrom-linu...
arm-angstrom-linux-gnueabi-gcc arm-angstrom-linu...
arm-angstrom-linux-gnueabi-gcc-4.3.1 arm-angstrom-linu...
以下のように環境変数を設定します。~
$ export PATH=${HOME}/angstrom-setup-scripts/build/tmp-a...
$ 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-l...
$ cd x-load-bc10
$ git checkout -t -b bc10 origin/bc10
$ make omap3530bc10_config
$ make
ビルド完了後に x-load.bin が生成されます。
- バイナリイメージの調整 ~
x-load.binはOMAP BootROM の仕様とフォーマットが合っていな...
ことができません。この問題を解決するために、signGP という...
signGP の実行ファイルは[[ここ:http://beagleboard.googleco...
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/...
Linux パーティションをそれぞれ作成します。~
(以下 FAT32パーティションはLABEL1 Linuxパーティションは L...
U-Bootから起動するOSとしてLinuxを使用することを前提として...
- 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/g...
以下に~
作成されている u-boot-beagleboard.bin を u-boot.bin とい...
$ cd ~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/...
$ cp u-boot-beagleboard.bin /media/LABEL1/u-boot.bin
- Linux Kernel ~
u-bootと同じangstrom-setup-scripts/build/tmp-angstrom_200...
uImage-beagleboard.bin を uImage という名前でコピーします...
$ cp uImage-beagleboard.bin /media/LABEL1/uImage
- boot.scr ~
[[bc10/rowboat-eclair-dsp:http://labs.beatcraft.com/ja/in...
このファイルはシリアルコンソールで u-boot のコマンドプロ...
起動時に毎回手動で設定する手間を省略するためのものです。
また、メモリマッピングを変えないよう設定します。~
まず以下の内容の 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 ...
bootm 84000000
このファイルを引数に指定して、以下のように mkimage を実行...
$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n...
生成された boot.scr をSDカードのFATパーティションにコピー...
$ sudo cp boot.scr /media/LABEL1/
** Linux パーティション [#bdaaa95a]
以下の3つのファイルを Linux パーティションにコピーします...
- Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard...
- Angstrom-console-image-glibc-ipk-2009.X-stable-beaglebo...
- modules-2.6.29-r46-beagleboard.tgz
$ cd ~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/...
$ sudo tar xvfj Angstrom-base-image-glibc-ipk-2009.X-sta...
$ sudo tar xvfj Angstrom-console-image-glibc-ipk-2009.X-...
$ sudo tar xvfz modules-2.6.29-r46-beagleboard.tgz -C /m...
Linux の userland の配置が終わりです。~
以上で1度目のSDカードイメージの作成は完了です。~
これをbc10 に投入し電源ON後 boot され Angstrom が起動する...
- boot log ~
#ref(oe1stboot.txt);
* Angstrom イメージ作成 2 [#r54c351b]
上記が確認できれば、bc10 用にカスタマイズしている u-boot ...
kernel を入れ替えるときは u-boot も合わせて入れ替えます。~
** u-boot ビルド [#x95c68bf]
bc10用 u-boot を取得しビルドします。~
$ cd ~/
$ git clone git://gitorious.org/bc10/u-boot-bc10.git u-b...
$ 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-row...
$ cd bc10-rowboat-kernel
$ git checkout -t -b bc10-2.6.32-build origin/bc10-2.6.3...
$ make omap3_bc10_defconfig
$ make uImage
$ make modules
ビルド完了後以下のディレクトリにuImage が作成されます。
$ ls ~/bc10-rowboat-kernel/arch/arm/boot/
Image Makefile bootp compressed install.sh uImage ...
*** modules ビルド [#j3fb3adc]
$ cd ~/bc10-rowboat-kernel/
$ mkdir mod_work
$ make ARCH=arm DEPMOD=echo INSTALL_MOD_PATH=mod_work mo...
実行最後に DEPMOD (*注)が表示されます。~
DEPMOD 2.6.32-bc10-gdfb6acc (*注)
$ arm-angstrom-linux-gnueabi-depmod-2.6 -A -b /home/beat...
$ 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-bc...
(*注):kernel config で 「Automatically append version in...
していますので 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 の...
$ 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 /medi...
以上で、完了です。~
- boot log ~
#ref(oe4thboot.txt);
* 参考 [#n36ce7b4]
-Ubuntu 10.04 開発環境
-- http://wiki.openembedded.org/index.php/OEandYourDistro...
-- http://groups.google.co.jp/group/beagleboard/browse_th...
-- https://bugzilla.redhat.com/show_bug.cgi?id=588644
-- http://maltanar.blogspot.com/2010/05/getting-working-g...
- bitbake 環境構築
-- http://docs.openembedded.org/bitbake/html/
-- http://www.angstrom-distribution.org/building-angstrom
-- http://wiki.openembedded.org/index.php/OEandYourDistro...
- x-loder ビルド
-- http://beagleboard.googlecode.com/files/signGP
* 更新記録 [#cc323c0b]
2010/05/07 初稿記載。主にOpenEmbedded 構築用の設定までの...
2010/09/22 OpenEmbedded 設定方法の詳細、Angstromのインス...
2010/10/08 bc10-rowboat-kernel moduleのビルド時に付与さ...
ページ名:
BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。