内核外模块编译步骤

1.       内核外模块编译步骤:

1)进入模块所在目录,在Makefile里面添加要编译的模块如:obj-m = test.o.

2make  -C $Kernel  M=`pwd` modules:把模块放到指定的内核下进行编译即在指定的内核下构建模块(注意模块要加载入哪个内核就在哪个内核中编译:比如我的开发板使用的内核版本为linux-2.6.28,modules就要到在linux-2.6.28下编译),其中$kernel=内核源文件的绝对路径,此处换成你的内核源文件的路径;`pwd`=表示模块当前绝对路径。不作修改,自动获取modules当前路径。即可生成.ko文件。

3make  -C $Kernel  M=`pwd` modules clean:清除编译好的文件.ko.o文件和相关生成的文件

4make  -C $Kernel  M=`pwd` modules_install  INSTALL_MOD_PATH=$NFSROOT:安装modules到指定的目录。

5)若以上操作比较频繁的时候,可以写一个bash shell脚本mkmod.sh执行 mv mkmod.sh  mkmod; chmod 755 mkmod修改它的权限,把mkmod拷贝到/usr/bin/目录下,只要执行mkmod, mkmod clean, mkmod install就可以完成以上操作过程,bash  shell 代码如下:

#!/bin/bash

KERNEL=/kernel/linux-2.6.28

#KERNEL=/lib/modules/`uname -r`/build

NFSROOT=/nfsroot

if [ $# -eq 0 ]

then

make -C $KERNEL M=`pwd` modules

elif [ "$1" == "clean" ]

then

make -C $KERNEL M=`pwd` modules clean

elif [ "$1" == "install" ]

then

make -C $KERNEL M=`pwd` modules

make -C $KERNEL M=`pwd` \

                    modules_install INSTALL_MOD_PATH=$NFSROOT

else

echo "Usage:"

echo "    mkmod"

echo "    mkmod clean"

echo "    mkmod install"

fi

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值