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

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 閱讀(498) 評論(0)  編輯 收藏 引用 所屬分類: linux kernel
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(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>
            久久成人18免费观看| 在线看视频不卡| 久久久成人网| 欧美中文在线观看| 巨胸喷奶水www久久久免费动漫| 午夜国产欧美理论在线播放| 午夜精品久久一牛影视| 久久精品免费电影| 欧美电影资源| 国产精品毛片一区二区三区| 国产亚洲毛片| 亚洲精品男同| 亚洲自拍高清| 久久综合中文字幕| 亚洲人成在线观看| 亚洲美女免费视频| 欧美一区二区视频在线观看| 国产女主播在线一区二区| 欧美成人精品一区| 国产精品国产三级国产a| 国产性做久久久久久| 亚洲精品久久| 久久国产欧美精品| 亚洲欧洲一区| 久久国产精品一区二区| 欧美日韩福利在线观看| 国产一区日韩一区| 中文国产成人精品久久一| 久久一二三国产| 亚洲伊人色欲综合网| 欧美成人激情视频| 国内精品久久久久久久影视麻豆| 亚洲久久一区| 免费久久精品视频| 午夜在线一区| 国产精品久久激情| 99精品99| 亚洲国产日韩欧美一区二区三区| 亚洲欧美日韩综合一区| 欧美日韩伦理在线免费| 亚洲国内高清视频| 老司机精品视频网站| 亚洲一区一卡| 欧美日精品一区视频| 亚洲国产一区在线| 美日韩免费视频| 欧美一二三区在线观看| 欧美视频免费在线| 夜久久久久久| 亚洲欧洲另类| 欧美成年人网| 亚洲精品一区二| 亚洲电影免费| 欧美成人一品| 亚洲伦理中文字幕| 欧美激情一区二区三区| 久久女同互慰一区二区三区| 国产在线高清精品| 久久精品中文字幕一区二区三区| 99国内精品| 国产精品高潮呻吟久久| 亚洲视屏在线播放| 99精品视频免费| 欧美性生交xxxxx久久久| 一区二区三区四区蜜桃| 日韩视频―中文字幕| 欧美视频中文字幕| 欧美一区二区视频观看视频| 亚洲综合国产精品| 国产一区二区三区免费在线观看 | 欧美日韩国产在线| 亚洲精品久久久蜜桃| 91久久夜色精品国产网站| 欧美精品一区二区久久婷婷| 亚洲精品中文字| 亚洲精品1区| 欧美日韩在线视频观看| 亚洲精品一区在线观看| 亚洲精品美女久久7777777| 欧美精品二区| 夜夜精品视频一区二区| 一本久久综合亚洲鲁鲁| 国产精品欧美经典| 美女国产精品| 欧美精品一区视频| 亚欧成人精品| 老牛嫩草一区二区三区日本| 99国产精品视频免费观看| 宅男精品视频| 在线免费不卡视频| 99精品99| **网站欧美大片在线观看| 亚洲精品中文字幕在线观看| 国产精品一区=区| 国产精品日韩精品欧美精品| 久久久精品免费视频| 免费毛片一区二区三区久久久| 中文一区二区在线观看| 欧美一区二区视频观看视频| 99视频一区| 性色av一区二区三区在线观看 | 亚洲日产国产精品| 国产欧美婷婷中文| 亚洲国产一区二区三区在线播| 国产精品亚洲成人| 亚洲高清视频在线观看| 国产美女诱惑一区二区| 亚洲国产欧美日韩精品| 国产午夜亚洲精品羞羞网站| 日韩视频在线观看免费| 亚洲国产成人久久综合一区| 亚洲男女毛片无遮挡| 一区二区三区免费在线观看| 久久一区亚洲| 久久久999精品免费| 欧美视频一区二区三区…| 欧美成人激情视频免费观看| 国产区日韩欧美| 亚洲素人在线| 亚洲视频1区2区| 欧美91精品| 奶水喷射视频一区| 国产欧美二区| 亚洲午夜久久久久久久久电影院 | 久久九九99| 国产精品自拍在线| 中日韩美女免费视频网址在线观看| 亚洲人成艺术| 欧美插天视频在线播放| 欧美大片专区| 亚洲国产乱码最新视频| 欧美一区久久| 久久免费视频观看| 国内精品一区二区三区| 日韩午夜av| 一区二区三区久久网| 日韩一级不卡| 欧美国产一区二区在线观看| 久久久人人人| 一区二区三区在线视频播放| 久久www成人_看片免费不卡| 欧美一区二区三区免费看| 国产精品嫩草影院一区二区| 亚洲欧美日本另类| 久久精品国产久精国产爱| 国产一区二区三区四区hd| 久久九九免费视频| 欧美成人第一页| 99视频日韩| 国产精品久久久久一区二区三区共| 中文高清一区| 久久久久久久网站| 亚洲高清不卡| 欧美日韩精品二区| 亚洲男人第一网站| 麻豆精品在线观看| 艳妇臀荡乳欲伦亚洲一区| 国产精品久久久久9999| 欧美在线观看日本一区| 欧美成人免费网站| 亚洲无人区一区| 韩国三级在线一区| 欧美日韩国语| 久久国产精品久久久久久电车| 欧美va天堂| 亚洲午夜电影网| 黑人一区二区| 欧美日韩一区二区国产| 性欧美大战久久久久久久免费观看 | 欧美怡红院视频| 中国女人久久久| 国产一区二区精品久久99| 六月婷婷久久| 亚洲影院色无极综合| 欧美11—12娇小xxxx| 亚洲一级黄色片| 在线观看亚洲精品| 国产精品福利在线| 欧美成人a视频| 欧美一区二区三区四区高清| 亚洲高清免费在线| 久久久久国内| 亚洲一区二区三区精品在线| 在线观看亚洲| 国产一区二区三区观看 | 欧美日韩美女在线| 久久久久久网| 午夜精品久久久久久久| 91久久综合亚洲鲁鲁五月天| 久久精品一区蜜桃臀影院| 亚洲视频在线一区| 亚洲国产精品毛片| 国产在线观看一区| 国产精品呻吟| 欧美午夜精彩| 欧美日韩国产一中文字不卡| 免费中文字幕日韩欧美| 久久久精品国产一区二区三区| 亚洲主播在线观看| 久久久久久综合网天天|