zoukankan      html  css  js  c++  java
  • Set up the environment for driver compiling in Debian

      1、check the kernel version

    $ uname -r
    3.2.0-4-amd64

      2、install the source code

    $ sudo apt-get install linux-source-3.2

      then there would be a file in /usr/src

    $ ls /usr/src | grep linux-source
    linux-source-3.2.tar.bz2

      3、decompress the .bz2

    $ sudo tar xvf linux-source-3.2.tat.bz2

      4、configure the files.

    $ sudo make oldconfig
    // or try the following method
    $ sudo make menuconfig
    $ sudo make xconfig

      5、compile the kernel

    $ sudo make bzImage

      6、compile the modules

    $ sudo make modules

      7、install the modules

    $ sudo make modules_install

      8、reboot

    $ sudo shutdown -r now

      9、try a helloworld module

    //hello.c
    #include <linux/init.h>
    #include <linux/module.h>
    
    MODULE_LICENSE("Dual BSD/GPL");
    
    static int hello_init(void)
    {
            printk(KERN_ALERT "Hello,world
    ");
            return 0;
    }
    
    static void hello_exit(void)
    {
            printk(KERN_ALERT "Goodbye cruel world
    ");
    }
    
    module_init(hello_init);
    module_exit(hello_exit);

      Makefile

    //Makefile
    obj-m := hello.o
    KERNELDIR := /lib/modules/3.2.46/build
    PWD := $(shell pwd)
    
    modules:
            $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
    
    modules_install:
            $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install

      then enter make

    $ sudo make

      if the file hello.ko created, continue.

      10、test the module.

    $ sudo insmod hello.ko
    $ sudo rmmod hello.ko
    $ cat /var/log/syslog | tail -5
    Jun 22 03:05:49 Debian NetworkManager[2842]: <info> Activation (eth0) Stage 4 of 5 (IPv6 Configure Timeout) started...
    Jun 22 03:05:49 Debian NetworkManager[2842]: <info> Activation (eth0) Stage 4 of 5 (IPv6 Configure Timeout) complete.
    Jun 22 03:05:54 Debian ntpdate[3261]: adjust time server 59.66.173.165 offset 0.222044 sec
    Jun 22 03:10:49 Debian kernel: [ 347.185953] Hello,world
    Jun 22 03:10:54 Debian kernel: [ 351.580155] Goodbye cruel world
     

      more tips look at

    http://hi.baidu.com/sgnkdomnrrejowr/item/5154dec4b94e4ddbef183b7c
  • 相关阅读:
    怎么把自己电脑上的文件传到服务器本地上
    查看hive中某个表中的数据、表结构及所在路径
    python2.7读汉字的时候出现乱码,如何解决
    如何连接服务器客户端
    java常用问题排查工具
    netty源码分析之一:server的启动
    java AQS 一:
    netty源码分析之二:accept请求
    java Resource
    二:基础概述netty
  • 原文地址:https://www.cnblogs.com/plinx/p/3149216.html
Copyright © 2011-2022 走看看