[Armadillo:02682] Re: Armadillo-500でカーネルをeabiでコンパイルするとブートできない

近藤昭雄 email@hidden
2008年 2月 6日 (水) 12:13:35 JST


サムシングプレシャス古賀さま

お世話になっております。
ブリリアントサービスの近藤です。

返信が遅れてしまい申し訳ありません。

弊社メールサーバーがダウンしてしまいメールが使えない状況でした。
過去のメールも消えてしまったため、MessageIDも関連がない新規投稿
になってしまい、重ねてお詫びいたします。

コンパイルオプションの指定箇所をご教授いただきありがとうございました。

しかしブートできないのは別の原因だったようです。
configでMXCのオーバーレイのオプションを有効にすると
ブートの途中でとまってしまうようです。

該当オプションを無効にすることでブートできるようになりました。

どうぞ、よろしくおねがいいたします。

> サムシングプレシャスの古賀です。
>
> 近藤さん([Armadillo:02635]):
> >CONFIG_EABIを有効にしてコンパイルすると
> >noinitrdにしてもモニタの電源も入らず、
> >カーネルのイメージの解凍後からログが出なくなってしまいます。
> >
> >コンパイルオプションがEABIになっていないのでないかと思い、
> >Makifileを書き換えて-mabiを指定してみましたが
> >コンパイルエラーが出るようになってしまいました。
> >入れる場所が悪いのか、-mabiのオプションを認識していないようです。
> >
> >初歩的な質問で恐縮ですが、-mabiを指定する箇所をご教授いただけたら幸い
> です。
>
> 以下の二箇所だと思います。ただし、先のメールで書いた
> 通り、弊社で EABI ビルド版の動作確認をした際、けっ
> きょく ATDE を使いませんでしたので、これで解決できる
> かどうかは、分かりません。
>
> ・atmark-dist/linux-2.6.x/arch/arm/Makefile
>   CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
>  の行を
>   CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=aapcs-linux)
>  に変更。
>
> ・atmark-dist/config.arch
>  先頭に
>   CPUCFLAGS := -mabi=aapcs-linux
>  という行を追加。
>
>
> ちなみに、ユーザランドを EABI ビルドするために試みた
> 方策は、-mabi オプションの置換または追加を行うスクリ
> プトを作って、ATDE のクロスコンパイル用 gcc を置換す
> る、というものでした(※元のクロスコンパイラのファイ
> ル名を変更し、-mabi オプションの置換・追加を行うスク
> リプトをクロスコンパイラと同じ名前で配置、ファイル名
> を変更したクロスコンパイラを、そのスクリプトから呼び
> 出す、という方策です)。
>
> これは、ユーザランドのソースでは Makefile の体系が
> 統一されているわけではなく、そのため、上に示した
> カーネルに対する指定のように、一括指定できない、と
> いう事情によります。が、glibc がプレビルドされてお
> り、そちらをリンクしてしまうために結局駄目だった、
> というのは、先のメールで書いた通りです。glibc の
> EABI ビルドも試みたのですが、うまくいかなかったので、
>  http://www.codesourcery.com/gnu_toolchains/arm/download.html
> のツールチェーンを使って手っ取り早く済ませた次第です。
>
> --
> 古賀信哉 (株)サムシングプレシャス



armadillo メーリングリストの案内