1

自分のマシンでLinuxソースをコンパイルするために行っている手順は次のとおり
です。1。構成ファイルを/bootから/usr/src/kernels/2.6.29.4-167.fc11.i586/ディレクトリにコピーします
。2。oldconfig3を作成し
ます。作る

ステップ3は次のエラーで失敗します:make [1]:***ターゲットを`missing-syscalls'にするルールはありません。止まる。

x86ボックスでのコンパイル。助言がありますか ?ここに属していない場合は、この質問を閉じてください。

4

4 に答える 4

2

古風に聞こえるかもしれませんが、現在、システムでカーネルソースを取得するには、必要なソースを手動で選択する必要があるようです。人々は以前ほど頻繁にカーネルを構築していないと思われます。もちろん、実行しているバージョンと一致しないカーネルを開発したいと思うかもしれません。

たとえば、CentOS 6.2ボックスにVBoxをインストールしたかったのですが、ほとんどのカーネルモジュールは完全なソースなしでコンパイルできますが、この更新は失敗しました。

だから私はこのwikiページを見つけました: http ://wiki.centos.org/HowTos/I_need_the_Kernel_Source

6.2はリストされておらず、最終的なディレクトリ名の命名規則が変更されているため、6.2カーネルソースを取得するには、http://vault.centos.org/6.2/updates/Source/にアクセスして、必要なバージョンを選択します。別のバージョンのソースが必要な場合は、 http: //vault.centos.org/にアクセスして、そこからナビゲートしてください。

ドキュメントでは、カーネルソースでrpm-buildを実行しないことを推奨しています。

于 2012-01-12T18:46:36.743 に答える
0

このエラーが発生する理由に答えることができませんでした:
ステップ3は次のエラーで失敗します:make [1]:***ターゲットを「missing-syscalls」にするルールはありません。止まる。

しかし、上記のエラーなしで、バニラバージョンを正常にコンパイルすることができました。serverfaultについても同じ質問をしました。これには、実行した手順の詳細な説明があります:https ://serverfault.com/questions/61354/missing-syscalls-error-during-kernel-compilation

于 2009-09-02T23:56:48.090 に答える
0

新しい設定ファイルを作成します。たぶん古いものが機能していませんか?

于 2009-09-02T01:43:38.130 に答える
0

カーネル3.xx以降、このメッセージは、単一のMakefileのみが準備されている外部モジュールをビルドしようとした場合に表示されます。

代わりに、このマニュアルによると、

Kbuildへの分割(すべてのソースファイルがリストされている例):

obj-m := module_source.c

単純なMakefile(デフォルトのmakeディレクティブのみを含む例):

default: $(MAKE) -C $(KDIR) M=$$PWD

問題を解決します。

念のため、外部モジュールのビルドディレクティブは次のようになります。

make -C <kernel source path> -M=<module source folder>

例:make -C . -M=extra/

于 2017-09-18T13:06:12.470 に答える