GNU/Linux >> Linux の 問題 >  >> Linux

ファイルシステム上の任意のカーネル ソース ツリーに対してツリー外カーネル モジュールをコンパイルする

goal is to have it compile against any source tree

compiled source-code path を指定して実行できます

make -C /lib/modules/$(shell uname -r)/build M=$PWD modules を置き換えるだけです

これで

make -C <path-to-compiled-src-code> M=$PWD modules

make -C /home/vinay/linux-3.9 M=$PWD modules

以下のメイクファイルを試してください

メイクファイル –

# if KERNELRELEASE is defined, we've been invoked from the
# kernel build system and can use its language.
ifneq (${KERNELRELEASE},)
obj-m := new-mod.o
# Otherwise we were called directly from the command line.
# Invoke the kernel build system.
  else
    KERNEL_SOURCE := /usr/src/linux
    PWD := $(shell pwd)
default:
      ${MAKE} -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules

clean:
      ${MAKE} -C ${KERNEL_SOURCE} SUBDIRS=${PWD} clean
endif

上記で KERNEL_SOURCE := /usr/src/linux を変更できます -->to.--> あなたの SR コード KERNEL_SOURCE := <path to compiled-src-code>

詳細については、以下を参照してください。

カーネルモジュールを構築するとき、なぜ /lib/modules が必要なのですか?

Linux デバイス ドライバの簡単なプログラム

Linux に組み込みデバイス ドライバを作成する方法


Linux
  1. Linux –どのモジュールがカーネルを汚染しているかを判断する方法は?

  2. コンパイルされたカーネルモジュールのバージョンを見つける方法は?

  3. カーネル モジュール パラメータの変更 (/sys/module を使用)

  1. Linux カーネル ソース ツリーのバージョンはどこにありますか?

  2. 現在の Linux カーネル ソースは何ですか?

  3. Linux カーネルの pr_debug が何も出力しないのはなぜですか?

  1. Linux –カーネルツリーでヘッドフォン用のLinuxドライバーを見つけますか?

  2. Linux LKM ローダブル カーネル モジュールを作成、コンパイル、ロードする方法

  3. カーネル デバイス ツリーを一覧表示する方法