• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小默

            LKM hello world

            //hellomod.c
            //hello world driver for Linux 2.6
            #include <linux/module.h>
            #include 
            <linux/kernel.h>
            #include 
            <linux/init.h>

            //模塊的初始化函數
            static int __init lkp_init(void)
            {
             printk(
            "<1>Hello,World! from kernel space \n"); //<1> output level,print now
             return 0;
            }

            //模塊的退出和清理函數
            static void __exit lkp_cleanup(void)
            {
             printk(
            "<1>GoodBye,World! leaving kernel space \n");
            }

            //向內核注冊模塊所提供的新功能
            module_init(lkp_init); 
            //注銷由模塊提供的所有功能
            module_exit(lkp_cleanup);

            MODULE_LICENSE(
            "GPL");

            //Makefile
            # Makefile2.6
            obj
            -+= hellomod.o        # 產生hellomod 模塊的目標文件

            KERNELDIR :
            = /usr/src/kernels/2.6.27.5-117.fc10.i686/

            all:
                make 
            -C $(KERNELDIR) M=$(PWD) modules

            clean:
                rm 
            -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions    #清理

            //輸出
            [root@colorfulgreen hellomod]# make
            make 
            -/usr/src/kernels/2.6.27.5-117.fc10.i686/ M=/home/green/src/hellomod modules
            make[
            1]: Entering directory `/usr/src/kernels/2.6.27.5-117.fc10.i686'
              CC [M]  /home/green/src/hellomod/hellomod.o
              Building modules, stage 
            2.
              MODPOST 
            1 modules
              CC      
            /home/green/src/hellomod/hellomod.mod.o
              LD [M]  
            /home/green/src/hellomod/hellomod.ko
            make[
            1]: Leaving directory `/usr/src/kernels/2.6.27.5-117.fc10.i686'
            [root@colorfulgreen hellomod]# ls
            hellomod.c   hellomod.mod.c  Makefile        modules.order
            hellomod.c
            ~  hellomod.mod.o  Makefile~       Module.symvers
            hellomod.ko  hellomod.o      Module.markers
            [root@colorfulgreen hellomod]# insmod hellomod.ko
            [root@colorfulgreen hellomod]# lsmod 
            |grep hello
            hellomod                
            5376  0 
            [root@colorfulgreen hellomod]# rmmod hellomod
            [root@colorfulgreen hellomod]# dmesg
             
            Hello,World
            ! from kernel space 
            GoodBye,World
            ! leaving kernel space

            posted on 2010-03-29 09:36 小默 閱讀(247) 評論(0)  編輯 收藏 引用 所屬分類: Linux

            導航

            統計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久97久久97精品免视看秋霞| 国产精品一区二区久久精品涩爱 | 国内精品伊人久久久久影院对白| 国产成人综合久久精品尤物| 久久笫一福利免费导航| 久久国产精品77777| 久久精品综合一区二区三区| 色欲综合久久中文字幕网| 久久se这里只有精品| 久久棈精品久久久久久噜噜| 久久免费大片| 国内精品伊人久久久久| 四虎国产精品成人免费久久| 日韩欧美亚洲综合久久影院d3| 99久久国产宗和精品1上映 | 久久国产成人精品麻豆| 亚洲精品国精品久久99热一| 欧美国产成人久久精品| 中文字幕一区二区三区久久网站| 亚洲欧美日韩中文久久| 人妻无码精品久久亚瑟影视| 久久久综合香蕉尹人综合网| 婷婷综合久久中文字幕| 国产91久久精品一区二区| 久久久亚洲欧洲日产国码aⅴ | 久久精品中文字幕无码绿巨人| 国产精品一区二区久久精品涩爱 | 色老头网站久久网| 人妻系列无码专区久久五月天| 国产精品久久久久一区二区三区| 精品国产乱码久久久久久1区2区| 无码日韩人妻精品久久蜜桃| 久久国产欧美日韩精品| 精产国品久久一二三产区区别 | 青青草原综合久久| 久久夜色精品国产亚洲| 一级做a爰片久久毛片16| 国产精品一区二区久久精品无码| 精品久久久久久国产免费了| 久久无码国产| 亚洲精品乱码久久久久久|