青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0

If you want to compile the sum-module (source mirrored below), follow these steps:

Create the Makefile in your directory with the sum-module.c

 obj-m    := sum-module.o

KDIR    := /lib/modules/$(shell uname -r)/build

PWD    := $(shell pwd)

default:

       $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

Now do a

 make

... and the sum-module.ko is built.

 If you get something like this

# make

make: Nothing to be done for `default'.

you need to install the kernel source and compile the kernel first (run "make" at least to the point until
 all "HOSTCC scripts/" stuff is done - this will configure your kernel and allows external module compilation).
Make sure /lib/modules/$(shell uname -r)/build points to your build directory (most likely /usr/src/linux...).

Another reason for the above error can be, that your browser converted the TAB before $(MAKE) to spaces.

Make sure there is a TAB before $(MAKE).

Install it with install.sh:

#!/bin/sh

install -m 644 sum-module.ko /lib/modules/`uname -r`/kernel/drivers/sum-module.ko

/sbin/depmod -a (adjust the /lib/modules path according to your needs)

 Now make a

# modprobe sum-module

Or if you don't want to install the module, do this:

# insmod ./sum-module.ko

..and if your system doesn't freeze you've done it right ;-)

 

For kernel 2.4, the Makefile would look like this:

TARGET       := modulename

INCLUDE    := -I/lib/modules/`uname -r`/build/include

CFLAGS      := -O2 -Wall -DMODULE -D__KERNEL__ -DLINUX

CC  := gcc ${TARGET}.o: ${TARGET}.c

       $(CC) $(CFLAGS) ${INCLUDE} -c ${TARGET}.c

 (not yet tested)

sum-module source from: http://www.win.tue.nl/~aeb/linux/lk/lk-9.html

/*

 * sum-module.c

# modprobe sum-module.o

# ls -l /proc/arith

total 0

dr-xr-xr-x    2 root     root            0 Sep 30 12:40 .

dr-xr-xr-x   89 root     root            0 Sep 30 12:39 ..

-r--r--r--    1 root     root            0 Sep 30 12:40 sum

# cat /proc/arith/sum

0

# echo 7 > /proc/arith/sum

# echo 5 > /proc/arith/sum

# echo 13 > /proc/arith/sum

# cat /proc/arith/sum

25

# rmmod sum-module

# ls -l /proc/arith

ls: /proc/arith: No such file or directory

#

*/

#include <linux/module.h>

#include <linux/init.h>

#include <linux/proc_fs.h>

#include <asm/uaccess.h>

static unsigned long long sum;

static int show_sum(char *buffer, char **start, off_t offset, int length) {

        int size;

     size = sprintf(buffer, "%lld\n", sum);

        *start = buffer + offset;

        size -= offset;

   return (size > length) ? length : (size > 0) ? size : 0;

}

/* Expect decimal number of at most 9 digits followed by '\n' */

static int add_to_sum(struct file *file, const char *buffer,

                      unsigned long count, void *data)

{

        unsigned long val = 0;

        char buf[10];

       char *endp;

        if (count > sizeof(buf))

                return -EINVAL;

        if (copy_from_user(buf, buffer, count))

                return -EFAULT;

        val = simple_strtoul(buf, &endp, 10);

        if (*endp != '\n')

                return -EINVAL;


        sum += val;     /* mod 2^64 */

        return count;

}

 

static int __init sum_init(void) {

        struct proc_dir_entry *proc_arith;

        struct proc_dir_entry *proc_arith_sum;

        proc_arith = proc_mkdir("arith", 0);

        if (!proc_arith) {

                printk (KERN_ERR "cannot create /proc/arith\n");

                return -ENOMEM;

        }

        proc_arith_sum = create_proc_info_entry("arith/sum", 0, 0, show_sum);

        if (!proc_arith_sum) {

                printk (KERN_ERR "cannot create /proc/arith/sum\n");

                remove_proc_entry("arith", 0);

                return -ENOMEM;

        }

        proc_arith_sum->write_proc = add_to_sum;

        return 0;

}

 

static void __exit sum_exit(void) {

        remove_proc_entry("arith/sum", 0);

        remove_proc_entry("arith", 0);

}

module_init(sum_init);

module_exit(sum_exit);

MODULE_LICENSE("GPL");

 

 from:

http://www.captain.at/programming/kernel-2.6/

http://blog.ednchina.com/fafen/267973/message.aspx
posted on 2010-04-14 23:00 chatler 閱讀(502) 評論(0)  編輯 收藏 引用 所屬分類: linux kernel
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關(guān),覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产精品久久久久秋霞影院| 久久综合99re88久久爱| 国产亚洲欧美另类中文| 亚洲另类春色国产| 亚洲国内欧美| 久久久水蜜桃| 久久久精品性| 国产麻豆精品视频| 亚洲一区二区三区四区视频| 亚洲精品中文在线| 欧美成人免费全部观看天天性色| 久久三级福利| 一区二区三区在线看| 亚洲欧美日韩国产成人| 亚洲欧美日韩国产综合在线 | 一本综合精品| 欧美freesex8一10精品| 牛牛精品成人免费视频| 1024国产精品| 久久亚洲色图| 欧美成人69| 亚洲国产高清在线| 久久琪琪电影院| 久久亚洲综合色一区二区三区| 国产女主播视频一区二区| 亚洲免费视频在线观看| 亚洲欧美日韩在线高清直播| 国产精品久久999| av成人手机在线| 亚洲欧美影院| 国产一级久久| 噜噜噜躁狠狠躁狠狠精品视频| 欧美成人综合在线| 亚洲精品国产品国语在线app| 欧美电影电视剧在线观看| 亚洲精品美女| 亚洲一区亚洲二区| 国产亚洲观看| 久久亚洲一区二区三区四区| 亚洲动漫精品| 亚洲一区二区三区中文字幕在线 | 欧美激情精品久久久久久大尺度| 亚洲成色精品| 欧美日韩国产精品专区 | 91久久久在线| 先锋a资源在线看亚洲| 国产午夜精品一区理论片飘花 | 亚洲视频在线免费观看| 性感少妇一区| 在线观看一区二区视频| 牛牛精品成人免费视频| 亚洲精品美女免费| 欧美一级大片在线观看| 狠狠色狠狠色综合日日五| 嫩草影视亚洲| 亚洲一区综合| 欧美不卡高清| 亚洲欧美国产77777| 国产一区二区三区四区在线观看| 美国十次成人| 亚洲视频免费| 欧美电影免费观看高清| 午夜免费电影一区在线观看| 一区一区视频| 国产精品视频精品视频| 免费亚洲电影在线观看| 亚洲影音一区| 亚洲清纯自拍| 欧美r片在线| 欧美一区二区三区免费视| 亚洲人成亚洲人成在线观看 | 国产精品美女久久久浪潮软件| 久久精品网址| 亚洲综合视频一区| 亚洲精品少妇30p| 免费日韩成人| 久久久久久亚洲综合影院红桃| 99国内精品久久久久久久软件| 国产真实乱子伦精品视频| 欧美日韩免费区域视频在线观看| 久久噜噜噜精品国产亚洲综合| 亚洲午夜视频在线| 亚洲精品久久久久久久久| 美女精品国产| 久久久精品久久久久| 亚洲主播在线播放| 夜夜夜久久久| 亚洲国产精品ⅴa在线观看 | 亚洲国产1区| 国产午夜精品麻豆| 国产精品美女在线| 欧美色图一区二区三区| 欧美日本精品| 欧美日韩国产欧美日美国产精品| 久久中文在线| 麻豆精品在线视频| 久久免费精品视频| 久久久久久久综合| 久久久久久久999| 久久久久久**毛片大全| 欧美中文在线观看| 久久国产视频网站| 欧美在线观看天堂一区二区三区| 亚洲欧美资源在线| 欧美一区二区三区播放老司机| 亚洲一区三区视频在线观看| 亚洲视频在线观看视频| 亚洲视频一区二区免费在线观看| 夜夜嗨网站十八久久| 99在线精品观看| 一本色道久久综合精品竹菊| 夜夜嗨av一区二区三区中文字幕| av成人黄色| 亚洲欧美影院| 欧美在线一二三| 久久一区二区三区国产精品| 免费不卡在线视频| 欧美激情综合在线| 国产精品mm| 国产日韩专区| 亚洲国产高清一区二区三区| 亚洲激情视频网| 亚洲素人在线| 久久www成人_看片免费不卡| 久久综合狠狠综合久久综合88| 欧美大胆a视频| 99在线视频精品| 香蕉久久精品日日躁夜夜躁| 久久婷婷国产综合精品青草| 欧美粗暴jizz性欧美20| 欧美视频亚洲视频| 国产一区二区三区四区五区美女| 欲香欲色天天天综合和网| 亚洲卡通欧美制服中文| 亚洲综合好骚| 麻豆精品在线播放| 日韩一区二区福利| 亚洲欧美国产一区二区三区| 久久久久久久综合色一本| 欧美韩日一区二区| 国产精品一区一区| 91久久亚洲| 午夜亚洲性色福利视频| 欧美高清在线一区| 亚洲一区二区视频在线| 媚黑女一区二区| 国产麻豆精品theporn| 亚洲日本成人| 久久精品中文字幕一区| 亚洲精品视频在线看| 欧美在线网站| 国产精品ⅴa在线观看h| 亚洲激情偷拍| 久久久高清一区二区三区| 日韩午夜激情电影| 久久一区欧美| 国产一二精品视频| 亚洲综合色视频| 亚洲国产精品尤物yw在线观看| 亚洲欧美一区二区三区极速播放 | 午夜精品视频网站| 亚洲国产一区在线| 久久久久在线观看| 国产免费观看久久| 亚洲午夜三级在线| 最新国产成人av网站网址麻豆| 欧美一区视频| 国产精品亚洲综合| 亚洲免费一在线| 99视频在线精品国自产拍免费观看| 久久亚洲色图| 欲香欲色天天天综合和网| 久久精品99国产精品| 亚洲一级网站| 欧美午夜在线| 亚洲一区二区三区视频| 亚洲精品国产精品乱码不99| 鲁大师影院一区二区三区| 狠狠入ady亚洲精品经典电影| 午夜精品久久久久久久久久久久久| 亚洲国产精品久久久久秋霞不卡| 久久亚洲欧美国产精品乐播| 韩国av一区二区三区在线观看| 欧美在线视频一区| 亚洲欧美日本视频在线观看| 国产精品每日更新在线播放网址| 亚洲视频在线观看一区| 99v久久综合狠狠综合久久| 欧美精品三级在线观看| 99综合电影在线视频| 亚洲精品孕妇| 欧美日韩中文另类| 亚洲一区二区三区免费在线观看| aa级大片欧美三级| 国产精品久久久久久久久婷婷| 午夜精品久久久久久久久久久| 亚洲一区二区毛片| 国产无一区二区| 免费一级欧美片在线播放| 美女主播视频一区|