OpenHarmony(鸿蒙南向开发)——标准系统内核(Linux)
概述标准系统类装备是面向应用处置惩罚器的装备,支持的装备最小内存为128MiB。OpenHarmony选择Linux内核作为底子内核,可以对不同资源受限的装备产物配置出适合的OS内核,为上层提供底子的操作系统能力。
Linux内核版本
[*] Linux内核版本分为稳定版本以及恒久支持LTS(long term support)版本。
[*] 稳定版本约莫每三个月发布一个新版本,包含最新硬件支持、性能改进以及bug修复等。其缺点是团体维护生命周期较短,产物软件不能得到恒久稳定的支持。
[*] LTS为恒久支持版本,“恒久支持”体如今对该版本内核的恒久维护(对bug和安全方面的修复),一般维护周期达到6年之久。相较于维护周期从6个月到2年不等非LTS内核版本,对一款商用产物来说并不能覆盖其产物完备的生命周期,很有可能会使产物袒露于安全漏洞的风险之中。且LTS版本更新不会包含新的特性升级,包管了版本的稳定,这对追求稳定以及安全的商用产物来说LTS版本更为适合。
OpenHarmony内核版本选择
OpenHarmony 中Linux内核从LTS版本中选择合适的版本作为内核的底子版本,目前已完成对Linux-4.19及Linux-5.10的适配及支持。
OpenHarmony开发板Patch使用指导
[*]合入HDF补丁。 按照 kernel.mk 中HDF的补丁合入方法,合入不同内核版本对应的HDF内核补丁:
$(OHOS_BUILD_HOME)/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh $(OHOS_BUILD_HOME) $(KERNEL_SRC_TMP_PATH) $(KERNEL_PATCH_PATH) $(DEVICE_NAME)
makefile
[*]合入芯片平台驱动补丁,以Hi3516DV300为例。 按照 kernel.mk 中的芯片组件所对应的patch路径规则及定名规则,将对应的芯片组件patch放到对应路径下:
DEVICE_PATCH_DIR := $(OHOS_BUILD_HOME)/kernel/linux/patches/${KERNEL_VERSION}/$(DEVICE_NAME)_patch
DEVICE_PATCH_FILE := $(DEVICE_PATCH_DIR)/$(DEVICE_NAME).patch
makefile
[*]修改本身所需要编译的config。 按照 kernel.mk 中的芯片组件所对应的patch路径规则及定名规则,将对应的芯片组件config放到对应路径下:
KERNEL_CONFIG_PATH := $(OHOS_BUILD_HOME)/kernel/linux/config/${KERNEL_VERSION}
DEFCONFIG_FILE := $(DEVICE_NAME)_$(BUILD_TYPE)_defconfig
makefile
须知: 由于OpenHarmony工程的编译构建流程中会拷贝kernel/linux/linux-*.的代码环境后举行打补丁动作,在使用OpenHarmony的版本级编译下令前,需要kernel/linux/linux-.*原代码环境。
根据不同系统工程,编译完成后会在out目录下的kernel目录中生成对应现实编译的内核,基于此目录的内核,举行对应平台的config修改,将末了生成的.config文件cp到config仓对应平台的路径文件里,即可见效。
Linux内核编译与构建指导
开发示例
以hi3516dv300开源开发板+ubuntu x86主机开发环境为例。
使用工程的全量编译下令,编译生成uImage内核镜像
./build.sh --product-name hispark_taurus_standard # 编译hispark_taurus_standard镜像
--build-target build_kernel # 编译hispark_taurus_standard的uImage内核镜像
--gn-args linux_kernel_version=\"linux-5.10\"# 编译指定内核版本
如果大家想更加深入的学习 OpenHarmony(鸿蒙南向) 开发的全栈内容,不妨可以参考以下相干学习文档举行学习,助你快速提升本身:
OpenHarmony 开发环境搭建:https://qr18.cn/CgxrRy
https://i-blog.csdnimg.cn/blog_migrate/e2ab545b83c998a59fd40d6e36e89049.png
《OpenHarmony源码解析》:https://qr18.cn/CgxrRy
[*]搭建开发环境
[*]Windows 开发环境的搭建
[*]Ubuntu 开发环境搭建
[*]Linux 与 Windows 之间的文件共享
[*]……
https://i-blog.csdnimg.cn/blog_migrate/0f3c5011488edfd654b9d0c209404679.png
系统架构分析:https://qr18.cn/CgxrRy
[*]构建子系统
[*]启动流程
[*]子系统
[*]分布式任务调度子系统
[*]分布式通讯子系统
[*]驱动子系统
[*]……
https://i-blog.csdnimg.cn/blog_migrate/99031c980b734396706686f0d109c90d.png
OpenHarmony 装备开发学习手册:https://qr18.cn/CgxrRy
https://i-blog.csdnimg.cn/blog_migrate/ce76c3eb85080f1e2ddc5b8ac47c2b9a.png
OpenHarmony面试题(内含参考答案):https://qr18.cn/CgxrRy
https://i-blog.csdnimg.cn/blog_migrate/0315c488dc5d27d407bf64bfc6b6cd37.png
写在末了
[*]如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
[*]点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
[*]关注小编,同时可以期待后续文章ing
页:
[1]