文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

OpenHarmony内核学习(一)—单独编译OpenHarmony标准系统内核

2024-12-13 15:26

关注

想了解更多关于开源的内容,请访问:

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

内核是操作系统的核心,学习掌握OpenHarmony内核对于开发人员至关重要。笔者整理学习OpenHarmony标准系统内核笔记如下:

OpenHarmony标准系统内核


Linux内核版本

Linux内核版本分为稳定版本以及长期支持LTS(long term support)版本。

稳定版本大约每三个月发布一个新版本,包含最新硬件支持、性能改进以及bug修复等。其缺点是整体维护生命周期较短,产品软件不能得到长期稳定的支持。

LTS为长期支持版本,“长期支持”体现在对该版本内核的长期维护(对bug和安全方面的修复),一般维护周期达到6年之久。相较于维护周期从6个月到2年不等非LTS内核版本,对一款商用产品来说并不能覆盖其产品完整的生命周期,很有可能会使产品暴露于安全的风险之中。且LTS版本更新不会包含新的特性升级,保证了版本的稳定。

OpenHarmony的Linux内核基于开源Linux内核LTS 4.19.y / 5.10.y 分支演进,在此基线基础上,回合CVE补丁及OpenHarmony特性,作为OpenHarmony Common Kernel基线。针对不同的芯片,各厂商合入对应的板级驱动补丁,完成对OpenHarmony的基线适配。

目前OpenHarmony Beta3使用的内核版本为5.10.93,Beta4使用的内核版本为5.10.97。

OpenHarmony标准系统内核源码目录

单独编译OpenHarmony标准系统内核(以rk3568为例)

# 配置编译环境变量
export PRODUCT_COMPANY=hihope
export DEVICE_COMPANY=rockchip
export DEVICE_NAME=rk3568
export KBUILD_OUTPUT=//OBJ/linux-5.10/
./make-ohos.sh TB-RK3568X0
# ./make-ohos.sh TB-RK3568X10也是可以的,但是笔者不太清楚这个是用来干啥的

单独编译结果

结果是在如下目录下生成resource.img内核镜像和boot_linux.img。

/home/jiajiahao/ohos3.2beta3/sources/out/kernel/OBJ/linux-5.10/resource.img。

home\jiajiahao\ohos3.2beta3\sources\out\kernel\src_tmp\linux-5.10\boot_linux.img

重新编译OpenHarmony标准系统内核

删除源码下out目录

rm -rf out

然后重新编译出全部的镜像文件

知识附送

编译rk64位:

用DevEco Device Tool工具可以编译64位的镜像

安装最新依赖包:

for one_tools in curl -s -k 
https://gitee.com/landwind/openharmony_oneclick_env_init/raw/master/apt_install.list;do
sudo bash -c "apt-get install -y ${one_tools}"; done

OpenHarmony环境重置

安装依赖包: unix_time=`date '+%s'`;for one_tools in `curl -s -k 
https://gitee.com/landwind/openharmony_oneclick_env_init/raw/master/apt_install.list`;do
echo "apt-get install -y
${one_tools}">>/tmp/openharmony_deps_${unix_time}.sh; done;sudo apt-get
update;sudo bash -x /tmp/openharmony_deps_${unix_time}.sh
删除out: rm -rf out
重置工作区,删除所有修改(记得备份你的代码): repo forall -c "pwd;git reset --hard; git clean
-fd"
更新最新代码: repo sync -c -j8; repo forall -c "pwd;git lfs install;git lfs
pull"
执行prebuilts下载脚本: bash build/prebuilts_download.sh

想了解更多关于开源的内容,请访问:

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

来源:51CTO 开源基础软件社区内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯