7.# Mount /proc (done here so volume labels can work with fsck)
action $"Mounting proc filesystem: " mount -n -t proc /proc /proc
action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys
加入上面这行
8.修改fstab
#vi /etc/fstab 加入如下
none /sys sysfs defaults 0 0
.
9.修改/etc/init.d/halt 为如下
awk $2 ~ /^/$|^/proc|^/dev/{next}
改为
awk $2 ~ /^/$|^/proc|^/sys|^/dev/{next}
10.把needusbstorage=这段改成如下
needusbstorage=
if [ $usb = "1" ]; then
needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2>/dev/null`
LC_ALL=C grep hid /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null
action $"Initializing USB keyboard: " modprobe keybdev 2> /dev/null
action $"Initializing USB mouse: " modprobe mousedev 2> /dev/null
fi
改成如下:
needusbstorage=
if [ $usb = "1" ]; then
needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2>/dev/null`
action $"Initializing USB HID interface: " modprobe usbhid 2> /dev/null
action $"Initializing USB keyboard: " modprobe usbkbd 2> /dev/null
action $"Initializing USB mouse: " modprobe usbmouse 2> /dev/null
fi
这些完成就reboot吧! 希望在启动时全是ok.
补充:
***********************************
七、手动安装新内核和System.map
***********************************
1、将新内核和System.map文件拷贝到/boot目录下
# cp /usr/src/linux-2.6/arch/i386/boot/bzImage /boot/vmlinuz-2.6.15-10custom
# cp /usr/src/linux-2.6/System.map /boot/System.map-2.6.15-10custom
# cd /boot
# rm -f System.map (删除原来的连接)
# ln -s System.map-2.6.15-10custom System.map (重新建立连接)
***********************************
八、配置LILO
***********************************
1.配置/etc/lilo.conf文件,在该文件中加入下面几行:
image=/boot/vmlinuz-2.6.15-10custom
label=linux-custom
initrd=/boot/initrd-2.6.15-10.img
read-only
root=/dev/hda3 (这与你的具体配置有关)
并把default=linux改为default=linux-custom
2.使新配置生效
# /sbin/lilo
***********************************
九、配置grub使用2.6的I/O调度器
***********************************
设置之前先介绍一下2.6的I/O调度器
2.6包含的四个I/O调度器分别是No-op I/O scheduler、Anticipatory I/O scheduler、Deadline I/O scheduler与CFQ I/O scheduler。
在后文中分别简称为ns、as、ds与cfq。
ns是一个简化的调度程序它只作最基本的合并与排序。与桌面系统的关系不是很大,主要用在一些特殊的软件
与硬件环境下,这些软件与硬件一般都拥有自己的调度机制对内核支持的要求很小,这很适合一些嵌入式系统环境。作为桌面用户我们一般不会选择它。
as是当前内核中默认的I/O调度器。它拥有非常好的性能,在2.5中它就相当引人注意。在与2.4内核进行的对比测试中,在2.4中多项以分钟为单位
完成的任务,它则是以秒为单位来完成的。正因为如此它成为目前2.6测试版中默认的I/O调度器。但它也存在着弱点,它本身是比较庞大与复杂的,
在一些特殊的情况下,特别是在数据吞吐量非常大的数据库系统中它会变的比较缓慢。
ds就是针对as的缺点进行改善而来的,还处于测试阶段,但已经很稳定了。目前表现出的性能几乎与as一样好。加之比as更加小巧,
是相当有前途的调度器,值得一试:)
cfq为系统内的所有任务分配相同的带宽,提供一个公平的工作环境,它比较适合桌面环境。事实上在测试中它也有不错的表现,
mplayer xmms等多媒体播放器与它配合的相当好,回放平滑几乎没有因访问磁盘而出现的跳帧现象。对于喜欢在Linux下听音乐看电影的朋友不妨尝试一下。
好了,下面说说怎么设置:参数的格式为elevator=调度器名
修改/boot/grub/grub.conf,在kernel那行后门加入elevator=deadline
例如:kernel /boot/vmlinuz-2.6.10-bk4 ro root=/dev/你的根分区 elevator=deadline
***********************************
使用新内核可能出现的问题及对策
***********************************
1. RedHat用户rpm命令不能使用,解决办法:请把变量在全局配置文件中声明。
这是RPM的一个Bug,特别是对于RH9的用户,请打开/etc/profile文件,命令如下:
#vi /etc/profile (在文件的末尾加上几句如下)
if [`uname -r`="2.6.0" ];then
export LD_ASSUME_KERNEL=2.2.5
fi
也就是给系统加上一个全局的环境变量,也可直接键入#export LD_ASSUME_KERNEL=2.2.5。
2. 新内核根本起不来,解决方法:重新配置内核(学问挺大),也许还根引导记录有关(很少了);
3. 新内核模块无法加载,会导致很多问题,比如了防火墙没法工作了,mount不上光盘和vfat及ntfs文件系统,其解决方法:升级module-init-tools软件包,
RedHat的用户可能还要修改/etc/rc.d/rc.sysinit文件;
**************************** 全文完 **************************
