insmod问题: init_module xxxxx.ko' failed (Operation not permitted)

刚刚根据开发手册动手练习,使用insmod的时候,出现了怪现象。

现象如下:

1,在串口线连接电脑情况下进入com1,执行insmod example.ko

$ insmod example.ko
insmod: init_module 'example.ko' failed (Operation not permitted)

2,用usb线连接电脑,在windows下cmd执行adb shell,然后执行insmod example.ko

#insmod example.ko

insmod example.ko

执行#dmesg

在最后打印:<4>[4316.335436] example init

奈何我是菜鸟,不懂原因,百度了一下,有几位网友提到是主设备号次设备号的问题,可是解决不了我这个问题,因为在我的module__init里面就只执行了一句打印:

  1 #include
  2 #include
  3 #include
  4
  5 static int __init example_init(void)
  6 {
  7     printk("example init\n");
  8     return 0;
  9 }

 10 module_init(example_init);
 11
 12 static void __exit example_exit(void)
 13 {
 14     printk("example exit\n");
 15 }
 16 module_exit(example_exit);
 17
 18 MODULE_LICENSE("GPL");
 19

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

写到一半,发现了一个问题,$和#,想到not permiited,然后在串口线的情况下执行:

$sudo insmod example.ko

sudo not found

看手册,应该用;

$su

#insmod example.ko

#dmesg

example init

哈哈,成功打印,我真是笨啊

你可能感兴趣的:(驱动)