BeagleBoard-xMでTI版gingerbread2.3.4 DevKit2.1のメモ。
※未作動なので手順だけ。
前提
- BeagleBoard-xMはRev.B。
- 作業はrootで行う。
- 作業ディレクトリは「/root/ti-gb234」とした。
ツールの取得
下記を実行する。
# mkdir /root/bin
# curl http://git-repo.googlecode.com/files/repo-1.12 >/root/bin/repo
# chmod a+x /root/bin/repo
リポジトリの取得
下記を実行して作業用ディレクトリの作成し、リポジトリ情報を取得する。
# mkdir /root/ti-gb234
# cd /root/ti-gb234
# /root/bin/repo init -u git://gitorious.org/rowboat/manifest.git -m TTI-Android-GingerBread-2.3.4-DevKit-2.1.xml
初期化が終わったら、リポジトリを取得する。
# /root/bin/repo sync
かなりの時間を要するので我慢して待つ。
toolchainの設定
toolchainを設定するには環境変数「PATH」にtoolchainのパスを追加設定する。
# export PATH=/root/ti-gb234/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
MLO(x-loader)のビルド
下記を実行
# cd /root/ti-gb234/x-loader
# make CROSS_COMPILE=arm-eabi- distclean
# make CROSS_COMPILE=arm-eabi- omap3beagle_config
# make CROSS_COMPILE=arm-eabi-
出来上がったx-loader.binは”signGP”コマンドを使用して調整する必要がある。
“signGP”コマンドは
# wget http://beagleboard.googlecode.com/files/signGP
を実行して入手した後に
# chmod +x signGP
として実行権を付与、
# ./signGP x-load.bin
# mv x-load.bin.ift MLO
を実行して”MLO”ファイルを作成する。
u-bootのビルド
下記を実行する。
# cd /root/ti-gb234/u-boot
# make CROSS_COMPILE=arm-eabi- distclean
# make CROSS_COMPILE=arm-eabi- omap3_beagle_config
# make CROSS_COMPILE=arm-eabi-
上記手順で”u-boot.bin”が作成される。
このu-bootから起動するカーネルイメージを作成する為にtools/mkimageを/usr/binにコピーする。
# cp /usr/bin/mkimage /usr/bin/mkimage.org
# cp ./tools/mkimage /usr/bin/.
ブート用スクリプトファイルの作成
とりあえずビルド済みパッケージからコピー。
カーネル(uImage)のビルド
下記手順でビルド。
# cd /root/ti-gb234/kernel
# make CROSS_COMPILE=arm-eabi- distclean
# make CROSS_COMPILE=arm-eabi- omap3_beagle_android_defconfig
# make CROSS_COMPILE=arm-eabi- uImage
“uImage”は
/root/ti-gb234/kernel/arch/arm/boot
に作成されている。
アンドロイド・ファイルシステム(rootfs)のビルド
下記手順でビルド。
# cd /root/ti-gb234
# make TARGET_PRODUCT=beagleboard OMAPES=5.x
“rootfs”は
/root/ti-gb234/out/target/product/beagleboard
に作成されている。
現状
ドロイド君が表示されるものの、Android自体が起動せず。パーミッション関係もおかしくなっている模様。なんでだべか。
前回、ビルドしたMLO・u-bootでカーネルが起動しなかったのは、u-bootをビルドして出来上がるmkimageをコピーしなかったのが原因っぽい。
コメント