2012年11月20日

KZM-A9-GTボードのU-Bootをソースからビルドする(更新)

KZM-A9-GTボード用のU-Bootを最新のソースコードを取得してビルドする方法を紹介します。



0. クロスコンパイラのインストール

今回はLinaroのサイトにあるLong Term Supportのコンパイラを使用しました。

$ wget https://launchpad.net/gcc-arm-embedded/4.6/4.6-2012-q2-update/+download/gcc-arm-none-eabi-4_6-2012q2-20120614.tar.bz2
$ sudo tar xvf gcc-arm-none-eabi-4_6-2012q2-20120614.tar.bz2 -C /usr/local

1.ソースコードの取得

KZM-A9-GTボードのU-Bootのソースは、u-bootのマスターのgitリポジトリにマージされました。

現在の最新のタグを調べてcheckoutします。

$ git clone git://git.denx.de/u-boot.git
$ cd u-boot/
$ git tag
$ git checkout -b work v2013.01-rc1

2. ビルド

$ export CROSS_COMPILE=/usr/local/gcc-arm-none-eabi-4_6-2012q2/bin/arm-none-eabi-
$ make distclean
$ make kzm9g_config
$ make all

なお、電源投入したら自動でカーネルを起動するためには、以下のようなコードを追加してください。

diff --git a/include/configs/kzm9g.h b/include/configs/kzm9g.h
index 6a0b6c5..7db90d4 100644
--- a/include/configs/kzm9g.h
+++ b/include/configs/kzm9g.h
@@ -50,6 +50,11 @@
 #define CONFIG_BAUDRATE		115200
 #define CONFIG_BOOTARGS		"root=/dev/null console=ttySC4,115200"
 #define CONFIG_BOOTDELAY 3
+#define CONFIG_BOOTCOMMAND "run initrd_boot"
+#define CONFIG_EXTRA_ENV_SETTINGS					\
+	"mmc_boot=setenv bootargs root=/dev/mmcblk0p2 ip=none rootdelay=2; bootm 80000\0" \
+	"usb_boot=setenv bootargs root=/dev/sda2 ip=none rootdelay=2; bootm 80000\0" \
+	"initrd_boot=cp.l 0x00400000 0x50400000 0x00300000;setenv bootargs initrd=0x50400000,0x00c00000 ip=none rootdelay=2; bootm 80000\0"
 
 #define CONFIG_VERSION_VARIABLE
 #undef  CONFIG_SHOW_BOOT_PROGRESS

同様なことはコマンドラインから環境変数を設定して保存することでも可能です。

3. KZM-A9-GTボードのNORフラッシュへの書き込み

以下の記事を参照してください。

KZM-A9-GTのU-Bootの機能でNORフラッシュのU-Bootを更新する



トラックバックURL

コメントする

名前
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード