编译linux内核以及depmod的使用
转载:http://blog.lmtw.com/b/18215/archives/2010/71074.html
depmod(depend module)
功能说明:分析可载入模块的相依性。
语 法:
depmod [-b basedir] [-e] [-F System.map] [-n] [-v] [version] [-A]
depmod [-e] [-FSystem.map] [-n] [-v] [version] [filename ...]
补充说明:depmod可检测模块的相依性,供modprobe在安装模块时使用。
参 数:
-a或--all 分析所有可用的模块。
-b 如果你的模块不是在默认路径(/lib/modules/version)下,你可以用这个选项指定所在的目录。在构建嵌入式系统中会用到。
-e 当与-F同时使用时,用以报告unresolved symbols错误
-F 后跟System.map
-v 打印过程信息
-A 快速操作
--help 显示帮助。
在构建嵌入式系统时,需要由这个命令来生成相应的文件,由modprobe使用。
例子:
depmod
-b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F
./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a
/home/windsome/EMMA3PF-KernelSource-20080626/install_pos 是我make mod_install 后,所有模块的存放路径。
./boot/System.map 是make linux 后生成,我拷贝到此目录的。
2.6.18_pro500-bcm91250-mips2_fp_be 是我build的linux的版本
编译linux过程及执行depmod的例子:
genkernel.sh (at linux-2.6.18_pro500)
#######
export INSTALL_ROOT_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
export INSTALL_MOD_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/lib -rf
rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/* -rf
cd <linux_src_dir>
make
make modules_install
cp vmlinux System.map /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/ -p
cd /home/windsome/EMMA3PF-KernelSource-20080626/install_pos
depmod
-b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F
./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a
其他用法:
在
linux桌面系统中,当你编译了新的驱动,为了能够用modprobe ***加载模块, 你需要先将模块拷贝到/lib/modules
/2.6.31-20-generic目录下,然后运行sudo depmod
-a将模块信息写入modules.dep,modules.dep.bin,modules.alias.bin,modules.alias和
modules.pcimap文件中。
如,我编译了一个新的wifi驱动r8192se_pci.ko,将其拷贝到/lib
/modules/2.6.31-20-generic/wireless下,然后到/lib/modules/2.6.31-20-generic运行
depmod -a,之后可以在任意目录运行modprobe r8192se_pci。
编译linux内核以及depmod的使用的更多相关文章
- 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录
最近帮一位上海的朋友搞一块小板,在ubuntu15.04 vivid上已经加载了对应了.ko驱动包 但关键是系统根本就枚举不到该声卡ALC5640,试了OpenSUSE也是一样的结果,看来是内核漏加载 ...
- Centos下编译Linux内核
Linux内核编译是一件简单却费事的事.但是独立的编译linux内核会帮助你很好的理解Linux内核的工作机理. 首先编译linux内核我们需要在当前linux操作系统下安装gcc编译器,因为我是Ce ...
- 编译linux内核时出错
在编译linux内核的时候使用make menuconfig 可能出现下面的错误 *** Unable to find the ncurses libraries or the*** required ...
- Mac下重新编译Linux内核
Mac下重新编译Linux内核 操作系统实验,要求添加系统调用并重新编译内核,这里记录一下编译内核的过程 0.下载VirtualBox 博主一直用parallel desk,但因为驱动等问题,在PD上 ...
- 为什么要编译Linux内核?
新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译Linux内核. 通常,更新的内核会支持更多的硬件,具 ...
- 编译Linux内核(Mac OS平台)
操作系统第一次实验需要编译Linux内核,我之前在Mac上一直使用的都是Parallels Desktop这个软件,所以这次也将课程网站上提供的Ubuntu安装在了PD上,但是编译完内核后无法进入Ub ...
- 自定义配置编译linux内核
1 编译linux内核原因一般情况下,我们是不需要重新去编译linux内核的,但如果你发现你需要修改内核的某个部分或者说你需要的某个模块并没有编译进内核,那里你可以通过重新编译内核来满足你的需求,比如 ...
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #2 如何编译Linux内核
HACK #2 如何编译Linux内核 本节介绍编译Linux内核的方法.当发现bug而修改源代码或者添加新功能时,就需要对内核进行重新编译,生成二进制映像文件.另外,如果想要使用发布版内核中无效的功 ...
- make 编译 linux 内核是单线程的任务 才用-j4命令使用4 线程加速
今天使用 make 编译 linux 内核,发现CPU只用了30%多一点,而我的电脑是4核的,所以如果没有意外的话,make 编译 linux 内核的任务是用单线程做的. 又了解到,使用-j4参数可以 ...
随机推荐
- nodejs 调用 OC 方法
nodejs 借助 nodobjc 模块 https://github.com/TooTallNate/NodObjC demo: var $ = require('nodobjc') $.frame ...
- js运动 淡入淡出
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- js运动 分享到
<!doctype html> <html> <head> <meta charset = "utf-8"> <title&g ...
- accordion data-options iconCls
<div id="aa" class="easyui-accordion" style="width:500px;height:300px;&q ...
- SpriteParticle II
[SpriteParticle II] 1.Randomizing the Starting Position 2.Setting the Initial Angle 3.Setting a Part ...
- UVaLive 6805 Pantun Grader (恶心的模拟)
题意:给定 n 首诗,然后让你给他打分,有四种规则,第一种是按音节打,如果音节在8-12之间,就加10,第二种就是按押韵打,如果13,24一个押韵就加20分. 第三种按音节数打,13,24有一个一样的 ...
- My集合框架第二弹 二叉树的实现
package com.wpr.collection; import java.util.NoSuchElementException; public class BinarySearchTree&l ...
- js打开新页面 关闭当前页 关闭父页面
js打开新页面.关闭当前页.关闭父页面 2010-04-29 14:04:13| 分类: 页面与JavaScript | 标签: |字号大中小 订阅 //关闭当前页面,并且打开新页面,(不 ...
- 传参方式由url携带改为post提交
参考:http://www.cnblogs.com/logon/p/3218834.html 我们这里使用了iframe嵌套form表单POST提交,很简单,却能满足get|post等任何复杂情况的要 ...
- OpenStack tokens id获取测试