代码拉取完成,页面将自动刷新
仓用途:为Linux内核通用模块放置仓,为各内核领域公共仓。该仓不提供任何特性或能力,仅为集中容纳各内核独立模块,方便内核仓管理。 适用模块:通用内核模块,可在OpenHarmony支持的任何Linux内核版本上使用。对特定平台或硬件等依赖的模块不适合合入该仓。
kernel/linux/
└ ─ ─ common_modules/
├ ─ ─ xxx/ # xxx内核独立模块目录
│ ├ ─ ─ include/ # 模块头文件目录,可自定义
│ ├ ─ ─ src/ # 模块源文件目录,可自定义
│ ├ ─ ─ third_party/ # 三方引入文件目录
│ │ └ ─ ─ LICENSES/ # 三方使用的license文件目录
│ ├ ─ ─ README.md # 模块自简介文件
│ └ ─ ─ README_en.md
├ ─ ─ LICENSE # 许可配置文件,合入模块同步更新
├ ─ ─ OAT.xml # OAT扫描配置文件,合入模块同步更新
├ ─ ─ README.md # linux内核通用模块仓介绍文档
├ ─ ─ README_en.md
├ ─ ─ README.OpenSource # 模块资源配置文件
├ ─ ─ BUILD.gn # 内核ko模块参与构建的编译配置文件
└ ─ ─ module_smple # 内核ko示例
├ ─ ─ BUILD.gn # 内核ko模块编译配置文件
└ ─ ─ *.c # ko源码文件(支持子目录以及多源码文件)
(1) The directories below are licensed under GPL-2.0-or-later.
./newip/
[
{
"Name": "linux-5.10", # 借鉴或引用的软件名
"License": "GPL-2.0+", # 使用的许可
"License File": "newip/third_party/linux-5.10/LICENSES", # 指向许可所在文件或目录
"Version Number": "5.10.93", # 借鉴或引用该软件的版本
"Owner": "xxx@xxx.com", # 借鉴或引用软件引入人邮箱
"Upstream URL": "https://xxx", # 借鉴或引用软件开源地址链接
"Description": "linux kernel 5.10" # 对借鉴或引用的开源软件模块的描述
}
]
(1) 参与构建
参与编译ko模块在common_modules下的BUILD.gn中deps字段中进行添加,格式为“模块目录:模块名”,例如:
group("ko_build") {
deps = [
"module_sample:ko_sample", # 示例ko
"my_sample:new_ko", # 新建ko
]
}
(2) 模块编译配置文件,示例如下
import("//build/templates/kernel/ohos_kernel_build.gni") # 包含编译ko所需的模板配置
ohos_build_ko("ko_sample") { # 内核ko模块编译名,用于参与构建依赖,必须配置
sources = [ # 涉及源码文件填写,必须配置
"ko_sample.c",
"sample_fun.c",
]
target_ko_name = "kosample" # 内核ko最终模块名,不用带扩展名“.ko”,必须配置
device_name = device_name # 参与的设备名,如rk3568,默认使用编译参数device_name配置即可
device_arch = "arm64" # 适用架构配置,必须配置
}
新增编译目标mk_chip_ckm_img,所有填入BUILD.gn的ko模块将会被编译生成。以rk3568为例:
./build.sh --product-name rk3568 --build-target mk_chip_ckm_img --ccache --jobs 4
所有构建后ko生成在新增的chip_ckm目录下,以rk3568为例:
out/rk3568/packages/phone/chip_ckm/
└ ─ ─ *.ko
ko全部打包到独立镜像chip_ckm.img镜像中,镜像位置以rk3568为例:
out/rk3568/packages/phone/images/
└ ─ ─ chip_ckm.img
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型