一种将驱动集成到不同Linux内核版本的方法技术

技术编号:13239381 阅读:85 留言:0更新日期:2016-05-15 01:21
本发明专利技术公开了一种将驱动集成到不同Linux内核版本的方法,属于计算机操作系统技术领域。所述将驱动集成到不同Linux内核版本的方法,包括以下步骤:1)安装DKMS全称为Dynamic Kernel Module Support;2)拷贝包含需要安装的驱动程序源代码文件dkms.conf;3)将需要安装的驱动模块加入DKMS;4)编译对应内核版本的驱动程序;5)将驱动程序安装到对应的内核中;6)重启系统,从被安装完驱动的内核启动即可。本发明专利技术所述将驱动集成到不同Linux内核版本的方法,操作简单,实用性强,节省人力、时间、成本等资源,具有很好的推广应用价值。

【技术实现步骤摘要】

本专利技术涉及计算机操作系统
,具体提供。
技术介绍
在传统的Linux操作系统中,和内核适配的部分驱动已经集成在内核中,或者可以通过手工定制将驱动编译成为模块集成到内核中。但是没有集成在内核中的驱动程序,安装方法是通过源码手工编译或rpm(软件包管理器)安装,但这部分未集成在内核中的驱动程序的安装前提是,内核必须能够正常启动,进入系统后,才能进行驱动安装的操作。若是比较重要的驱动,如Raid卡、显卡、总线等的驱动程序,内核在启动过程中需要预先加载,若加载失败,无法正常进入系统,也就无法安装驱动了。上述安装方法存在很大的局限性,给使用过程带来一定的不方便。
技术实现思路
本专利技术的技术任务是针对上述存在的问题,提供一种操作简单,实用性强,节省人力、时间、成本等资源的将驱动集成到不同Linux内核版本的方法。为实现上述目的,本专利技术提供了如下技术方案: ,所述方法包括以下步骤:1)安装DKMS全称为DynamicKernel Module Support; 2)拷贝包含需要安装的驱动程序源代码文件dkms.conf; 3)将需要安装的驱动模块加入DKMS; 4)编译对应内核版本的驱动程序; 5)将驱动程序安装到对应的内核中; 6 )重启系统,从被安装完驱动的内核启动即可。作为优选,内核安装完成后,由于驱动问题导致无法正常启动,无需将驱动程序源码集成到内核源码中再次重新编译并安装内核,可以直接通过另一个正常启动的内核,将驱动集成进无法启动的内核。本专利技术具有以下突出的有益效果:所述方法可以直接通过另一个正常启动的内核,将驱动程序集成进无法启动的内核,使该内核在启动时能够加载到驱动,从而正常启动;该方法操作简单,节省人力、时间、成本等资源,使用更便捷,具有良好的实用性。【具体实施方式】下面结合实施例对本专利技术所述将驱动集成到不同Linux内核版本的方法作进一步详细说明。实施例本专利技术所述将驱动集成到不同Linux内核版本的方法,包括以下步骤:1)安装DKMS全称为Dynamic Kernel Module Support; 2)拷贝包含需要安装的驱动程序源代码文件dkms.conf; 3)将需要安装的驱动模块加入DKMS; 4)编译对应内核版本的驱动程序;5)将驱动程序安装到对应的内核中;6 )重启系统,从被安装完驱动的内核启动即可。内核安装完成后,由于驱动问题导致无法正常启动,无需将驱动程序源码集成到内核源码中再次重新编译并安装内核,可以直接通过另一个正常启动的内核,将驱动集成进无法启动的内核。本专利技术的将驱动集成到不同Linux内核版本的方法的实际工作过程为: 1.安装DKMS,全称是 Dynamic Kernel Module Support,下载地址:http://Iinux.dell.com/dkms/permalink/dkms-2.2.0.3-1.noarch.rpm 2.将包含需要安装的驱动程序源代码文件夹copy到〃/usr/src〃下面,完整路径将是〃/usr/src/〈module>-〈module_vers1n>〃,( <module>-〈module-vers1n>^:;^;需要安装的驱动源码目录) DKMS要求我们的代码目录必须以〃 <module>-〈module-vers1n>〃的格式命名,即〃 <驱动名称>_〈驱动版本>",中间以英文横杠隔开; 3.在/usr/src/<module>-<module-vers1n>目录下新增文件:dkms.conf,文件内容为:PACKAGE_NAME=<module>PACKAGE_VERS1N=<module-vers1n>CLEAN=〃make clean"BUILD_M0DULE_NAME =<module> DEST_M0DULE_L0CAT I ON =7updat e s ”AUT0INSTALL=〃yes〃 PACKAGE_NAME表示驱动名称,PACKAGE_VERS10N表示驱动版本,和步骤2中的文件夹命名保持一致; CLEAN表示编译驱动时的执行动作,"make clean"表示清除中间文件重新编译; BUI LD_M0DULE_NAME 用来指定驱动模块的名称,和PACKAGE_NAME保持一致即可,一般情况下也可以不设定; DEST_M0DULE_L0CAT10N用来设定驱动模块安装的目的地址,默认在/lib/module/〈Kerne 1-vers 1n〉/下,如填写〃/updates",表示安装目录是〃/lib/module/〈Kerne 1-vers1n)/updates^ ; AUT0INSTALL=〃yeS〃表示在内核启动时被引导后DKMS会自动对这个驱动模块执行Build和Install的动作,当然如果模块已经处于该状态的话,相应的动作是不用再次执行的;4.执行“dkms add _m <module> -v〈module_vers1n>,, 将需要安装的驱动模块加入DKMS,表示该版本的驱动模块由DKMS维护。可以执行〃dkmsstatus〃查看目前DKMS系统维护的模块的状态。命令执行成功后,在目录〃/var/lib/dkms/〃下可以看到建立了对应的<module>/〈module-vers1n> 目录;5.执行“dkmsbuild _m <module> -v <module-vers1n> _k〈Kernel_vers1n>,,编译对应内核版本的驱动程序。这里增加-k参数,表示指定编译驱动模块对应的的内核完整版本号; 编译成功后,在目录:"/var/lib/dkms/<module>/kernel-<Kernel-vers1n >/module"下,可以看到生成的驱动.ko 二进制模块文件;6.执行“dkmsinstall _m〈module〉-v <module-vers1n> _k〈Kernel_vers1n>,,将驱动程序安装到对应的内核中,同样增加_k参数,指定被安装内核的版本号: 7.重启系统,从被安装完驱动的内核启动即可。以上所述的实施例,只是本专利技术较优选的【具体实施方式】,本领域的技术人员在本专利技术技术方案范围内进行的通常变化和替换都应包含在本专利技术的保护范围内。【主权项】1.,其特征在于:所述方法包括以下步骤: 1)安装DKMS全称为DynamicKernel Module Support; 2)拷贝包含需要安装的驱动程序源代码文件dkms.conf; 3)将需要安装的驱动模块加入DKMS; 4 )编译对应内核版本的驱动程序; 5)将驱动程序安装到对应的内核中; 6 )重启系统,从被安装完驱动的内核启动即可。2.根据权利要求1所述的将驱动集成到不同Linux内核版本的方法,其特征在于:内核安装完成后,由于驱动问题导致无法正常启动,无需将驱动程序源码集成到内核源码中再次重新编本文档来自技高网...

【技术保护点】
一种将驱动集成到不同Linux内核版本的方法,其特征在于:所述方法包括以下步骤:1)安装DKMS全称为Dynamic Kernel Module Support;2)拷贝包含需要安装的驱动程序源代码文件dkms.conf;3)将需要安装的驱动模块加入DKMS;4)编译对应内核版本的驱动程序;5)将驱动程序安装到对应的内核中;6)重启系统,从被安装完驱动的内核启动即可。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘骏
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1