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

insmod エラー:'./hello.ko' を挿入中:-1 無効なモジュール形式

カーネル モジュールのビルド元とモジュールの挿入先のカーネルは、同じバージョンである必要があります。このことを処理したくない場合は、次の 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

これで、モジュールをビルドして挿入できます。

可能であれば、この行の前に root になることをお勧めします

<ブロック引用>

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

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

または、次のメイクファイルを使用することもできます

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. Linux:/ dev / console、/ dev / tty、/ dev / tty0の違いは?

  2. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  3. /var/www/... の Django static_root - collectstatic へのアクセス許可がありません

  1. unix:///var/run/supervisor.sock そのようなファイルはありません

  2. /sys/ ドキュメント?

  3. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?

  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Bash =〜正規表現とHttps://regex101.com/?

  3. Kubuntuがログイン時にエラーを表示する(file:///usr/share/sddm//themes/breeze/main.qml:noそのようなファイルまたはディレクトリ)?