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

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 閱讀(501) 評論(0)  編輯 收藏 引用 所屬分類: linux kernel
<2010年4月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

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

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>
            99在线|亚洲一区二区| 亚洲欧洲在线一区| 在线亚洲免费视频| 国产精品视频内| 欧美亚洲免费在线| 久久国内精品自在自线400部| 国产自产v一区二区三区c| 久久蜜桃资源一区二区老牛| 久久精品中文字幕一区| 亚洲国产精品女人久久久| 亚洲激情成人| 国产精品久久久久久久久免费 | 欧美在线观看www| 极品少妇一区二区三区| 亚洲电影毛片| 国产精品国产三级国产普通话蜜臀 | 欧美呦呦网站| 91久久精品国产91久久性色tv | 久久青草福利网站| 老司机精品视频一区二区三区| 亚洲人午夜精品| 亚洲永久免费av| 亚洲成人原创| 国产精品99久久久久久www| 国产一区二区三区丝袜| 亚洲精品日韩在线| 国产精品专区第二| 亚洲国产精品高清久久久| 国产精品国产三级欧美二区| 久久久夜精品| 欧美三级视频在线播放| 麻豆久久婷婷| 国产精品高潮粉嫩av| 欧美va天堂va视频va在线| 欧美亚一区二区| 欧美福利视频网站| 国产欧美精品在线| 亚洲麻豆视频| 亚洲高清毛片| 先锋影音久久久| 一区二区三区日韩精品| 久久免费视频网站| 香蕉久久精品日日躁夜夜躁| 欧美福利视频网站| 欧美a级片网| 国产农村妇女精品一二区| 亚洲精品美女久久久久| 在线日韩av| 亚洲综合成人在线| 中日韩午夜理伦电影免费| 久久综合色综合88| 久久伊人精品天天| 国产精品制服诱惑| 亚洲网址在线| 午夜视频在线观看一区| 欧美女同在线视频| 亚洲欧洲精品一区二区三区| 亚洲第一色中文字幕| 久久久国产精品一区| 久久久久久色| 国产日韩欧美| 欧美一区影院| 久久一区免费| 在线日本欧美| 免费日韩精品中文字幕视频在线| 久久综合色婷婷| 极品少妇一区二区三区| 久久久久五月天| 免费在线成人| 亚洲国产美女| 欧美黄色影院| 99精品久久| 香蕉成人久久| 激情小说另类小说亚洲欧美| 久久久精品久久久久| 美女91精品| 亚洲免费av片| 国产精品久久网| 欧美在线视频二区| 美女脱光内衣内裤视频久久网站| ●精品国产综合乱码久久久久| 久久久午夜电影| 亚洲第一福利在线观看| 一区二区av在线| 国产美女搞久久| 久久夜色精品国产| 亚洲卡通欧美制服中文| 亚洲欧美日韩爽爽影院| 韩国一区二区三区在线观看| 麻豆成人精品| 亚洲天堂av电影| 久久夜精品va视频免费观看| 亚洲精品久久久久中文字幕欢迎你| 欧美精品系列| 亚洲女同同性videoxma| 可以免费看不卡的av网站| 亚洲精品一区二| 国产精品专区h在线观看| 久久蜜桃精品| 在线午夜精品自拍| 麻豆精品91| 亚洲午夜三级在线| 黄色在线一区| 欧美午夜电影在线观看| 久久久久青草大香线综合精品| 亚洲欧洲综合另类| 久久精品视频在线看| av成人免费在线观看| 国产欧美精品一区aⅴ影院| 欧美成人一区二区三区片免费| 亚洲视频自拍偷拍| 欧美成人精品不卡视频在线观看| 亚洲女与黑人做爰| 最新日韩在线视频| 国产亚洲成av人在线观看导航| 欧美精品久久一区| 久久精品男女| 亚洲欧美国产日韩中文字幕| 亚洲电影激情视频网站| 久久久久久亚洲精品杨幂换脸 | 国产欧美一区二区三区视频| 欧美丰满高潮xxxx喷水动漫| 久久狠狠婷婷| 亚洲欧美不卡| 中文欧美字幕免费| 亚洲韩日在线| 欧美激情导航| 久久综合伊人77777尤物| 欧美亚洲免费| 欧美一区二区精品| 亚洲欧美成人在线| 在线视频亚洲一区| 99国内精品| 一区二区高清视频在线观看| 亚洲国产日韩在线一区模特| 伊人婷婷欧美激情| 国产一区免费视频| 国产有码一区二区| 国产日韩一区在线| 国产日韩av一区二区| 国产精品欧美日韩一区二区| 欧美亚洲第一区| 国产精品国产三级国产| 国产精品wwwwww| 国产精品久久久久毛片大屁完整版 | 黄色日韩精品| 精品91免费| 在线观看亚洲精品视频| 影音先锋日韩资源| 在线成人国产| 亚洲三级免费观看| 99国产精品| 亚洲在线国产日韩欧美| 亚洲男人天堂2024| 欧美一级电影久久| 欧美主播一区二区三区| 久久精品成人| 欧美大片网址| 亚洲大黄网站| 久久亚洲综合色| 免播放器亚洲一区| 久久久亚洲精品一区二区三区| 亚洲精品一区二区三区99| 日韩视频精品在线| 国产精品99久久99久久久二8| 亚洲午夜精品久久久久久浪潮| 亚洲欧美大片| 久久综合九色欧美综合狠狠| 欧美大尺度在线| 日韩视频一区二区三区在线播放| 一二三四社区欧美黄| 午夜精品美女久久久久av福利| 久久精品国产77777蜜臀| 免费高清在线一区| 欧美特黄一级| 黄色资源网久久资源365| 亚洲精品午夜精品| 午夜久久影院| 欧美xxxx在线观看| 夜夜嗨av一区二区三区中文字幕 | 久久婷婷人人澡人人喊人人爽 | 久久精品一区二区国产| 欧美福利视频在线| 国产精品伦理| 亚洲大片av| 午夜精品理论片| 亚洲国产精品999| 亚洲综合欧美| 欧美成人激情视频| 国产小视频国产精品| 亚洲理伦电影| 久久人人97超碰国产公开结果| 亚洲片区在线| 久久精品国产第一区二区三区最新章节| 欧美国产日韩亚洲一区| 黄色成人在线免费| 午夜精品免费在线| 亚洲欧洲在线一区| 久久天天躁狠狠躁夜夜av| 国产精品你懂的|