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

            閱讀排行榜

            亚洲αv久久久噜噜噜噜噜| 久久99精品久久久久久秒播| 久久99精品国产麻豆蜜芽| 无码人妻精品一区二区三区久久久| 亚洲国产精品成人久久蜜臀| 国产精品狼人久久久久影院| 99久久精品免费观看国产| 色综合久久中文色婷婷| 国产精品亚洲美女久久久| 国产叼嘿久久精品久久| 久久久综合香蕉尹人综合网| 青青青青久久精品国产h久久精品五福影院1421 | 无码专区久久综合久中文字幕 | 国产午夜精品理论片久久| 国产精品99久久久久久人| 亚洲国产成人久久综合一| 品成人欧美大片久久国产欧美| 久久性生大片免费观看性| 久久精品亚洲AV久久久无码| 久久综合给合久久狠狠狠97色| 成人妇女免费播放久久久| 伊人久久大香线蕉精品| 久久婷婷人人澡人人| 久久久久亚洲AV片无码下载蜜桃| 久久亚洲中文字幕精品有坂深雪| 久久精品国内一区二区三区 | 一本综合久久国产二区| 婷婷久久香蕉五月综合加勒比| 久久精品国产免费| 久久亚洲国产最新网站| 久久久久久久尹人综合网亚洲 | 久久99精品久久久久久hb无码| 久久免费小视频| 久久精品国产亚洲AV影院| 热久久这里只有精品| 久久亚洲精品国产精品婷婷| 青青草原综合久久大伊人精品| 综合久久精品色| 久久精品无码一区二区三区日韩 | 狠狠色婷婷久久一区二区三区| 久久精品国产亚洲5555|