编译内核
来源:互联网 发布:英菲克网络机顶盒破解 编辑:程序博客网 时间:2024/05/16 07:55
首先,说明下make mrproper和make clean的区别:
make mrproper:保证源代码的干净.即清除原来配置时产生的一些文件和配置文件,使源代码恢复到最初
状态.一般得到源代码后都应先执行下此命令.
make clean:清除配置时产生的大部分文件,但是保留配置文件.
下面说说我对编译2.4和2.6内核还有2.4升级到2.6内核的一些理解和简单步骤.
编译2.4内核.
第一步
下载内核源代码,地球人都知道可以从http://www.kernel.org/下载到最新的源代码.
第二步
将其解压缩在/usr/src/目录下.
如果是.tar.gz格式:
1)tar xzvf ****.tar.gz 或
2)gzip -cd ****.tar.gz | tar xvf -
如果是.tar.bz2
1)tar xjvf ****.tar.bz2 或
2)bzip2 -cd ****.tar.bz2 | tar xvf -
第三步
#make mrproper 得到源代码后,将其净化.
第四步
#make menuconfig 对内核选项进行配置.
第五步
#make dep 建立模块间的依赖信息.
第六步
#make clean 删除配置时留下的一些不用的文件.
第七步
#make bzImage 编译内核.内核较小时可以用make zImage
第八步
#make modules 编译模块.
第九步
#su - 切换到管理员状态,之后输入管理员密码.
第十步
#make modules_install 安装模块.
此时/lib/modules/下应该新生成一个KERNEL_VERSION文件.
第十一步
#mkinitrd /boot/initrd-KERNEL_VERSION.img KERNEL_VERSION 生成启动镜像文件
到此为止,构建内核完毕,第十二步把内核映象和System.map拷贝到/root/下
第十三步为修改gurb配置文件.
第十二步
#cp arch/i386/boot/bzImage /boot/bzImage-KERNEL_VERSION
#cp System.map /boot/System.map-KERNEL_VERSION
#ln -s /boot/System.map-KERNEL_VERSION /boot/System.map
第十三步
#vi /etc/grub_conf 修改grub配置文件
在里面加上如下行:
title Redhat Linux(KERNEL_VERSION)
root (hd0,0)
kernel /boot/bzImage-KERNEL_VERSION ro root=LABEL=/
initrd /boot/initrd-KERNEL_VERSION.img
root (hd0,0)
kernel /boot/bzImage-KERNEL_VERSION ro root=LABEL=/
initrd /boot/initrd-KERNEL_VERSION.img
保存即可,grub修改后不用重新启动.直接生效.
重启,启动grub时就可看到自己新的内核.
步骤总结如下:
解压内核源代码到/usr/src/下后
1, make mrproper
2, make menuconfig
3, make dep
4, make clean
5, make bzImage
6, make modules
7, su -
8, make modules_install
9, mkinitrd /boot/initrd-KERNEL_VERSION.img KERNEL_VERSION
10, cp arch/i386/boot/bzImage /boot/bzImage-KERNEL_VERSION
11, cp System.map /boot/System.map-KERNEL_VERSION
12, ln -s /boot/System.map-KERNEL_VERSION /boot/System.map
13, 修改grub_conf
编译2.6内核
编译2.6内核要比编译2.4内核简单一些,大体过程和2.4的类似.
但是不用第三步即make dep,然后make(2.6)=make bzImag + make modules(2.4). 其余和上述步骤相同.
2.4升级到2.6的过程:
2.4升级到2.6前需要先阅读2.6内核源代码中的README和Documentation/Changes文件,其中包含了2.6内核所需要的一些软件的最低版本信息和一些其他有用的信息.
在进行升级之前,先要对机器上一些重要的数据做好备份,此点非常重要.
Documentation/Changes中列出了2.6所需要的一些软件的最低版本,可以根据自己的需要,选择性的升级其中的一些软件,但是对于像我一样的菜鸟们建议把软件包都升级,因为暂时还不太了解所有软件包的作用...
其中比较重要的是module_init_tools和glibc.可以使用rmp -U ***.rpm进行软件包的升级.
当把重要的数据备份完,和需要的软件包升级完成后,编译内核.
同2.6内核编译过程.
- 编译内核
- 编译内核
- 编译内核
- 编译内核
- 编译内核
- 编译内核
- 内核编译
- 编译内核
- 内核编译
- 编译内核
- 编译内核
- 内核编译
- 内核编译
- 内核编译
- 编译内核
- 编译内核
- 编译内核
- 内核编译
- JAVA诗,喜欢的欣赏下,别处转载,有技术内涵哦!
- 解决XP系统下局域网不能正常访问的部分方法
- http协议与web本质
- ext_js使用GZIP压缩传输
- Audacity丰富的插件支持,果然强大!
- 编译内核
- 网页中插入视频播放代码全集
- 调整编辑框插入符的大小和输入文字的大小
- java多线程之消费者生产者模式
- 用ADB的logcat打印内核信息
- VM 虚拟机中使用 IAR MSP430 USB 串口仿真器无法连接的问题
- Browers Object Model
- SVN实用经验贴(对刚进公司的新人很有帮助哦!)
- ucos-ii在ARM7上移植