编译linux内核tips

TIPS:

1.下载源码解压后,一般在字符终端下用make menuconfig,在字符界面中根据需要生成对应.config的配置文件,配置内核可以根据需要与爱好使用下面命令中的一个: 
#make config(基于文本的最为传统的配置界面,不推荐使用) 
#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用) 
#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用) 
#make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦) 

2.以上操作会在当前目录下生成.config配置文件,再执行"make dep"会读取这个配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要

3.有了.config的配置文件后,可以make bzImage, 会在/boot目录中生成一些重要的文件,比如:initrdfsxxx.img,vmlinuzxxx, 这两个文件很重要,是需要成功后去替换原系统对应的两个文件的,让其在开机启动时加载到内存的新的小文件系统,如果这两个文件不对,或者说.config文件没有配置好,很可能启动时会遇到kernel panic之类的错误, make bzImage时,很可能失败,会编译不过,赶紧根据提示的错误去修改menuconfig吧,去GUI修改配置,保存,具体的错误就太多了。

4.再make modules, make modules后会生成modules.order的文件,该文件是执行make modules_install时的必须文件,可能所有的modules加起来很大,超过1G,如果对每个ko文件执行strip --strip-debug xxx.ko可以减少为原来的十分之一左右。所有的modules加起来大概几十兆,这更有利于装自己的私有系统,make modules_install 会将所有的modules默认安装到/lib/modules中

5.如果想加入自己的KO文件,或者自带的KO文件不足以满足需求,可以去网上下载符合要求版本的源码,单独编译此module生成KO文件,插入或覆盖(文件名相同)到/lib/modules/(kernel_version)/ 中对应的目录。

6.新系统装好后,可以修改/etc/udev/rule.d目录,添加一些rule,自己定义的一些设备名字,udev是动态管理 /dev目录下的所有的设备。具体如何改去google一下

7."depmod -a"命令和编译过程并没有关系,一般make install到原系统后增加了些新KO文件时,可以执行这个命令,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值