存储学徒的小作坊
在VmWare Workstation中编译Linux 2.6.20内核
上一篇 /
下一篇 2007-05-16 14:18:36 / 天气: 舒适
/ 心情: 郁闷
/ 个人分类:实战练习
查看( 758 ) /
评论( 2 )
--编译通过,两天的时间啊!!
--编译还没通过,继续努力中,随时更新最新战果--
转眼间开始上班已经整整一个月了。小作坊早就划下了一亩三分地,却迟迟不见开工,实在惭愧。
接触存储已经快三年了,从最初的SAN, NAS, iSCSI, RAID等等,再到SNIA的SMI-S,底层没做好,上层没做全,至今无所建树,汗颜。
就把自己的学习过程做个记录,留点脚印吧。
为了更好的了解Linux文件系统,尝试着在VmWare环境下编译2.6的内核。
下了2.6.21的内核版本,却死活通不过,上网差了查相关资料,似乎这是一个固有的难题,只得暂且作罢。于是准备拿2.6.20开刀。可是目前为止,内核编译还没通过,哭啊。
--已经通过--更新功略
VmWare虚拟硬件环境:
Memory 256MB
Hard Disk SCSI 0:0
CD-ROM IDE 1:0
Floppy Auto detect
Ethernet Bridged
USB Controller Present
Audio Auto detect
Virtual Processors 1
VmWare原始系统内核环境:
Fedora Core 5 -i386 with kernel 2.6.15
首先,网上普遍推荐,编译2.6的内核需要做好如下准备:
module-init-tools
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.gz
modutils
http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.4/modutils-2.4.26.tar.gz
该软件编译安装出错,因此未使用
linux kernel
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.gz
将三个然间包复制到常用工作路径下,
解包
tar zxf linux-2.6.20.tar.gz
tar zxf modutils-2.4.26.tar.gz
tar zxf module-init-tools-3.2.tar.gz
安装module-init-tools-3.2支持modules_install
cd module-init-tools-3.2
./configure
make
make install
执行
./generate-modprobe.conf /etc/modprobe.conf
安装modutils-2.4.26
cd modutils-2.4.26
./configure
make
make install
这个不知道是干吗的,不过我从来没有能编译通过过,失败了也没有影响
编译内核
cp -f linux-2.6.20 /usr/src/
cd /usr/src
ls -s linux-2.6.20 linux //建立一个symbolic link
cd linux
make mrproper //清除目录下所有和先前生成内核时候产生的中间文件
make menuconfig //配置内核选项
在这一步,因为是在VmWare中编译内核,有几个选项必须选择:
Device Drivers --->SCSI device support ---><*> SCSI disk support
Device Drivers --->SCSI device support --->SCSI low-level drivers ---> <*> BusLogic SCSI support
Device Drivers ---> Fusion MPT device support ---><M> Fusion MPT (base + ScsiHost) drivers
Device Drivers ---> Fusion MPT device support ---><M> Fusion MPT misc device (ioctl) driver
注意:这两个凡是只能选模块方式。
Device Drivers ---> USB support ---><*> USB Mass Storage support
Device Drivers ---> Networking support --->Ethernet (10 or 100Mbit) ---> <*> AMD PCnet32 PCI support
make dep //2.6内核不需要这一步
make clean //清除以前的编译结果
make zImage //每次编译都会提示内核过大,可以忽略这一步,直接下面的操作
make bzImage //编译为压缩格式
make modules //编译模块
make modules_install //安装模块
depmod -a
make install //2.6的确省却了很多手工工作,2.4的时候需要手动复制,修改配置文件
reboot //当然,目前为止,reboot还是失败的,
//至此为止,
uname -r
就可以看到新的内核版本号了。
论坛模式
推荐
收藏
分享给好友
管理
TAG:
VMware
vmware
编译内核
-
博天
发布于2007-06-05 11:26:12
-
“就可以看到新的内核版本号了。”
估计是修改引导文件配置没有写对!!
-
kantkong发布于2007-06-08 16:34:13
-
modutils-2.4.26
是内核模块管理工具,里面的东东已经整合到module-init-tools