# krun **Repository Path**: hewanhan/krun ## Basic Information - **Project Name**: krun - **Description**: kernel runtime framework - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-07-15 - **Last Updated**: 2025-08-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # krun #### 介绍 内核运行时框架(krun)特性,通过一套统一的框架,把原有厂商的闭源特性,通过固件的方式,固化到主板上,OS启动时自动识别和加载,并以统一的接口被应用调用,达到自动化和跨平台的作用。 #### 软件架构 krun框架包含5个子模块,分别对应src目录下5个目录,各自功能如下: sdk:krun用户态sdk,提供固件访问接口; driver:krun内核驱动程序,从主板加载固件并管理; server:krun系统服务,监测并初始化krun用户态运行环境; rtLogd:krun日志服务,负责管理固件中的程序日志; devkit:krun固件开发套件,给固件开发人员提供固件开发,编译,打包及验证功能。 其中sdk,server,rtLogd,devkit遵循Mulan v2协议,driver遵循GPL 1.0协议。 #### 安装教程 scripts目录下有多个编译,安装脚本,具体功能如下: build.sh - 全部子模块编译,可添加"clean"参数来清理编译缓存,如果需要单独编译某个子模块,可以进入子目录后执行同样执行build.sh。 install.sh - 全部子模块安装,会将编译好的程序拷贝到指定目录,并启动krund和rtLogd服务。 uninstall.sh - 全部子模块卸载,清理安装目录。 package.sh,rpmbuild_krun.sh,krun_local.spec - 用于rpm包构建的辅助脚本。 一般开发流程: 1.完成代码开发 2.编译各模块 ```bash sh scripts/build.sh ``` 3.安装运行各模块 ```bash sh scripts/install.sh ``` 4.功能测试验证通过 5.完成测试后卸载各模块 ```bash sh scripts/uninstall.sh ``` 6.清理编译缓存 ```bash sh scripts/build.sh clean ``` 7.提交代码或者使用rpmbuild_krun.sh打包 ```bash sh scripts/rpmbuild_krun.sh ``` #### 使用说明 各个子模块的详细使用方法见docs目录。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request