zoukankan      html  css  js  c++  java
  • My First Linux Module

    My First Linux Module

    Today, I successfully build my first linux hello module.

    First of all add a directory named hello in the kernel/driver, and add a file hello.c, write codes like bellow:

    #include <linux/init.h>
    #include <linux/module.h>
    
    static int __init hello_init(void)
    {
        printk(KERN_ERR " Hello, world!
    ");
        return 0;
    }
    
    static void __exit hello_exit(void)
    {
        printk(KERN_ERR " Goodbye, world!
    ");
    }
    
    module_init(hello_init);
    module_exit(hello_exit);
    
    MODULE_AUTHOR("Bob, Zhang");
    MODULE_LICENSE("Dual BSD/GPL");
    
    MODULE_DESCRIPTION("A simple hello world demo");
    MODULE_ALIAS("A simple module");

    Then create a Kconfig file:

    config HELLO
        tristate "HELLO WORLD Driver!"
        default m
        help
            HELLO WORLD

    And create a Makefile file:

    obj-m += hello.o

    Next Add the Kconfig and Makefile into the Kconfig file and Makefile file in parent directory.

    Finally run the commands bellow:

    make ARCH=arm CROSS_COMPILE=$tool_prefix my_kernel_defconfig
    make ARCH=arm CROSS_COMPILE=$tool_prefix modules
    mkdir ./moduls_temp
    make ARCH=arm CROSS_COMPILE=$tool_prefix modules_install INSTALL_MOD_PATH=./modules_temp

    At last, the demo run like this:

  • 相关阅读:
    MySQL权限详解
    MySql 详解
    顶级Python库
    第一次读到就震撼的句子
    Windows快捷键大全
    Pycharm超级好用的快捷键——效率之王
    Django框架
    前端入门和进阶必会
    正则表达式BREs,EREs,PREs的比较
    selenium模块基础用法详解
  • 原文地址:https://www.cnblogs.com/zhanghang-BadCoder/p/7159961.html
Copyright © 2011-2022 走看看