当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
29 Star 135 Fork 314

OpenHarmony / build_lite
暂停

 / 详情

hb构建工具支持内核menuconfig配置

已拒绝
需求
创建于  
2021-12-22 08:53

【需求价值】:
hb当前只有编译构建功能,缺少内核定制裁剪配置入口。

【需求描述】:

  • 现状:

对于Lite-M、LiteOS-A、Linux内核,需要进入相应的内核目录,执行如下命令弹出内核配置界面进行定制裁剪:

cd openharmony/kernel/linux/linux-4.19
make menuconfig
# or:
cd openharmony/kernel/liteos-m
make menuconfig
# or:
cd openharmony/kernel/liteos-m
make menuconfig

本来支持gn和makefile 2种方式,对于使用gn编译时,还要使用makefile的方式来调用menuconfig界面,gn和makefile没有彻底分清界限。

  • 新需求

hb set产品后,期望提供 hb config功能可以在根目录下就打开内核配置界面,不再需要切换到相应的内核目录调用make命令。

对于liteos-m, hb config实现功能类似于:

cd openharmony/kernel/liteos-m
make menuconfig

对于liteos-a, hb config实现功能类似于:

cd openharmony/kernel/liteos-a
make menuconfig

对于linux,如linux-5.10, hb config实现功能类似于:

cd openharmony/kernel/linux/linux-5.10
make menuconfig

【方案描述】:

对于LiteOS-A、LiteOS-M内核,make menuconfig实现在kernel\liteos_m(a)\Makefile文件种,如下:

update_config menuconfig:
	$(HIDE)test -f "$(CONFIG)" && cp -v "$(CONFIG)" .config && menuconfig $(args) && savedefconfig --out "$(CONFIG)"

其中menuconfig是python三方库kconfiglib提供的接口命令,hb工具可以调用实现。

对于Linux,类似。

【配套文档】:

【验收标准】:

评论 (5)

kenneth 创建了需求
kenneth 置顶等级设置为
kenneth 置顶等级 修改为
kenneth 优先级设置为严重
kenneth 优先级严重 修改为主要
kenneth 修改了描述
kenneth 置顶等级 修改为不置顶
kenneth 修改了描述
weichaox 任务状态待办的 修改为已确认
展开全部操作日志

编译时产品选择和kernel裁剪这两件事,从时间上来说一个属于编译阶段一个属于配置阶段;从业务上来说一个属于编译领域一个属于内核领域;从必要性上来说,绝大部分需要编译的开发都不需要知道kernel是怎么裁剪配置的,改过去只会让绝地大部分人摸不着头脑;从实用性上来说,进kernel目录进行menuconfig裁剪已经是业界通用方式,即使改到hb set,反而让人不习惯。

编译构建一个是hb+gn+ninja一个是make+makefile,说了这么多,现在使用hb构建系统时,还是离不开makefile来维护内核裁剪配置。

内核天然的就是用makefile,aosp也一直这么沿用的,如果要切换代价太大,得不偿失。hb只是一种优化产品选择方式,跟谁用什么框架编译,本身就是没有什么关系的。

内核天然的就是用makefile,aosp也一直这么沿用的,如果要切换代价太大,得不偿失。hb只是一种优化产品选择方式,跟谁用什么框架编译,本身就是没有什么关系的。

@chenmudan 内核也不使用makefile了。。。

@kenneth ,可以看下现在源码确认下。关于hb暂时不支持内核menuconfig不再继续讨论了,这个需求先关闭了。

chenmudan 任务状态已确认 修改为已拒绝

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
Python
1
https://gitee.com/openharmony/build_lite.git
git@gitee.com:openharmony/build_lite.git
openharmony
build_lite
build_lite

搜索帮助