//Linux 内核编译,解决网卡驱动缺少的问题,使用更新的内核来完善驱动
准备工作
整理出系统硬件、文件系统类型、网络协议
uname -r //查看系统版本号,如果系统与编译的内核一样,需要将/lib/modules 下内容备份
因为将来make modules-install步骤会覆盖整个路径下的内容
{下载linux内核,地址为:http://www.kernel.org/pub/linux/kernel/ ,假设名称为linux-x-y-z.tar.gz
如果内核已经安装,在/usr/src/目录有linux子目录,在光驱中找到kernel-source-2.xx.xx.rpm文件,,如RedHat linuxde RPm目录
是/redhat/RPMS/目录,使用rpm -ivh kernel-source-2.xx.xx.rpm安装内核}

cd /usr/src/linux //清除编译内核时残留的.o文件以及不必要的关联
make mrproper   //如果你是下载的内核代码,并且是第一次编译,就没有必要执行这一个步骤
make xconfig //图形界面下使用,配置内核
{make menyconfig //字符界面下使用}
make dep //设置关联文件
make clean //清理不必要的文件
make bzImage // 编译大内核(比如需要SCSI支持)
{make zImage//编译校内核}
make modules //编译模块,可加载模块,内核选项中为M的选项,编译时间跟M选项的数量有关
make modules_install  //把编译好的modules拷贝到/lib/modules下

A:mv /usr/src/linuxX.X.X/system.map /boot/system.map
B:mv /usr/src/linuxX.X.X/archi/i386/boot/bzImage /boot/vmlinuz //使用新内核
/etc/lilo.conf //修改/etc/lilo.conf 加一个启动选项,使用新内核bzp_w_picpath or zp_w_picpath启动

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new    ### 告诉lilo缺省使用新内核启动linux ###
append="mem=256M"

p_w_picpath=/boot/vmlinuz-2.2.14-5.0
        label=linux
        read-only
        root=/dev/hda5

p_w_picpath=/boot/bzImage(zImage)
        label=linux-new
        read-only
        root=/dev/hda5
//方法二:修改grup.conf文件
A:mv /usr/src/linuxX.X.X/system.map /boot/system.map
B:mv /usr/src/linuxX.X.X/archi/i386/boot/bzp_w_picpath /boot/vmlinuz   //更换内核

//修改grub ,/etc/grup.conf
p_w_picpath=/boot/vmlinuz-2.2.14-5.0
        label=linux
        read-only
        root=/dev/hda5

p_w_picpath=/boot/bzImage(zImage)
        label=linux-new
        read-only
        root=/dev/hda5
  
//方法三:修改启动配置文件  /boot/grub/grub.conf
/*格式如下:
title 显示在启动菜单上的名称
root 根文件系统挂载分区
kernel 压缩过的内核文件名
initrd 根文件系统文件名
              如:
              title My new kernel
              root (hd0,2)
              kernel /boot/vmlinuz-x.y.z
              initrd /boot/initrd-x.y.z.img
*/

//mkinitrd initrd-内核版本号 内核版本号命令重新生成ram磁盘文件
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
initrd=/boot/initrd-2.2.14-5.0 //把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件