• <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>

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

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

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

            MODULE_LICENSE(
            "GPL");

            //Makefile
            # Makefile2.6
            obj
            -+= hellomod.o        # 產(chǎn)生hellomod 模塊的目標(biāo)文件

            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 小默 閱讀(246) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Linux

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            97精品依人久久久大香线蕉97 | 久久久久亚洲国产| 中文字幕无码久久人妻| 亚洲中文字幕无码久久综合网| 久久福利青草精品资源站免费| 久久99精品九九九久久婷婷| 久久精品国产亚洲AV久| 狠狠久久亚洲欧美专区| 久久精品国产亚洲αv忘忧草| 国产精品美女久久久久| 无码任你躁久久久久久久| 99久久国语露脸精品国产| 伊人伊成久久人综合网777| 91精品国产高清久久久久久国产嫩草 | 国产亚州精品女人久久久久久 | 久久中文字幕人妻熟av女| 欧美亚洲国产精品久久蜜芽| 久久综合亚洲色HEZYO社区| 国产午夜电影久久| 国产精品欧美久久久天天影视| 大香伊人久久精品一区二区 | 久久久久亚洲AV无码专区首JN| 97超级碰碰碰碰久久久久| 久久精品国产亚洲αv忘忧草 | 精品999久久久久久中文字幕| 一日本道伊人久久综合影| 9191精品国产免费久久| 97久久久久人妻精品专区| 久久精品青青草原伊人| 久久九九久精品国产免费直播| 美女久久久久久| 久久国产成人亚洲精品影院| 999久久久国产精品| 99久久精品国产一区二区三区 | 品成人欧美大片久久国产欧美...| 国产精品一区二区久久国产| 久久精品一本到99热免费| 欧美va久久久噜噜噜久久| 精品乱码久久久久久久| 精品熟女少妇a∨免费久久| 国产精品久久国产精麻豆99网站 |