OpenHarmony Linux内核本地管理

发布于:2025-05-12 ⋅ 阅读:(13) ⋅ 点赞:(0)

概述

        写这篇文章的初衷,其实也是作者从事多年Android系统开发中,根深蒂固的目录情节导致的,再开发Harmony系统中,总是想模拟Android系统的开发思路。

        对于OpenHarmony这个patch机制,其实我很讨厌它,虽然这样可以简化维护工作,不需要每个厂家都维护一个内核开发版本,但是这个patch,我讨厌它的地方就是严重制约了多人协作开发。如果一不小心修改了上游内核的文件,则如果用现有的机制,每一个协作开发的同学都需要重新再次生成patch ,不然无法patch到编译的内核。

本文基于RK3568 OpenHarmony 5.1进行描述, 使用Openharmony发布的linux-6.6内核。

修改步骤

1、拷贝内核patch

从kernel/linux/patches/linux-6.6/rk3568_patch/目录下拷贝hdf.patch和kernel.patch文件到kernel/linux/linux-6.6目录下,如下所示:

2、合并hdf.patch文件

在linux-6.6源码目录执行patch -p1 < hdf.patch,合并hdf.patch,如下所示:

3、文件拷贝

拷贝

drivers/hdf_core/adapter/khdf/linux linux-6.6/drivers/hdf/khdf

drivers/hdf_core/framework linux-6.6/drivers/hdf/framework

drivers/hdf_core/interfaces/inner_api linux-6.6/drivers/hdf/inner_api

drivers/hdf_core/framework/include/* linux-6.6/include/hdf

device/soc/hisilicon/common/platform/wifi linux-6.6/drivers/hdf/

third_party/FreeBSD/sys/dev/evdev linux-6.6/ drivers/hdf/

4、打入RK3568 BSP驱动patch

在命令行执行patch -p1 < kernel.patch

5、禁止OpenHarmony的patch功能

修改device/board/hihope/rk3568/kernel/build_kernel.sh文件,

a、注释掉PATCH路径

b. 禁止patch功能


网站公告

今日签到

点亮在社区的每一天
去签到