LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 852|回复: 2

杂牌内核驱动内猫全实例

[复制链接]
发表于 2004-12-22 20:21:04 | 显示全部楼层 |阅读模式
杂牌内核驱动内猫全实例

前提:本人重安装内核(2.4.18-4SGI),这内核设计方案是把XFS编进内核.重新安装后到linuxant网上跟内猫找驱动程序.没对应(比如athlon,redhat7.3 要对应hsfmodem-6.03.00lnxt04061800full_k2.4.18_3-1rh.athlon.rpm),后来下载redhat内猫驱动源代码在系统上编译,过程中出现'要用注册系统'等信息.就算可安装也不能配置.

思路:把内猫驱动源代码所支持最低版本的内核跟源代码安装和编译,然后利用得出模块用在杂牌内核,并修改相关文件,然后用杂牌内核登录系统,hsfconfig进行配置.

实例:在/tmp/soft/下
内猫驱动源代码:hsfmodem-7.18.00full-1.i386.rpm
杂牌内核:2.4.18-4SGI
低版本内核:kernel-2.4.18-3.athlon.rpm
低版本内核源代码:kernel-source-2.4.18-3.i386.rpm

显示当前内核信息
#uname -r
2.4.18-4SGI

安装低版本内核和源代码
#cd /tmp/soft
#rpm -ivh --force kernel-2.4.18-3.athlon.rpm
#rpm -ivh --force kernel-source-2.4.18-3.i386.rpm

保证没装内猫驱动
#rpm -e hsfmodem

重新启动,选择kernel-2.4.18-3登录系统
#uname -r
2.4.18-3

安装内猫驱动源代码
#cd /tmp/soft
#cp /etc/modules.conf /etc/modules.bak
#date
二 12月 21 14:05:53 CST 2004

#touch -t 12211405 /tmp/tt.txt
#rpm -ivh hsfmodem-7.18.00full-1.i386.rpm
[安装结尾要配置,除搞个电子邮件如ss@163.com,全选默认+回车]

#find /lib -newer /tmp/tt.txt > motest.txt

作拔号测试
#minicom -s
[菜单选Serial prot setup-->A改成/dev/modem,然后选E改成115200 8N1,回车回到菜单选Save setup as df1,跟着选Exit退出]

#minicom
[见到OK,代表设置好,modem可检测,按CTRL+A,X退出minicom]

查看motest.txt,对比/lib/modules/2.4.18-4SGI和/lib/modules/2.4.18-3目录下文件不同,
进行增加与修改
#mkdir /tmp/{hsf,bak}
#cd /tmp/hsf
#cp /lib/modules/2.4.18-3/modules.* /tmp/hsf/
#cp /lib/modules/2.4.18-4SGI/modules.dep /tmp/hsf/nmodules.dep
#cp /lib/modules/2.4.18-4SGI/modules.generic_string /tmp/hsf/nmodules.generic_string
#cp /lib/modules/2.4.18-4SGI/modules.pcimap /tmp/hsf/nmodules.pcimap
#cp /lib/modules/2.4.18-4SGI/modules.isapnpmap /tmp/hsf/nmodules.isapnpmap
#cp /lib/modules/2.4.18-4SGI/modules.usbmap /tmp/hsf/nmodules.usbmap
#cp /lib/modules/2.4.18-4SGI/modules.parportmap /tmp/hsf/nmodules.parportmap
#cp /lib/modules/2.4.18-4SGI/modules.ieee1394map /tmp/hsf/nmodules.ieee1394map
#cp /lib/modules/2.4.18-4SGI/modules.pnpbiomap /tmp/hsf/nmodules.pnpbiomap

备份
#cp /tmp/hsf/* /tmp/bak/

建立操作目录
#pwd
/tmp/hsf

#mkdir new

通过用diff作比较,有几个文件不用改
#cp nmodules.parportmap ./new/modules.parportmap
#cp nmodules.ieee1394map ./new/modules.ieee1394map
#cp nmodules.generic_string ./new/modules.generic_string
#cp nmodules.pnpbiosmap ./new/modules.pnpbiosmap
#cp nmodules.isapnpmap ./new/modules.isapnpmap

#grep hsf ./modules.pcimap >> ./nmodules.pcimap
#cp nmodules.pcimap ./new/modules.pcimap

#cp modules.dep t.dep
#vi t.dep
[把全2.4.18-3改成2.4.18-4SGI,可以用这个方法
:1,$s/2.4.18-3/2.4.18-4SGI/
检查修改情况,若发现有漏,回到文件开头
:1,$s/2.4.18-3/2.4.18-4SGI/
保证修改成功
:wq
保存退出]

#cp t.dep ./new/modules.dep

#diff modules.usbmap nmodules.usbmap|more
[通常这种操作比较,浏览带d项目,如486,490d485]
#grep hsf modules.usbmap >> ./nmodules.usbmap
#cp ./nmodules.usbmap ./new/modules.usbmap

把修改好文件和模块作覆盖同添加
#cp ./new/* /lib/modules/2.4.18-4SGI/
#cp -a /lib/modules/2.4.18-3/extra /lib/modules/2.4.18-4SGI/

修改链接文件(看情况)
#cd /boot
#rm System.map vmlinuz
#ln -s System.map-2.4.18-4SGI System.map
#ln -s vmlinux-2.4.18-4SGI vmlinuz
#reboot

用vmlinux-2.4.18-4SGI重新登录
#uname -r
2.4.18-4SGI

配置modem
#hsfconfig
[依旧默认回车]
#echo 'nameserver 202.96.128.68' >> /etc/resolv.conf
#echo 'nameserver 202.96.134.133' >> /etc/resolv.conf

#minicom
###################
AT
OK
ATD16300
...............
...............

###################

思路成功!
 楼主| 发表于 2005-1-3 20:51:43 | 显示全部楼层
有关杂牌内核情况,在论坛搜索两标题:

"碰到kernel-2.4.18-4SGI_XFS_1.1内核"

"碰到kernel-2.4.18-4SGI_XFS_1.1内核后,对文件系统有了解.  "
发表于 2005-1-3 21:16:32 | 显示全部楼层
好!
顶!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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