Linux内核编译笔记

接触Linux也有一段时间了,从开始在学校的时候听说Linux很强大,在服务器那个天下占据了大大半江山。为了就业着想就开始琢磨,搞了一张光盘各种百度谷歌后在虚拟机里开始安装,当然是那种最傻瓜的安装方式,竟然成功了,只是开机后好失望好不习惯,尤其是鼠标右键后,列表中竟然没有刷新那项,只能默默的在其它地方点左键结束。好歹咱也是计算机科班的,不能和他们一般见识,自认为很牛叉的在vi中编辑了谭浩强老先生教给我们的第一个c程序,用gcc编译后hello word的出现高兴的不得了。从此开始了装牛叉,毕竟那时候课程里还没有Linux这门课程,好多同学都没听过Linux是啥东东。毕竟没有windows中的集成开发环境好用,所以就很少用,直到Linux基础课程和嵌入式课程的学习才真正的一直脚踏入了Linux这个领域,学习了基本的命令使用和基本概念,写一些简单的程序自娱自乐。进入公司后由于项目的需求开始学习并实践简单Linux字符驱动程序,后来做了一些PCI驱动和USB驱动,但是每每到内核编译都望而却步,今天心血来潮学习下Linux内核编译。

环境:VmWare WorkStation 9 + NeoKylin (Linux 2.6.32内核)

内核源码:linux-2.6.38.tar.bz2 下载地址http://www.linuxdiyf.com/blog/batch.viewlink.php?itemid=2277

内核编译过程:

1. 拷贝linux-2.6.38.tar.bz2源码到/usr/src/.  cp /mnt/hgfs/share/linux-2.6.38.tar.bz2 /usr/src/

2. 进入内核源码地址:cd /usr/src/

3. 解压内核源码:tar xf linux-2.6.38.tar.bz2

3. 建立符号链接:ln -s linux-2.6.38 linux

4. 进入内核根目录:cd /usr/src/linux/

5. 删除源代码目录中残留的.o和其它从属文件:make mrprobe

6. 配置内核:make config, make menuconfig.

这里直接用原系统配置文件. cp /boot/config-2.6.32-** ./.config

7. 建立依赖关系:make dep

8. 清楚内核编译的目标文件:make clean

9. 编译内核:make, make zImage 

在目录/usr/src/arch/i386/boot/可以看到bzImage文件

10. 编译可加载模块:make modules

11. 将编译好的模块加入到系统中:make modules_install

13. 将内核安装到grub启动项中:make install

14. reboot 启动后看到启动项中多了一项,选择进入系统查看(uname -a)就是我们刚编译的内核2.6.38.


谨以此文记录一下学习内核编译的过程,其中内核配置过程中的各个配置项选择据具体环境而定,还需进一步学习和理解。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值