- 论坛徽章:
- 0
|
Linux as 3 update6 升级内核
公司不给放假。如果请假提前走,娘的公司还扣钱。没办法。闲着也是闲着,研究
一下内核吧!  
我手里正好有一台redhat as 3.0 update 6 是选择全部安装的
内核为[root@linuxtest root]# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 3 (Taroon Update 6)
[root@linuxtest root]# uname -a
Linux linuxtest 2.4.21-37.EL #1 Wed Sep 7 13:35:21 EDT 2005 i686 i686 i386 GNU/Linux
这都说2.6.X 的内核好。一直没试过2.6的特性,这次正好整天没事。哈哈。还照拿工资。
为哈不研究一下。最后成功升到2.6.15-1目前是最新的了。我把升级的过程和遇到的问题和
大家分享一下。 (注本人是菜鸟,哪里有不对的。还请大家们请指哈)。
首选要准备一些必要的软件。
下载最新的内核程序,
下载地址:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.1.tar.gz 一个48M的慢慢下吧!
之后我们准备一些必要的工具,module-init-tools 是用来支持2.6内核的。虽然系统自带的module-init-tools 在编译的过程中。能成功生成新内核。但用新内核启动时会报lsmod 错误。所以必须升级最新的。这部是最重要的
下载地址:
地址:http://www.kernel.org/pub/linux/ ... it-tools-3.2.tar.gz
还需要准备一个hotplug工具 这部也非常用要。如果没这部例如:usb 鼠标即使在启动显示ok 加载上了也不能用
下载地址:
http://www.kernel.org/pub/linux/ ... g-2004_09_23.tar.gz
软件就这些。那么我们开始吧!
1.首选安装一下module-init-tools
#tar zxvf module-init-tools-3.2.tar.gz
#cd modules-init-tools-3.2
#./configure --prefix=/
# make moveold
# make all install
# ./generate-modprobe.conf /etc/modprobe.conf
2. 安装hotplug
#tar zxvf hotplug-2004_09_23.tar.gz
#cd hotplug-2004_09_23
#make install
即可
3.升级内核把linux-2.6.15.1.tar.gz 拷到/usr/src
#cp linux-2.6.15.1.tar.gz /usr/src
#tar zxvf linux-2.6.15.1.tar.gz
#cd linux-2.6.15.1
#make menuconfig ―――》这里我用的这种模式。他还有make config 等其它命令,但最好用我这个,吼吼~,方便,个人喜看了。~~
之后会出来一个菜单。这部可以在终端putty 等ssh 或telnet 上进行。建议最好用ssh 终端
2.6的内核比2.4 的还小。因为。我都试验过好多次了,所以就选默认吧!但有一点要注意。要把usb 几个选择进去。(哈哈,现在的机器性能都不错。把usb supoort 都选上更好哈)
在Device Drivers--àUSB support-----à
OHCI HCD support
UHCI HCD (most Intel and VIA) support)选择上按M 或y 就行
之后在USB Input Devices
选择HID input layer support 和
/dev/hiddev raw HID device support
在USB HID Boot Protocol drivers 里
把里面的USB HIDBP Keyboard
和USB HIDBP Mouse 都选择上。
之后exit 在按exit 直到有提示
Do you wish to save you new kernel configuration?
按Yes 保存新内核配置
#make
#make modules
#make modules_install
#make install
完成上面这些内核已经编译成功,他会向/etc/grub.com 写一些启动文件!自动的,哈哈。
之后。我们要解决几个配置文件的问题。
4. 内核2.6 的usb 设备名与内核2.4 大不相同。所以我们要改一下哈哈。
在安装module-init-tools程序包时生成的/etc/modprobe.conf配置文件却仍然使用usb-ohci这个名
字.
alias usb-controller usb-ohci
alias usb-controller1 ehci-hcd
因此, 要把它改为:
alias usb-controller ohci-hcd
alias usb-controller1 ehci-hcd
5(1).需要改一个最重要的文件/etc/rc.sysconfig 这是一个ln 连接。正真的文件在/etc/rc.d/里
#vi /etc/rc.sysinit
把/proc/ksyms 改为如下所示(注:用于配置了HOTPLUG的支持)
KSYMS=/proc/ksyms
改为:
KSYMS=/proc/kallsyms
(2) 把所有mount -f -t usbdevfs usbdevfs 改为mount -f -t usbfs usbfs 我查看了就二个。
(3) 建立一个/sys系统这部我也不知道为啥,但你是用默认的/proc/bus/usb 下就提示找不到drivers 文件。晕死了。
# mkdir /sys
(4)修改rc.sysconfig 文件
在mount -f /proc 下加入
mount -f /sys 这一行
(5)# 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
加入上面这行
(6)
vi /etc/fstab 加入如下
none /sys sysfs defaults 0 0
.
(7)
修改/etc/init.d/halt 为如下
awk '$2 ~ /^\/$|^\/proc|^\/dev/{next}
改为
awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}
( 把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 ok 对了。在启动时。如果出现错误想停下来。不是按Pause 键。操了不知道为哈是Scroll Lock 键哈。
有点费事吧!好象这升级内核。但挺有意思的哈。
我说的可以很简单。但大家做起来。注意一下我上面那些应该都能成功。
自己改好的配置文件 |
-
-
conf.rar
9.22 KB, 下载次数: 48
rc.sysinit和halt
|