CN119415441A 编译验证系统生成方法、驱动程序编译验证方法、系统、装置、设备、介质和程序产品 (格兰菲智能科技股份有限公司)_第1页
CN119415441A 编译验证系统生成方法、驱动程序编译验证方法、系统、装置、设备、介质和程序产品 (格兰菲智能科技股份有限公司)_第2页
CN119415441A 编译验证系统生成方法、驱动程序编译验证方法、系统、装置、设备、介质和程序产品 (格兰菲智能科技股份有限公司)_第3页
CN119415441A 编译验证系统生成方法、驱动程序编译验证方法、系统、装置、设备、介质和程序产品 (格兰菲智能科技股份有限公司)_第4页
CN119415441A 编译验证系统生成方法、驱动程序编译验证方法、系统、装置、设备、介质和程序产品 (格兰菲智能科技股份有限公司)_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作系统所使用的内核版本获取编译驱动程序所工具链生成各操作系统容器镜像对应的容器编证程序用于在各操作系统容器镜像对应的容器2根据各所述目标操作系统所使用的内核版本,获取编译所述驱动基于编译各所述驱动程序所需的各工具链,生成各所述操作系确定编写的自动化验证程序,所述自动化验证程序用于在各所应的所述容器编译环境中,基于各所述内核文件使用各所述内核版本以及各所述工具链,基于所述操作系统容器镜像、所述内核文件、所述容器编译环境以在各所述驱动程序所依赖的内核版本是所述目标操作系统自带的内核版本或所述目在各所述驱动程序所依赖的内核版本不是所述目标操作系统自带序所依赖的内核版本的源码进行编译得到内下载各所述驱动程序所依赖的内核版本的源码,并在所述提取所述目标操作系统对应的内核配置文件,并基于所述内核配置文本的源码中配置内核选项;通过所述内核编译工具在所述操作系统容器镜像中,基于所述内核将安装的所述工具链以及编译所述驱动程序所需要的内核文件37.一种编译验证系统,其特征在于,所述编译验证系统将所述待编译验证驱动程序输入至编译验证系统中,得到编译验证结果译验证系统是权利要求1至6任意一项所述编译验证系统生成确定编译验证模式,所述编译验证模式包括完整编译验证模式以及部分编译验证模本进行编译验证,所述部分编译验证模式为仅对自定义的操作系统以及内核版本进行验基于所述编译验证模式,将所述待编译验证驱动程序输入至编译验证将所述待编译验证驱动程序输入至编译验证系统中,以指示所述编译验证系统中各操作系统容器镜像并发对所述操作系统容器镜像进行编译验证得到编译在所述编译验证系统部署在本地的情况下,通过配置脚本程序在所述编译验证系统部署在云端的情况下,基于所述待编译验证容器生成模块,用于基于各驱动程序需要支持的各目标编译环境生成模块,用于基于编译各所述驱动4编译验证模块,用于将所述待编译验证驱动程序输入于,所述处理器执行所述计算机程序时实现权利要求1至6或8至11中任一项所述的方法的被处理器执行时实现权利要求1至6或8至11中任一项所述的5口、数据结构和编译选项等也可能不同,所以需要在各个OS/kernel版本上进行验证和适[0003]对于驱动程序由团队多人开发维护,需要同时保证支持多个内核版本和操作系[0005]当团队多人研发驱动程序时,每个研发人员都需要对这些OS/kernel重复的进行6[0014]基于各所述目标操作系统所使用的各编译相关版本,确定至少一个通用操作系[0017]在各所述驱动程序所依赖的内核版本是所述目标操作系统自带的内核版本或所[0024]将编译各所述驱动程序所需的各工具链,安装至对应的所述操作系统容器镜像[0031]在其中一个实施例中,所述将所述待编译验证驱动程序7[0034]在其中一个实施例中,所述将所述待编译验证驱动程序述编译验证系统中各操作系统容器镜像并发对所述操作系统容器镜像进行编译验证得到8计算机程序被处理器执行时实现上述任意一个实施例处理器执行时实现上述任意一个实施例中所述的方9应容器官方网站上下载对应OS版本的基础容器镜像2)可以从现有已安装的操作系统中[0070]比如根据LinuxOS_A制作其dockerOS_A的容器镜像。可以对每一个目标操作系者对各驱动程序所依赖的内核版本的源码进行编译得到[0088]dockerOS_A_kernel[0089]dockerOS_B_kernel[0090]dockerOS_C_kernel_v5.[0091]dockerOS_D_kernel_[0093]内核版本v5.19和v6.1是基于操作系统B和编译器gcc/g++v9来定制的内核头文[0094]内核版本v5.4和v5.15是基于操作系统C和编译器llvm/clangv11来定制的内核大幅缩减驱动研发和测试人员对不同OS/kernel版本都搭建各自编译环境的繁琐重复工序适配不同操作系统和不同内核版本及不同编译工具[0105]假设若需要在操作系统容器dockerA上面验证驱动程序支持内核版本kernel[0106]如上制作步骤可以直接在目标操作系统上面进行或者在制作的容器操作系统中作的内核版本kernelv4.14的头文件和相关文件共享给容器A和容器B来译验证系统是上述任意一个实施例中编译验证系统生成[0111]其中,编译验证系统通过自动化验证程序对待编译验证动程序在所有需要支持的docker和kernel版本[0118]操作系统容器D上面需要支持kernel版本v4.9,使用的编译工具链是gcc版本是kernelv4.9和gccv8来编译KMD和行KMD/UMD的编译验证,比如:只用操作系统容器A的所有内核版本来编译验证KMD驱动程译验证系统中各操作系统容器镜像并发对操作系统容器镜像进行编译验证得到编译验证容器A和该容器所支持验证的所有内核版本和编译工具链进行编译验证。当驱动开发者本地有代码改动后,就可以使用如上自动化的驱动验证命令来对某些需要支持的操作系统、[0139]只有开发者提交的改动能够满足云端服务器的自动化驱动适配验证的所有编译[0140]从而避免出现开发者在使用别人的某个change后,导致驱动程序破坏了对某些os/kernel的支持,不利于及时发现引入问题的改动,也不利于驱动代码的产品发布和使[0146]首先commitA1会触发该驱动代码的自动化容器编译验证系统,即对该驱动代码所需要支持的所有操作系统容器+内核版本+编译工具链进行编译验证。比如根据commit[0147]假设该A1改动在某个操作系统容器中对某个内核版本使用某个编译工具导致编[0149]假设使用该B1改动后的驱动代码可以在所有支持的操作系统容器中对所有需要[0150]最后在驱动代码仓库合入如上验证通过的B1驱动代码的基础上,对提交的改动[0152]这样如上只有commitB1改动通过了该自动化驱动代码验证系统的验证可以合入[0153]本申请利用容器技术来统一驱动的编译环境,通过选取证系统生成方法的编译验证系统生成装置以及驱动程序编译验证方法的驱动程序编译验面所提供的一个或多个编译验证系统生成装置和驱动程序编译验证装置实施例中的具体[0164]在其中一个可选的实施例中,上述容器生成模块801用于通过任意一种方式生成[0165]在其中一个可选的实施例中,上述容器生成模块801用于基于各目标操作系统所[0166]在其中一个可选的实施例中,上述内核文件获取模块802用于在各驱动程序所依赖的内核版本是目标操作系统自带的内核版本或目标操作系统的源服务器中已经支持的[0167]在其中一个可选的实施例中,上述内核文件获取模块802用于下载各驱动程序所依赖的内核版本的源码,并在目标操作系统对应的操作系统容器镜像中安装内核编译工[0168]在其中一个可选的实施例中,上述编译环境生成模块803用于将编译各驱动程序验证结果,其中编译验证系统是基于上述任意一个实施例中编译验证系统生成方法生成[0174]在其中一个可选的实施例中,上述编译验证模块902具体用于将待编译验证驱动[0175]在其中一个可选的实施例中,上述编译验证模块902具体用于在编译验证系统部[0176]上述编译验证系统生成装置和驱动程序编译验证装置中的各个模块可全部或部统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备程序被处理器执行时以实现一种编译验证系统生成方法和驱动程序通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read_Only库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论