GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kompilieren eines Kernel-Moduls außerhalb des Baums gegen einen beliebigen Kernel-Quellbaum auf dem Dateisystem

goal is to have it compile against any source tree

Ja, Sie können es tun, indem Sie einen compiled source-code path angeben

ersetzen Sie einfach make -C /lib/modules/$(shell uname -r)/build M=$PWD modules

mit diesem

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

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

versuchen Sie es mit folgendem Makefile

Makefile –

# 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

Oben können Sie KERNEL_SOURCE := /usr/src/linux ändern -->an.--> Ihren SR-Code KERNEL_SOURCE := <path to compiled-src-code>

für weitere infos findest du unten likes

Warum brauchen wir beim Erstellen von Kernelmodulen /lib/modules?

Ein einfaches Programm auf Linux-Gerätetreiber

Wie man einen eingebauten Gerätetreiber in Linux erstellt


Linux
  1. Linux – Wie kann man feststellen, welches Modul den Kernel verschmutzt?

  2. Änderungen der Parameter des Kernelmoduls (unter Verwendung von /sys/module)

  3. Wo finde ich die Version eines Linux-Kernel-Quellbaums?

  4. Was ist die aktuelle Linux-Kernelquelle?

  5. Wie füge ich dem Kernel-Modulcode eine Abfragefunktion hinzu?

So laden und entladen Sie Kernel-Module in Linux

Lsmod-Befehl in Linux (Kernel-Module auflisten)

Informationen zu geladenen Kernelmodulen mit dem Lsmod-Befehl auflisten

Zeigen Sie Linux-Kernel-Modulinformationen mit dem Modinfo-Befehl an

Was ist der Unterschied zwischen Kerneltreibern und Kernelmodulen?

So listen Sie den Kernel-Gerätebaum auf