vmware下编译Linux内核(2.4.32)全过程
[ 2007/02/07 00:18 | by ipaddr ]
vmware下编译Linux内核(2.4.32)全过程(作者:gliethttp + Ipaddr修改)
最近需要编译2.4.32内核,在网上倒是找到了不少关于编译内核的文章,但是都因为
某些文件没有讲清楚或者根本没讲,使得像我这样的小鸟不能够正常完成内核编译,
通过自己的摸索,现将在vmware下编译2.4.32内核的详细步骤列出来,
希望能够给和我一样的小鸟们带来近路:)...
1.[root@gliethttp]#make mrproper
2.[root@gliethttp]#make clean
3.[root@gliethttp]#make menuconfig
Ipaddr注:VMware下面,以下选项必须正确无误,否则无法成功
3.1.选择处理器
Processor type and features--->Processor family--->386 [ipaddr:可取默认值]
3.2.Ram Disk驱动
Block devices--->
< * > RAM disk support
(4096) Default RAM disk size (NEW)
< * > Initial RAM disk (initrd) support
3.3.文件系统
File systems--->
[ * ] Ext3 journalling file system support
[ * ] Ext3 Security Labels
[ * ] JBD (ext3) debugging support
3.4.BusLogic驱动
< * > SCSI support--->
SCSI low-level drivers --->
< M >BusLogic SCSI support
3.5 Ipaddr补充:
Fusion MPT device support --->
Fusion MPT (base + ScsiHost) drivers
(ipaddr注:此处一定要选M,不能是*,更不能不选,否则,make install报错{No Module mptbase found for kernel})
Fusion MPT misc device (ioctl) driver
3.6 Ipaddr补充:
Device Drivers --->
Networking support --->
Ethernet (10 or 100Mbit) --->
<*> AMD PCnet32 PCI support
(Ipaddr:可以适当选择其它网卡和硬件驱动,比如USB)
4.[root@gliethttp]#make dep
5.[root@gliethttp]#make bzImage
6.[root@gliethttp]#make modules
7.[root@gliethttp]#make modules_install
8.[root@gliethttp]#make install (生成grub下的menu.lst相关文件和RAM启动盘)
(*
make install将执行如下操作:(Ipaddr:原文作者此处有误)
#cp /usr/src/linux/System.map /boot/System.map-2.4.18
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.18
#cd /boot
#rm -f System.map vmlinuz
#ln -s vmlinuz-2.4.18 vmlinuz
#ln -s System.map-2.4.18 System.map
bzImage是压缩的内核映像
vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。
initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。
System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。
*)
9.[root@gliethttp]#reboot (重启计算机)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
最近需要编译2.4.32内核,在网上倒是找到了不少关于编译内核的文章,但是都因为
某些文件没有讲清楚或者根本没讲,使得像我这样的小鸟不能够正常完成内核编译,
通过自己的摸索,现将在vmware下编译2.4.32内核的详细步骤列出来,
希望能够给和我一样的小鸟们带来近路:)...
1.[root@gliethttp]#make mrproper
2.[root@gliethttp]#make clean
3.[root@gliethttp]#make menuconfig
Ipaddr注:VMware下面,以下选项必须正确无误,否则无法成功
3.1.选择处理器
Processor type and features--->Processor family--->386 [ipaddr:可取默认值]
3.2.Ram Disk驱动
Block devices--->
< * > RAM disk support
(4096) Default RAM disk size (NEW)
< * > Initial RAM disk (initrd) support
3.3.文件系统
File systems--->
[ * ] Ext3 journalling file system support
[ * ] Ext3 Security Labels
[ * ] JBD (ext3) debugging support
3.4.BusLogic驱动
< * > SCSI support--->
SCSI low-level drivers --->
< M >BusLogic SCSI support
3.5 Ipaddr补充:
Fusion MPT device support --->
(ipaddr注:此处一定要选M,不能是*,更不能不选,否则,make install报错{No Module mptbase found for kernel})
3.6 Ipaddr补充:
Device Drivers --->
Networking support --->
Ethernet (10 or 100Mbit) --->
<*> AMD PCnet32 PCI support
(Ipaddr:可以适当选择其它网卡和硬件驱动,比如USB)
4.[root@gliethttp]#make dep
5.[root@gliethttp]#make bzImage
6.[root@gliethttp]#make modules
7.[root@gliethttp]#make modules_install
8.[root@gliethttp]#make install (生成grub下的menu.lst相关文件和RAM启动盘)
(*
make install将执行如下操作:(Ipaddr:原文作者此处有误)
#cp /usr/src/linux/System.map /boot/System.map-2.4.18
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.18
#cd /boot
#rm -f System.map vmlinuz
#ln -s vmlinuz-2.4.18 vmlinuz
#ln -s System.map-2.4.18 System.map
bzImage是压缩的内核映像
vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。
initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。
System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。
*)
9.[root@gliethttp]#reboot (重启计算机)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>