请问各位高手,应当如何升级内核?小弟我现在使用的是redhat7.0 2.2.16,想升级为2.4.3,kernel已下载,是一个名为linux-2.4.3.tar.bz2的包,有19M大。请问以下我该怎么做?最好说明详细的步骤,小弟只是菜鸟一只,望各位多多帮忙,谢谢。
|
BBS水木清华站∶精华区
发信人: yuhj (勇 梦回唐朝), 信区: Linux
标 题: Re: 编译内核过程
发信站: BBS 水木清华站 (Sun Apr 25 08:38:24 1999)
呵呵,点评一下吧。
【 在 rainswallow (雨燕) 的大作中提到: 】
∶ 1.先将新内核拷到/usr/src中,如cp linux-2.2.1.tar.gz /usr/src
∶ 2.cd /usr/src
∶ 3.rm linux,删除原来的一个连结linux -> linux-2.0.36
∶ 4.tar xvfz linux-2.2.1.tar.gz 注意:你的应该是bunzip2 linux-2.4.3.tar.bz2
这里少了一个,缺省的目录是linux,得先mv linux linux-2.2.1才能建立连接
∶ 5.ln -s linux-2.2.1 linux,新建一个联结linux -> linux-2.2.1
∶ 6.下面开始正式编译了.
∶ 7.cd /linux
最好是cd /usr/src/linux
∶ 让我们先到XWindow环境下,因为以下的编译需要$DISPLAY环境变量
∶ 8.startx,然后打开一个term,
最好做一下make mrproper
∶ 9.make xconfig,一会儿就有一个窗口Linux Kernel Configuration出现在屏幕
注:你的xwindow应该好用吧,不好用就用make menuconfig
∶ 下面的配置因机器而异,我认为编译内核就是选择最适合自己机器的控制,
∶ 这样才能是我们的机器的利用率达到最佳!
∶ 我就将我的配置步骤写了下来:
∶ 1.Code maturity level options
∶ 这里只有一项, prompt for development and/or incomplete code/drivers
∶ 大家可以看懂意思,我选了n
有些驱动程序比如某种特新的网卡在experimental里,如果别人说有但是找不到,得试试这个。
∶ 2.Processor type and features
∶ 我的process family选PPro/bx86MX,其余全选n
∶ 3.Loadable module support
∶ 问对模块是否支持,of cource,另外,我还选了Kernel module loader
呵呵,除非哪个软件比如module,我一般都全部编译进核心。modules no.
∶ 4.General setup
∶ 这里是对最普通的一些属性进行设置,我的原则是:
∶ 合适最佳!
∶ 先按缺省的吧!
∶ 我先写到这里吧!
∶ 先前我们到了General setup,让我们继续前进吧!
∶ 5.Plug and Play support
∶ 问是否支持即插即用的外设,当然,yeah
回答NO,Linux对PnP的支持不是很好。
∶ 6.Block devices
∶ 哇!这里的选项太多了,什么办?这里是配置我们的块设备的,
∶ 你的机器有那些块设备就选中那些.
∶ 象的机器,有光驱,软驱,硬盘,于是我选中了
∶ Normal PC floppy disk support(相信几乎所有的人都会选的)
∶ Enchanced IDC/MFM/RLL disk/cdrom/tape/floppy support
∶ Include IDE/ATA-2 DISK support
∶ Include IDE/ATAPI CDROM support
∶ Ceneric PCI IDE chipset support
∶ Use DMA by default when available
∶ Loopback device support
∶ 太多了,真受不了
对于2.2.X的内核,用它缺省的就很好。不需要改
∶ 7.Networking options
∶ 配置网络的,也有很多选项,你可要有耐心呀!我就不行了,
∶ 看得眼花缭乱还不知该选什么,一切缺省
用缺省的。但是如果用Linux做router或者作防火墙或者作ip masq则
需要选些相应的东西。
∶ 8.QoS and /or fair queueing
∶ 这是个什么东西,我还没搞明白,而且没有可选的,
∶ Let's go on!
∶ 9.SCSI support
∶ 凡是与SCSI设备有关的选项在此,我没有,只好全选n
∶ 10.SCSI low-level drivers
∶ 要是前一个选择了SCSI support,在这里就得自己配置了,
∶ 我因为没选support,所有的选项都是灰色的
∶ 11.Network device support
∶ 网络设备支持.好象这里是配置网络的,与前面的Networking options
∶ 有什么关系我也说不清.知道的人告诉我一声!
∶ 首先,我是有网卡的,于是我选了Network device support,
∶ 我的网卡是Intel EtherExpress PRO/100B PCI Ethernet Adapter(TX)
∶ 于是我选了Ethernet(10 or 100Mbit)
∶ 和 EtherExpressPro/100 support
∶ 看来,这儿是选择你所有的网卡类型的
∶ 又得歇歇了!
∶ 又开始了,我的手又的挨打了!
∶ 12.Amateur Radio support
∶ Amateur是什么意思,让我查一下金山词霸......,噢,是业余爱好者,
∶ 看来,这里是配置业余广播的,我有没有这种功能,罢了,不选,next
∶ 13.IrDA subsystem support
∶ 我不知道什么意思,而且是全灰色的,看来还没有实现,go
上面两个都是历史原因,跟大多数人无关,不需要选。
∶ 14.Infrared-port device drivers
∶ 还是全灰色的,go
∶ 15.ISDN support
∶ 从金山词霸里,我查到了ISDN是综合业务服务网的意思,
∶ 什么是综合业务服务网,我不清楚,可能中国还没有这玩意儿!
∶ n
∶ 16.CD-ROM drivers(not for SCSI or IDE/ATAPI drrives)
∶ 前面我已选了for IDE/ATAPI CDROM,这里该不能选了吧,n
∶ 前面这些真容易,什么也不用选,太爽了!
∶ 17.Character devices
∶ 顾名思义,这里是配置字符设备的.
∶ 字符设备有鼠标,键盘,终端,我采用了缺省的设置
可以选则,2.2.X却省的micr支持有ps2和一个什么C&T的mouse,不需要,去之
另外那个UNIX98 PTY的支持缺省也有,可以去掉。它需要GlibC2.1,现在没有人
用,而且也不必要。
∶ 18.Mice
∶ 好象前一个Character devices中我已经选了Mouse Support(not serial mouse)
∶ 这里怎么又有一个Mice,先看看再说吧!
∶ 这里好象是选鼠标类型的,我的鼠标是Logitech PS/2,
∶ 我就选中了Logitech busmouse support
∶ 以及 PS/2 mouse(aka "auxiliary device") support
∶ 19.Watchdog Cards
∶ 不懂就不问了,跳过.
选n
∶ 20.Video for Linux
∶ 暂时就不支持吧,以免添加难度
没有必要,选n
∶ 21.Joystick support
∶ 游戏杆支持.我没有手柄,就不管了.
除非准备在linux下玩游戏用这个
∶ 22.Ftape,the floopy tape device driver
∶ 略过
∶ 这一会儿好象没有什么有用的东西,我的手也累了,歇会儿了!
∶ 接上,
∶ 21.Filesystems
∶ 这里是配置文件系统的,我选中了如下几项:
∶ Kernel automounter support
∶ DOS FAT fs support
∶ VFAT fs support
∶ ISO 9669 CDROM filesystem support
∶ /proc filesystem support
∶ /dev/fts filesystem for Unix98 PTYs
这个/dev/fts可以不要,原因同前
∶ Second extended fs suppport
∶ 22.Network file Systems
∶ 好象是配置网络文件系统的,支持吧,
∶ 选NFS filesystem support
除非你在一个局域网上,跟别人用NFS交换文件,
否则不要选则它。很多linux系统的NFS都有安全问题。
∶ 另外我想让我的机器能访问Windows 的共享文件,
∶ 于是我选了SMB filesystem support
∶ 23.Partitin Types
∶ 全选n
∶ 24.Native Language Support
∶ 反正没有中文(China),就选Codepage 437(United States,Canada)
∶ NLS ISO 8859-1
∶ 25.Console drivers
∶ 略过
∶ 26.Sound
∶ 显然是设置声卡的.上来先选中Sound Card Support再说
∶ 我的声卡是Yamaha OPL3-SAx WDM Driver
∶ 于是,我在里面找了半天才看到Yamaha,
∶ 选中OSS sound modules,
∶ 然后再在里面选中就可以了
∶ 27.Additional low level sound drivers
∶ n
∶ 28.Kernel hacking
∶ n
∶ 总算将所有的选项都选完了,该歇了!
然后依次健入
make dep //为编译做准备
make zImage
如果系统提醒你内核太大,就用make bzImage再编译一遍
make modules //编译模块
make modules_install
cp /usr/src/linux/arch/i386/boot/zImage /boot(如果你用了make bImage,这里是bzImage)
然后修改 /etc/lilo.conf, 照着原来的image = XXXXX来加上
image = /bzImage
root = /dev/hda1 (这里视你的LINUX安装而定, 照你原有的改)
label = linux
read-only
把原来的 label = linux 改一下, 如 label = oldlinux.
把image = /bzImage 这一节加在原来的前面, 这样会自动作为缺省的核心. 你也可以在
LILO时打linux或oldlinux来启动不同的核心. 关于这一段, 也可以参考俺前面的"ALS007
发声经过".
最后, 切记切记, 一定要打个lilo来重新生成LILO程序.
好了, 重启...