韦东山鸿蒙开发教程07 - 给IMX6ULL编译Liteos-a

发布时间 - 2025-07-12 00:00:00    点击率:

根据《2.2.3 使用示例:下载百问网鸿蒙源码、文档》的指南,下载git仓库,其中包含补丁文件。

补丁文件openharmony_100ask_v1.2.patch适用于IMX6ULL和STM32MP157,只需应用一次。它位于以下目录,这两个目录中的文件是相同的:

doc_and_source_for_openharmony\IMX6ULL\source\01_文档配套的源码\patch\openharmony_100ask_v1.2.patch
doc_and_source_for_openharmony\STM32MP157\source\01_文档配套的源码\A7\patch\openharmony_100ask_v1.2.patch

1.1 下载补丁文件

如果您已经在Windows中下载了GIT资料,可以将补丁文件上传到Ubuntu。

在Ubuntu中,您也可以通过执行以下命令再次下载:

cd /home/book
git clone https://e.coding.net/weidongshan/openharmony/doc_and_source_for_openharmony.git

结果如下:

1.2 使用补丁文件修改代码

假设在/home/book/openharmony目录下是鸿蒙的源码,补丁文件openharmony_100ask_v1.2.patch位于/home/book目录下。

执行以下命令应用补丁:

cd /home/book/openharmony
patch -p1 < /home/book/openharmony_100ask_v1.2.patch

注意:鸿蒙的内核在不断更新,这个补丁是针对“OpenHarmony-1.0”版本的。因此,在使用repo下载代码时,必须指定“-b OpenHarmony-1.0”,请参考《1.2.3 下载源码》。

1.3 编译

我的修改尚未完成,无法在根目录下编译。需要进入kernel/liteos_a目录下进行配置和编译:

cd /home/book/openharmony/kernel/liteos_a
cp tools/build/config/debug/imx6ull_clang.config .config  // 配置
make clean      // 先清除,否则会提示错误
make -j 8       // 编译内核,可以得到out/imx6ull/liteos.bin
make rootfs     // 编译根文件系统,可以得到rootfs.img
cp out/imx6ull/rootfs.img out/imx6ull/rootfs.jffs2 // 改个名易辨认,烧写工具使用rootfs.jffs2

如果一切正常,结果如下:

将生成的liteos.bin和rootfs.jffs2复制到烧写工具的files目录下,然后参考《在STM32MP157上体验鸿蒙系统》,使用烧写工具下载并运行它们。


# git  # windows  # 工具  # 鸿蒙  # ubuntu  # 目录下  # 文档  # 可以得到  # 只需  # 适用于  # 这两个  # 可以通过  # 工具下载  # 您也  # 则会 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速搭建个人网站并优化SEO?  用yum安装MySQLdb模块的步骤方法  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  如何用AWS免费套餐快速搭建高效网站?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  javascript如何操作浏览器历史记录_怎样实现无刷新导航  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  JavaScript中的标签模板是什么_它如何扩展字符串功能  JavaScript数据类型有哪些_如何准确判断一个变量的类型  如何在云主机上快速搭建多站点网站?  Python高阶函数应用_函数作为参数说明【指导】  如何登录建站主机?访问步骤全解析  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Swift中switch语句区间和元组模式匹配  如何彻底删除建站之星生成的Banner?  如何在阿里云域名上完成建站全流程?  微信小程序 canvas开发实例及注意事项  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Linux后台任务运行方法_nohup与&使用技巧【技巧】  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  如何在IIS7中新建站点?详细步骤解析  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  JavaScript如何实现音频处理_Web Audio API如何工作?  专业商城网站制作公司有哪些,pi商城官网是哪个?  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  JavaScript如何实现类型判断_typeof和instanceof有什么区别  网站页面设计需要考虑到这些问题  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  Laravel如何实现数据库事务?(DB Facade示例)  如何快速查询网址的建站时间与历史轨迹?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  Python文件操作最佳实践_稳定性说明【指导】  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  怎么用AI帮你为初创公司进行市场定位分析?  如何快速搭建二级域名独立网站?  如何正确选择百度移动适配建站域名?  浅谈Javascript中的Label语句  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  文字头像制作网站推荐软件,醒图能自动配文字吗?