Linux内核---50.各个平台下内核模块的编译

一.嵌入式linux系统中内核模块的编译
1. 需要导出环境变量ARCH 和 CROSS_COMPILE,为了方便还需要导出LINUXROOT
  1. #env.sh
  2. export ARCH=arm
  3. export CROSS_COMPILE=${TOOL_CHAIN_DIR}/target/bin/arm-hisiv200-linux-
  4. export LINUXROOT=${HISI_SDK_DIR}/source/osdrv/kernel/linux-2.6.35
2. 在Makefile中
  1. # Makefile
  2. obj-m:= hello.o
  3. KDIR:=${LINUXROOT}
  4. PWD:=$(shell pwd)

  5. default:
  6. $(MAKE) -C $(KDIR) M=$(PWD) modules

  7. install:
  8. $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules_install
  9. clean:
  10. rm -f *.mod.c *.ko *.o Module.markers modules.order Module.symvers
3. 用的时候 
source env.sh
make

二. MTK平台下内核模块的编译
1.在MTK平台下编译内核module
  a. 将helloworld的内核模块放在kernel/drivers目录下
  b. 编译
cong@msi:/work/mtk/6572$ ./mk r k /work/mtk/6572/kernel/drivers/hello/ 
  c. 清理
cong@msi:/work/mtk/6572$ ./mk c k /work/mtk/6572/kernel/drivers/hello/ 
注: 
  a. 不用修改hello的上层目录Makefile,直接编译就行
  b. 命令中的路径要写绝对路径,用相对路径会报错 invalid KMOD_PATH
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值