全部博文(2005)
分类: LINUX
2007-05-17 16:32:26
vmware下编译Linux内核(2.6.18)全过程(作者:gliethttp)
对于Linux-2.6.18内核,只需要下面的内容
1.make mrproper
2.make clean
3.make menuconfig
4.make
5.make modules
6.make modules_install
(*
到如下网址下载module-init-tools,否则make modules_install不能通过。
编译
#cd module-init-tools-3.2
#./configure --prefix=/
#make moveold
#make
#make install
*)
7.make install
(*
升级mkinitrd-3.5.14-1.i386.rpm,否则不能正常制作RAM启动盘。
#cd /lib/modules/2.6.18/kernel/drivers/scsi
#cp BusLogic.ko BusLogic.o //在vmware中升级使用
kernel-2.6.18 需要更高版本的mkinitrd(如:mkinitrd-4.2.1.8-1.i386.rpm)
这里给大家提供一个非常棒的rpm包下载链接:
一. 在升级前必须对以下的组件升级
1. 升级 device-mapper,在 下载
cd /usr/src
tar -zxvf device-mapper.1.01.04.tgz
cd device-mapper.1.01.04
./configure --prefix=/
make all
make install
2. 安装 LVM2,在 下载
或者下载一个lvm2-2.02.01-1.2.1.i386.rpm 安装包及其相关文件
cd /usr/src
tar -zxvf LVM2.2.01.14.tgz
cd LVM2.2.01.14
./configure --prefix=/
//如果提示没有找到libdevmapper.h,
//那么将device-mapper.1.01.04/lib/libdevmapper.h
//拷贝到/usr/include/下
make all
make install
3. 升级 mkinitrd 在 下查找
rpm -Uvh mkinitrd-3.5.11-3.9.i386.rpm
*)
*********************************************************************************
在vmware下编译Linux2.6.18内核启动时出现的问题,如下:
RAMDISK:Compressed image found at block 0
RAMDISK:incomplete write (-28!=3276 4194304
VFS:Cannot open root device "sda1" or unknow-block(0,0)
Please append a correct "root=" boot option
Kernel panic:VFS:Unable to mount root fs on unknown-block(0,0)
解决如下:
将Device Drivers -->Block devices--〉Default RAM disk size
的默认大小4096改成16384
*********************************************************************************
问题:Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
解决如下:将ext2编译进内核
ext2文件格式支持没有编译进内核,不论你使用ext3或其它文件格式,ext2支持都必须直接编译进内核,不能以内核模块形式编译。
*********************************************************************************