2014/05/11

[rpi]buildrootをビルドしてみよう

buildrootをRaspberry-Pi用にビルドしてみよう。
あんまりよくわかってないけど、kernelとbuildrootがあれば、起動するLinux一式は整うんだと思う。
ここら辺を参考にしよう。
http://blog.kmckk.com/archives/4131505.html#more

 

まず、menuconfigで設定する。

  • Target options
    • Target Architecture : ARM(little endian)
    • Target Architecture Variant : arm1176jzf-s
  • Build options
    • Number of jobs to run simultaneously : 4(にしたけど、0はautoなのでそのままでよいかも)
  • Toolchain
    • Toolchain type : External toolchain
    • Toolchain : custom toolchain
    • Toolchain path : ~/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64
    • Toolchain prefix : arm-linux-gnueabihf
    • External toolchain kernel headers series : 3.2.x
  • Filesystem images
    • [*] ext2/3/4 root filesystem
      • ext4

Toolchainを、Raspberry Piのgithubに入っているコンパイラでやろうとしたんだけど、チェックで引っかかる。

>>> toolchain-external undefined Configuring
External toolchain uses the unsuported OABI

OABIのOは、oldのOらしい。
http://www.oidon.net/linux/arm-eabi-oabi

が、よくわからないので、toolchainはbuildrootに任せることにした。自動でダウンロードするようだ。
makeするとけっこう時間がかかったがビルドできた。

 

output/imagesの中にできているようだ。
rootfs.ext2、rootfs.ext4、rootfs.tarができていた。
「Filesystem images」で設定したのはこれだったのか・・・。じゃあ、tarだけでいいやん。
sudo tar xf rootfs.tar -C /media/sd、みたいな感じで展開。

さあ、これでどうだ!
・・・だめだー。
/dev/ttyS0が開けない、というエラーが出てる。
そういえば、Raspberry Piって、標準出力がHDMIに出てくるんだな。
gettyの設定を無効にするとエラーは出なくなったけど、ログインプロンプトが出ないな。

ありゃ、どうしたらいいんかね?

2 件のコメント:

  1. Toolchain pathに指定するパスはフルパスでないとダメなようです。
    自分もハマって調べていたのですが、toolchain/helpers.mkのcheck_arm_abiあたりで、EXT_TOOLCHAIN_TARGETが空になっているのを見つけたので解決できました。
    いまさら役に立たないと思いますが。

    返信削除
    返信
    1. あー、そうだったんですか。。。
      気付かなかったです。。。

      Raspberry Piの方は今やっていないのですが、別のARM環境でLinuxを立ち上げようとしているので、そちらで試すことになるかもしれません。
      情報ありがとうございます!

      削除

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。