kernel需要适配改动时,除了打patch的开发方式,还有哪些方式和方法?

a305566 显示全部楼层 发表于 2023-12-18 18:58:35

1、代码同步之后,在根目录有一个官方的 kernel文件夹,里面有官方支持的各个内核版本

2、选定方案之后,使用 hb 或者 ./build.sh 方式编译会在out目录下生成一个kernel目录,对比发现该kernel目录下的代码是根目录下的kernel和patch合并之后的完整kernel代码

3、根据需求变更,需要改kernel功能时,目前有哪几种方式可以比较好的满足需求:

目前个人想法:

1)、直接在 out 目录更改代码,然后手动编译,将新编译的该镜像(boot_linux.img)替换原有镜像(这种方式存在的风险:改动如果未及时保存,如果执行了 hb 或者 ./build.sh 会导致改动被清除);

2)、先编译一次方案(如rk3568:./build.sh --product-name rk3568 --ccache),然后将out目录的kernel复制(cp -r ./out/kernel/src_tmp/linux-5.10 ../ohos-kernel )一份保存并建立仓库(git init),完成第一次提交(git commit -m '第一次建仓提交' ),后续的改动,直接在该仓库修改提交,完成版本管理,功能开发完成之后,生成patch,放到 /kernel/linux/patches/linux-5.10/rk3568_patch

上述想法不知道是否正确,期待各位专家的给出专业回复,谢谢!

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论2

深开鸿_王石

沙发 发表于 2023-12-19 15:56:36
现在OH对kernel的维护方式就是patch

meiyulaishi

板凳 发表于 2024-12-16 13:42:06
我想知道方法一这样操作行不行。直接修改out目录代码,然后编译,再烧写新的镜像。这样修改的部分就可以生效了?

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部