[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:41664] Kernel Source & Unresolved Symbol
お世話になっています。箱崎と申します。
2つ質問をさせて下さい。
まず1つめはkernel-imageとkernel-source、及びkernel-headersのバージョンについてです。
現在以下のような環境で開発に取り組んでおります。
ホスト:Intel i386
ターゲット:Motorola mvme16x
先日ターゲットマシンにkernel-imageー2.4.27-mvme16xをインストールしました。
起動の確認もできています。(ちなみに9月25日以前のバージョンではカーネルパニックでした。)
もともとホストでのカスタムカーネル作成を考えておりましたので、apt-getでバージョンの同じkernel-source-2.4.27(with Debian patch)をインストール、kernel-imageインストール時に自動でターゲットにインストールされたconfigファイルをホストにコピーしてきてconfigurationをした後、カーネルのコンパイルをしました。
結果はWarningとErrorの嵐でした。
ドライバの開発でも(当然ですが)このsourceに含まれるkernel-headersでは/asm-m68k/string.hなどからWarningが止まりません。
仕方が無いのでkernel-headers-2.4.27-m68kを別途インストールしてこれに対してコンパイルしたところ、Warningもなく無事モジュールができました。
今回の例では、公開されているkernel-image、kernel-source、kernel-headersのバージョンの整合性が取れていないように見えるのですが、これはTestingならではのことなのでしょうか。それとも私の思い違いなのでしょうか。
また、binaryのkernel-imageはgcc-2.95でコンパイルされているようですが、私のクロス開発環境では3.3です。これもカーネルコンパイルができない原因の一つなのでしょうか。
次に2つめの質問です。
取りあえずkernel-header-2.4.27-m68kで簡単なモジュールの作成ができるようなので、ターゲット機で作成したモジュールのロード&アンロードのテストをしました。すると次のようなメッセージが出ました。
unresolved symbol mm_vtop
これはカーネル本体とモジュールのバージョンが違う場合、もしくはバージョンサポートの有無が揃っていない場合に出るエラーだと認識しておりますが、正直解決方法が分かりません。
インストールしたカーネルのconfigファイルでは CONFIG_MODVERSIONS is not set となっています。
さらにprintkのみのモジュールでは同種のエラーは出ず、ロードに成功します。
恐らく私が混乱しているのだと思いますが、解決の糸口が掴めずに数日途方にくれています。
前述の通り、今のままではカーネルの再構築はできず、モジュールの開発もままならず、でとても困っています。
記述が長く分かりにくい上に、大変基本的なことで恐縮なのですが、どなたか解決方法をご教示いただければ幸甚です。
宜しくお願いいたします。
箱崎由紀子