# kabi-check **Repository Path**: lindorx/kabi-check ## Basic Information - **Project Name**: kabi-check - **Description**: 本仓库用于校验linux内核kabi - **Primary Language**: Shell - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-13 - **Last Updated**: 2023-03-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # kabi-check #### 介绍 本脚本实现了不需要编译内核直接校验kabi,大幅缩小linux内核校验kabi的时间。参考:处理器R7-5800U,16核,全程执行时间29秒。 原理为使用kabi校验涉及的代码文件名单,对该名单中的文件预处理后,使用内核工具“scripts/genksyms/genksyms”导出此文件所有的kabi,然后将导出的kabi列表与白名单进行对比获得结果。 为了提高校验速度,采用了多线程机制执行文件处理工作,自动根据核数分配线程,在执行期间可能会临时让处理器占用率达到100%,属于正常情况。 #### 安装教程 此代码为shell脚本,无需安装,直接在内核代码目录执行。 #### 使用说明 1. clone代码仓库到本地 git clone https://gitee.com/lindorx/kabi-check.git 2. 进入需要执行的内核目录,例如: cd ~/kernel 3. 根据当前系统架构,选择对应的配置文件。例如x86_64架构,参数位置没有要求。 例: ~/kabi-check/gen_check_kabi.sh -k ~/kabi-check/Modules.kabi_x86_64 -p ~/kabi-check/Kabi.path_x86_64.a -i -c 配置文件名称 -r 4. 如果输出“--- 校验完成,没有问题 ---”,说明校验完成,没有错误。 如果输出“--- 校验失败,错误KABI如下:”,表示校验失败,同时会列出有问题的KABI。 参数: -k [...] kabi白名单 -p [...] 路径文件 -c [...] 配置文件名称。工具会自动使用“arch/架构/config/”路径下对应名称的文件作为配置文件。 -i 初始化内核编译环境 -r 清理校验环境产生的临时文件 -h 显示帮助信息 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request