- 論壇徽章:
- 0
|
Linux as 3 update6 升級內(nèi)核
公司不給放假。如果請假提前走,娘的公司還扣錢。沒辦法。閑著也是閑著,研究
一下內(nèi)核吧!  
我手里正好有一臺redhat as 3.0 update 6 是選擇全部安裝的
內(nèi)核為[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 的內(nèi)核好。一直沒試過2.6的特性,這次正好整天沒事。哈哈。還照拿工資。
為哈不研究一下。最后成功升到2.6.15-1目前是最新的了。我把升級的過程和遇到的問題和
大家分享一下。 (注本人是菜鳥,哪里有不對的。還請大家們請指哈)。
首選要準備一些必要的軟件。
下載最新的內(nèi)核程序,
下載地址:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.1.tar.gz 一個48M的慢慢下吧!
之后我們準備一些必要的工具,module-init-tools 是用來支持2.6內(nèi)核的。雖然系統(tǒng)自帶的module-init-tools 在編譯的過程中。能成功生成新內(nèi)核。但用新內(nèi)核啟動時會報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.升級內(nèi)核把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的內(nèi)核比2.4 的還小。因為。我都試驗過好多次了,所以就選默認吧!但有一點要注意。要把usb 幾個選擇進去。(哈哈,現(xiàn)在的機器性能都不錯。把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 保存新內(nèi)核配置
#make
#make modules
#make modules_install
#make install
完成上面這些內(nèi)核已經(jīng)編譯成功,他會向/etc/grub.com 寫一些啟動文件!自動的,哈哈。
之后。我們要解決幾個配置文件的問題。
4. 內(nèi)核2.6 的usb 設備名與內(nèi)核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系統(tǒng)這部我也不知道為啥,但你是用默認的/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 對了。在啟動時。如果出現(xiàn)錯誤想停下來。不是按Pause 鍵。操了不知道為哈是Scroll Lock 鍵哈。
有點費事吧!好象這升級內(nèi)核。但挺有意思的哈。
我說的可以很簡單。但大家做起來。注意一下我上面那些應該都能成功。
自己改好的配置文件 |
-
-
conf.rar
2006-01-26 15:15 上傳
點擊文件名下載附件
9.22 KB, 下載次數(shù): 48
rc.sysinit和halt
|