GNU/Linux >> Belajar Linux >  >> Linux

kesalahan insmod:memasukkan './hello.ko':-1 Format modul tidak valid

Kernel dari mana Anda membangun modul kernel Anda dan modul yang Anda sisipkan harus dari versi yang sama. Jika Anda tidak ingin mengurus hal ini, Anda dapat menggunakan Makefile berikut.

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

Sekarang Anda dapat membangun dan mencoba memasukkan modul.

Saya menyarankan Anda untuk menjadi root jika memungkinkan sebelum baris ini

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

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

Alternatifnya, Anda juga dapat menggunakan file make berikut

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. Galat Gpg, Tanda Tangan Tidak Valid Untuk “http://archive.canonical.com Rilis Tepat”?

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. id_rsa.pub file Kesalahan SSH:format tidak valid

  1. Kesalahan dalam phpMyAdmin setelah memutakhirkan ke v4.8.0:$cfg['TempDir'] (./tmp/) tidak dapat diakses

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. ssh:Kesalahan memuat kunci ./id_rsa:format tidak valid

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. gema atau cetak /dev/stdin /dev/stdout /dev/stderr

  3. Mengapa < atau > diperlukan untuk menggunakan /dev/tcp