GNU/Linux >> Znalost Linux >  >> Linux

Chyba insmod:vkládání './hello.ko':-1 Neplatný formát modulu

Jádro, ze kterého sestavujete modul jádra a do kterého modul vkládáte, by mělo být stejné verze. Pokud se o to nechcete starat, můžete použít následující Makefile.

obj−m += hello−world.o

all:
 make −C /lib/modules/$(shell uname −r)/build M=$(PWD) modules
clean:
 make −C /lib/modules/$(shell uname −r)/build M=$(PWD) clean

Nyní můžete sestavit a zkusit vložit modul.

Navrhuji, abyste se stali rootem, pokud je to možné, před tímto řádkem

$sudo cp /boot/config-2.6.38-8-generic ./.config

$su
#cp /boot/config-2.6.38-8-generic ./.config
#insmod hello_world.ko

Případně můžete také použít následující soubor make

TARGET  := hello-world
WARN    := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
INCLUDE := -isystem /lib/modules/`uname -r`/build/include
CFLAGS  := -O2 -DMODULE -D__KERNEL__ ${WARN} ${INCLUDE}
CC      := gcc-3.0

${TARGET}.o: ${TARGET}.c

.PHONY: clean

clean:
    rm -rf ${TARGET}.o

Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Bash =~ Regex A Https://regex101.com/?

  3. Chyba Gpg, podpisy neplatné pro „http://archive.canonical.com přesné vydání“?

  1. Nainstalujte binární soubory do /bin, /sbin, /usr/bin a /usr/sbin, interakce s --prefix a DESTDIR

  2. Kdy mám použít /dev/shm/ a kdy /tmp/?

  3. ssh:Chyba při načítání klíče ./id_rsa:neplatný formát

  1. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  2. echo nebo print /dev/stdin /dev/stdout /dev/stderr

  3. Proč jsou < nebo > vyžadovány pro použití /dev/tcp