6

ご存知かもしれませんが、Android は非常に頻繁にシステム アップデートを行っており、メジャー アップデートのたびに、Linux カーネルが変更されている限り、tun.ko ファイルを再コンパイルする必要があります。

ジンジャーブレッドのごく最近の更新では、古い tun.ko ファイルが役に立たず、そのようなファイルを取得する場所が見つからないことがわかりました (XDA と Google を試しました)。そのため、tun.ko を自分でコンパイルすることにしました。

ファイルのコンパイル方法を紹介する記事やブログをいくつか見つけました。ARM クロス コンパイラと android カーネル (android の kernel.org にアクセスできないため、GitHub android ミラーから) を取得しましたが、常に次のようなエラーが発生します。

$ ARCH=arm make modules SUBDIRS=drivers/net

エラー: カーネル構成が無効です。include/generated/autoconf.h または include/config/auto.conf がありません。修正するには、カーネル src で「make oldconfig && make prepare」を実行します。

/bin/sh: /bin/false: そのようなファイルまたはディレクトリはありません

警告: シンボル バージョン ダンプ /Users/xxx/Downloads/msm/Module.symvers がありません。モジュールには依存関係や modversion はありません。

モジュールのビルド、ステージ 2。 /Users/xxx/Downloads/msm/scripts/Makefile.modpost:42: include/config/auto.conf: そのようなファイルまたはディレクトリはありません make[1]: * ターゲットを `include/ にするルールはありませんconfig/auto.conf'. 止まる。make: * [モジュール] エラー 2

なぜこれらのエラーが発生したのかわかりません。誰かが私を助けてくれますか?

どうもありがとう!

4

1 に答える 1

0

最初にカーネルを適切に構成する必要があります。そうしないと、モジュールをビルドできません。ほとんどの場合、デバイスからカーネル構成を抽出できるはずですが (/proc/config.gz にあるはずです)、これはオプションの機能であるため、欠落している可能性があります。

ただし、(デバイスと同じバージョンの)カーネルのかなり一般的な構成を作成すると、うまくいく傾向があります。

于 2012-07-24T22:02:38.660 に答える