Armadilloフォーラム

カーネルコンフィグレーション・エラー

inoue

2015年7月1日 16時40分

カーネルコンフィグレーションでのエラーについて

ATB-A800NTSC-Kitの設定を行っていくとエラーとなります。

atmark-dist-20150424.tar.gz
Linux-3.4-at14.tar.gz
を使用しています。

設定を終了し make を実行すると
下記のようなエラーが発生します。

Inconsistent kallsyms data
This is a bug - please report about it
Try make KALLSYMS_EXTRA_PASS=1 as a workaround
make[1]: *** [vmlinux] エラー 1
make[1]: ディレクトリ `/home/atmark/sdos/linux-3.4-at14' から出ます
make: *** [linux] エラー 1

よろしくお願いします。

コメント

at_makoto.harada

2015年7月1日 17時45分

原田です。

> 設定を終了し make を実行すると
> 下記のようなエラーが発生します。
>
> Inconsistent kallsyms data
> This is a bug - please report about it
>Try make KALLSYMS_EXTRA_PASS=1 as a workaround
> make[1]: *** [vmlinux] エラー 1
> make[1]: ディレクトリ `/home/atmark/sdos/linux-3.4-at14' から出ます
> make: *** [linux] エラー 1

エラーメッセージに表示されているように、scripts/kallsymsのバグに引っかかっているのかもしれません。
make KALLSYMS_EXTRA_PASS=1としてビルドするか、
linux-3.x/MakefileにKALLSYMS_EXTRA_PASS=1を追加して試してみてもらえますか?

inoue

2015年7月1日 18時27分

申し遅れました。井上と申します。

下記の2通りを試してみましたがどちらも結果は同じでした。
取り合えず書き換えたMakefileを添付いたします。
追加箇所など不具合があればご指摘いただきたくよろしくお願いします。

> 原田です。
>
> > 設定を終了し make を実行すると
> > 下記のようなエラーが発生します。
> >
> > Inconsistent kallsyms data
> > This is a bug - please report about it
> >Try make KALLSYMS_EXTRA_PASS=1 as a workaround
> > make[1]: *** [vmlinux] エラー 1
> > make[1]: ディレクトリ `/home/atmark/sdos/linux-3.4-at14' から出ます
> > make: *** [linux] エラー 1
>
> エラーメッセージに表示されているように、scripts/kallsymsのバグに引っかかっているのかもしれません。
> make KALLSYMS_EXTRA_PASS=1としてビルドするか、
> linux-3.x/MakefileにKALLSYMS_EXTRA_PASS=1を追加して試してみてもらえますか?
>
>

ファイル ファイルの説明
Makefile.txt Makefile

at_makoto.harada

2015年7月1日 20時11分

原田です。

こちらでも問題を再現させることができました。

kallsymsはSystem.mapファイルを入力とし、カーネルのシンボル情報をバイナリ化するので
すが、このアルゴリズムが完璧なものではなく、カーネルコンフィグやソースコード修正によ
り、特定のシンボル配置になった際に稀に問題が発生する事があります。

KALLSYMS_EXTRA_PASS=1はこのアルゴリズムを微調整するための変数なのですが、今回は
こちらの変数を設定してもビルドエラーとなりますね。

添付のパッチ(kallsyms.patch(*1))を適用する事で本問題が回避できる事を確認しました
ので、お試し下さい。パッチは以下のように適用する事ができます。

[ATDE ~]$ cd atmark-dist/linux-3.x
[ATED ~]$ cat kallsyms.patch | patch -p1 
[ATED ~]$ cd atmark-dist
[ATED ~]$ make

(*1) https://bugzilla.kernel.org/show_bug.cgi?id=69021

ファイル ファイルの説明
kallsyms.patch

inoue

2015年7月2日 17時54分

井上です。

ありがとうございました。
下記のご指示通り実施しましたら、エラーなく終了しました。
ごめんどうをおかけしました。

> 原田です。
>
> こちらでも問題を再現させることができました。
>
> kallsymsはSystem.mapファイルを入力とし、カーネルのシンボル情報をバイナリ化するので
> すが、このアルゴリズムが完璧なものではなく、カーネルコンフィグやソースコード修正によ
> り、特定のシンボル配置になった際に稀に問題が発生する事があります。
>
> KALLSYMS_EXTRA_PASS=1はこのアルゴリズムを微調整するための変数なのですが、今回は
> こちらの変数を設定してもビルドエラーとなりますね。
>
> 添付のパッチ(kallsyms.patch(*1))を適用する事で本問題が回避できる事を確認しました
> ので、お試し下さい。パッチは以下のように適用する事ができます。
>
>

> [ATDE ~]$ cd atmark-dist/linux-3.x
> [ATED ~]$ cat kallsyms.patch | patch -p1 
> [ATED ~]$ cd atmark-dist
> [ATED ~]$ make
> 

>
> (*1) https://bugzilla.kernel.org/show_bug.cgi?id=69021
>