Menu Home

kernel

linux kernel driver自动创建设备

static int watchdog_init(void) { wdt_major = register_chrdev(0, “lte8718wdt”, <e8718wdt_fopts); wdt_class = class_create(THIS_MODULE, wdt_name); device_create(wdt_class, NULL, MKDEV(wdt_major, 0), NULL, wdt_name); } static int watchdog_exit(void) { device_destroy(wdt_class, MKDEV(wdt_major, 0)); class_destroy(wdt_class); unregister_chrdev(lte8718wdt_major, “lte8718wdt”); }

编译单个linux kernel 模块

kernel 编译单个模块 假设需要单独编译resiserfs内核模块: 1)make menuconfig load 一下当前目录下的.config 文件 进入文件系统选项,选择reiserfs 模块,使其前面有个M 保存退出 2)make prepare 不运行该命令make 时将会报错 3)make scripts 4)make M=fs/reiserfs 开始编译单个模块,编译完成后模块生成在fs/reiserfs.ko