Board logo

标题: x86内核的配置,编译,及安装 [打印本页]

作者: 苹果也疯狂    时间: 2015-6-30 21:32     标题: x86内核的配置,编译,及安装

为掌握在x86的平台下,实现从配置文件到安装内核的完整过程,需经如下步骤:
(1)   解压内核。现以linux2.6.29为例,将linux2.6.29压缩文件拷贝到虚拟机linux的目录下,解压在当前的目录,解压命令用: #tar jxvf linux.2.6.29.tar.bz2,由于所解压文件是以bz2结尾的,故使用jxvf。有些时候在linux下需用zxvf,具体文件,具体分析.
(2)   清除中间文件,配置文件。由于所解压的内核是完整的。内核附带一些中间文件,配置等文件,我们得清除这些才可以重新配置符合我们要求的内核
# make distclean
(3)   选择参考配置文件。将需要的参考配置文件拷贝到所解压的目录下,所需命令:#cp/boot/config-2.6.18(要求的配置文件)
.config   主要是配置目系统所需要的文件,该文件包含一系列信息,例如,cpu的型号,网络协议,网卡型号等等
(4)   配置内核。在当前目录下输入#make menuconfig,将出现一个配置界面,通过说明,然后选择要选择的模块
(5)   编译内核。内核的配置文件和内核配置已选择好,现需要将新的状态编译,以使编译后的文件是满足要求的内核,命令:#make bzImage,编译之后,如果成功,则会在arch/x86/boot/下生成一个bzImage的内核文件,反之,有错误提示
(6)   编译内核模块。#make modules
(7)   安装内核模块。#make modules_install注:在编译安装成功后,编译好的内核模块会从内核代码目录下拷贝到/lib/modules下。如果之前有设置,则拷贝在/lib/modules的相关目录下
(8)   制作init ramdisk
Initramdik的作用:使得内核可以对ramdisk进行格式化,也可以将系统的内容加载到ramdisk下,将ramdisk作为根文件系统
命令:mkinitrd initrd-2.6.29 2.6.29,完成后将在当前目录下会生成initrd-2.6.29
(9) 安装内核,将新制成的内核和initrd-2.6.29根文件系统拷贝到/boot/
命令: cp arch/x86/boot/bzImage/boot/vmlinuz-2.6.29 // vmlinux-2.6.29为内核
然后将根文件系统也一起拷贝过去
命令:cp initrd-2.6.29 /boot/     // initrd-2.6.29ramdisk
为了让grup在启动的时候可以选择新配置的内核,在linux下需要修改内核启动配置文件
#vi /etc/grub.config                     注意:有些系统是grub.conf         
在文件的结尾加上如下几句
title my linux(2.6.29)
root (hd0, 0)
kernel /vmlinuz-2.6.29ro root=LABEL=/ rhgb quit
initrd /initrd-2.6.29
(10) 测试新安装的内核能否启动,重新启动虚拟机,




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0