«

»

7月 27

U-bootとかBareboxとか

ブートローダ試してます。動かない。

まずBarebox。
http://barebox.org/download/barebox-2012.07.0.tar.bz2
ここから落としました。U-bootをベースにしてLinuxカーネルを参考に現代的なブートローダを作ろうっていうものらしいです。
さてコンパイルしてみる…

$ ./xkmake menuconfig
$ ./xkmake
make[1]: `include/generated/mach-types.h' は更新済みです
  CHK     include/generated/version.h
  CHK     include/generated/utsrelease.h
  SYMLINK include/config.h -> arch/arm/boards/freescale-mx51-pdk//config.h
  CHK     include/generated/compile.h
  LD      barebox
arch/arm/boards/freescale-mx51-pdk/built-in.o: In function `f3s_devices_init':
flash_header.c:(.text.f3s_devices_init+0x20): undefined reference to `mc13xxx_get'
flash_header.c:(.text.f3s_devices_init+0x40): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x58): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x68): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x78): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x94): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0xb0): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0xc0): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0xdc): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0xec): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x10c): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x128): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x138): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x154): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x170): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x194): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x1a4): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x1cc): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x1f0): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x200): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x224): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x238): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x25c): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x26c): undefined reference to `mc13xxx_reg_read'
flash_header.c:(.text.f3s_devices_init+0x288): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x29c): undefined reference to `mc13xxx_reg_write'
flash_header.c:(.text.f3s_devices_init+0x2c4): undefined reference to `mc13xxx_reg_write'
make: *** [barebox] エラー 1

わけがわからない。調べてもエラー例が出ない。

次。U-boot。
ftp://ftp.denx.de/pub/u-boot/u-boot-2012.04.01.tar.bz2
うわあぁぁ… なんかとってもめんどくさい楽しいREADMEが……
どうやらmkconfigを編集してコンフィグするみたいなんだけど、気力がない。今日のところは終わり。
と思ったんだけど、
ARM用のU-bootをQEMUで動かす
こちらのページを参考に

$ make versatilepb_config ARCH=arm CROSS_COMPILE=armv7a-hardfloat-linux-gnueabi-
$ ./xkmake all

とやったらなんかうまい感じにいって、完了した。いいのかこれで…
ともあれ、なんか気づいたらu-bootとu-boot.binとかのバイナリファイルができてた。そのうち試してみよう。

#俺的には例が少ないBareboxで成功したかった。残念。

Permanent link to this article: http://lga128.nekobaka.net/2012/07/u-boot_and_barebox/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次の HTMLタグおよび属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Time limit is exhausted. Please reload the CAPTCHA.