2016年(24)
分类: LINUX
2016-03-28 14:25:29
原文地址:编译内核,构造内核树 作者:hunaiquan
我使用的是vmware上装的redhat as5系统,redhat as5的内核版本是2.6.18.8.el。这里我要说明一下,之前用的是VMWare5.5英文版+redhat as5编译2.6.18内核成功后,重启进入不了新内核,说是找不到文件系统。后来我用VMware6.0.2build+redhat as5编译2.6.18内核成功!所以建议想重编内核的最好用6.0版本的虚拟机,因为5.5的还有点小bug。
1.下载源码
()可选择某一版本的两种格式之一下载
例如我选的是: linux-2.6.18.tar.bz2
(《Linux设备驱动程序》中说最好使用主线版本,所以我选择的是这个版本号的)
2.解压
把下载的linux-2.6.18.tar.bz2放在/usr/src/目录下
解压:tar -jxvf linux-2.6.18.tar.bz2
3.设置内核
cd linux-2.6.18
make mrproper (如果先前没有编译过,可以省去此步)
make muneconfig (弹出内核配置界面)
在进行内核配置之前,最好先看一下系统当前的设备情况,可以另开一个窗口,使用
lspci 命令查看设备信息,根据这些信息来配置内核。
如果你是在vmware中编译内核,还要做下面的一些设置:
(1) Loadable Module support选项中,选上“Module unloading”和“Automatic kernel module loading”这两项;
(2) Device Drivers--->Block Devices中选上“Loopback device support”;
Device Drivers--->Multi-device support(RAID and LVM)处要选上“device mapper support”;
Device Drivers--->Graphics support,一定要选上“ Support for frame buffer devices”;
Device Drivers --->USB support --->选上“USB Mass Storage support”(如果是在实环境中,想要更多USB支持,就全选吧。我的是在虚拟机中,用不着了)
Device Drivers --->;Network device support --->Ethernet (10 or 100Mbit) ---><*> AMD PCnet32 PCI support
如果你在vmware下编译内核,硬盘用的是scsi的,以下三个选项必选:
Device Drivers ---><*>SCSI device support (此项不选的话,下面两项就选择不上)
Device Drivers ---><*>SCSI device support ---><*>SCSI disk support
Device Drivers---><8>SCSI device support--->SCSI low-level drivers---><*>; BusLogic SCSI support
(3)File system--->(以下9个选项是关于ext2和ext3文件系统配置,全部选上)
Second extended fs support
Ext2 extended attributes
Ext2 POSIX Access Control Lists
Ext2 Security Labels
Ext3 journalling file system support
Ext3 extended attributes
Ext3 POSIX Access Control Lists
Ext3 Security Labels
JBB (ext3) debugging support
File system--->DOS/FAT/NT Filesystems --->选上“NTFS file system support”;
4.编译内核
a.make (时间挺长,慢慢等吧)
b.make modules_install
c.make install
5.编译完成
你能看看你的/boot/grub/grub.conf里面是不是已有了你新编译的内核,如果是的话,恭喜你,你已成功的编译了一个属于你的,能加载modules的内核了.重启启动,进入刚编译的内核。