LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: 铲球

关于电视卡的问题(美如画 saa7130)

[复制链接]
发表于 2004-4-30 09:33:06 | 显示全部楼层
如何将linux内核升级到2.6.4 for RedHat 9/8


STEP 1:

下载你想升级的内核版本以及补丁:
可以在这里找到你想要得东东
http://www.kernel.org/pub/linux/kernel/v2.6/

也可以在这里参看一些文档
http://www.codemonkey.org.uk
这里对最新的内核变动有一些有价值的参考


STEP 2:

下载最新的内核编译及安装工具 module-init-tools(编译内核时,工具的版本不能低于要编译成的内核版本)

"module-init-tools-3.0.tar.gz" and
"modutils-2.4.21-23.src.rpm"

http://www.kernel.org/pub/linux/ ... it-tools-3.0.tar.gz
http://www.kernel.org/pub/linux/ ... s-2.4.21-23.src.rpm



STEP 3:

安装 module-init-tools. 它将替代 depmod (/sbin/depmod) 和其他相关工具

tar -zxvf module-init-tools-3.0.tar.gz
cd module-init-tools-3.0
./configure --prefix=/sbin (生成Makefile时,将其配置路径改为/sbin)
make
make install
./generate-modprobe.conf /etc/modprobe.conf



STEP 4:

安装 modutils-2.4.21-23.src.rpm. 你将得到警告消息
用户rusty和组rusty不存在,没关系,你可以继续安装
如果你不继续的话,在安装 Redhat 9/8, 你将会在这一步出错 make modules_install

rpm -i modutils-2.4.21-23.src.rpm
rpmbuild -bb /usr/src/redhat/SPECS/modutils.spec ( 生成modutils-2.4.21-23.i386.rpm包 )
rpm -Fi /usr/src/redhat/RPMS/i386/modutils-2.4.21-23.i386.rpm



STEP 5:

安装及配置内核, 不要在 /usr/src/linux下操作! 参见README文件, 我将文件放在 /home/src/kernel/下

gunzip linux-2.6.3.tar.gz
tar -xvf linux-2.6.4.tar
cd linux-2.6.4

如果你想打上补丁,可以操作
bzip2 -dc ../patch-2.6.xx.bz2 | patch -p1


STEP 6:

拷贝/usr/src/linux-2.4/configs下的kernel-2.4.20-i686.config
到你想进行安装的目录下( 改名为.config ) 在此例中,是在/home/src/kernel/linux-2.6.4下

cp /usr/src/linux-2.4/configs/kernel-2.4.20-i686.config \
/home/src/kernel/linux-2.6.4/.config



STEP 7:

make oldconfig
直进行内核新增功能的配置
(此步可以有多种选择,你也可以执行 make menuconfig, make xconfig, make config ,这些命令都进行了重新配置)



STEP 8:

此步非常重要,确定你在文件 .config中有此配置 CONFIG_EXT3_FS=y
不然你就会遇到以下错误:

pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed

这是因为 Redhat 9/8 使用 ext3 文件系统 for /boot ...



STEP 9:

此步可有可无,如果你想新编译的内核有你自己的特殊标记
那你就需要编辑文件Makefile,然后改变选项 Extraversion
例如:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 3
EXTRAVERSION = -shmilyluck



STEP 10:

make bzImage



STEP 11:

make modules



STEP 12:

make modules_install



STEP 13:

make install



STEP 14:

mkdir /sys



STEP 15:

修改文件/etc/rc.sysinit  找到下面的内容:

mount -f /proc

在其后添加:

mount -f /sys

action $"Mounting proc filesystem: " mount -n -t proc /proc /proc

在其后添加:

action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys





STEP 16:

修改文件/etc/fstab 添加新mount的文件系统:

none    /sys  sysfs   defaults  0 0


STEP 17:

重启前,检查下面的东东:

a. 此项中的东东全有make install自动创建:

In /boot
vmlinuz -> vmlinuz-2.6.4-shmily-ye
System.map -> System.map-2.6.4-shmily-ye
initrd-2.6.4-shmily-ye.img

/boot/grub/grub.conf 应该自动被更改

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to

default=0
timeout=10
splashimage=(hd0,1)/grub/splash.xpm.gz
title Red Hat Linux (2.6.4-shmily-ye)
root (hd0,1)
kernel /vmlinuz-2.6.4-shmily-ye ro root=LABEL=/
initrd /initrd-2.6.4-shmily-ye.img


b. 目录 /sys 存在

c. 添加了必要的命令 for sys in /etc/rc.sysinit

d. CONFIG_EXT3_FS=y 被设置 in the .config




STEP 18:

你已经做完了工作,
now
reboot


附注:在本次试验中,usb的问题没有得到很好地解决,你可以参考一些文档继续试验,还有一点心得体会,升级到不同版本的linux内核
      所作的工作并不完全相同,但所有的问题还是大部分集中在内核无法识别硬件上,即驱动的问题,你可以进一步学习linux系统的结构
      来提高自己的认识,下面的网站,真得很有帮助,GOOD LUCK (升级完成后,系统响应速度真得很爽)


REFERENCES:

http://www.codemonkey.org.uk/post-halloween-2.5.txt
http://kerneltrap.org/node/view/799
http://thomer.com/linux/migrate-to-2.6.html
http://www.kernel.org/

http://bugzilla.kernel.org/
http://groups.google.com/groups? ... ;group=linux.kernel
http://linuxdevices.com/articles/AT3855888078.html

http://prdownloads.sourceforge.n ... DME_26.txt?download
http://prdownloads.sourceforge.n ... ysinit.txt?download
http://prdownloads.sourceforge.n ... 0.3.tar.gz?download
https://sourceforge.net/forum/forum.php?forum_id=353715

http://www.redhat.com/software/rhel/kernel26/
http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO.html
http://www-124.ibm.com/linux/projects/?topic_id=2

KERNEL DRIVER DEVELOPMENT IN 2.6:

Excellent (series of articles):
http://lwn.net/Articles/driver-porting/

Here's my sample program:
http://prdownloads.sourceforge.n ... .1a.tar.gz?download

Good but dated for 2.4 kernel:
http://www.oreilly.com/catalog/linuxdrive2/

http://linuxdevices.com/articles/AT4389927951.html
http://linuxdevices.com/articles/AT5793467888.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表