Linuxデバイスドライバのチュートリアルを作成する[閉じる]

Linuxデバイスドライバのチュートリアルを作成する[閉じる]

こんにちは、私はカーネル開発が初めてであり、これに従います。地図時間

モジュールを作成しようとすると:

    #include <linux/init.h>
    #include <linux/module.h>
    MODULE_LICENSE("Dual BSD/GPL");
    static int hello_init(void)
    {
     printk(KERN_ALERT "Hello, world\n");
     return 0;
    }
    static void hello_exit(void)
    {
     printk(KERN_ALERT "Goodbye, cruel world\n");
    }
    module_init(hello_init);
    module_exit(hello_exit);

本に記載されているように、「make」とmakefileを使用してください。

    obj-m := hello.o

エラーが発生しました。

確認:***ターゲットはありません。止まる

助けてくれてありがとう。

答え1

サンプルMakefile:

obj-m += hello.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

linux-headers(カーネルヘッダ)と(開発ツール)をインストールする必要があります。build-essential

関連情報