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

2022-05-05 16:28:54 浏览数 (1)

请先参考《2.2.3 使用示例:下载百问网鸿蒙源码、文档》下载GIT仓库,里面含有补丁文件。

补丁文件openharmony_100ask_v1.2.patch既支持IMX6ULL,也支持STM32MP157,只需要打一次补丁。它位于如下目录,这两个目录里的文件是一样的:

代码语言:javascript复制
doc_and_source_for_openharmonyIMX6ULLsource1_文档配套的源码patchopenharmony_100ask_v1.2.patch
doc_and_source_for_openharmonySTM32MP157source1_文档配套的源码A7patchopenharmony_100ask_v1.2.patch

1.1 下载补丁文件

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

也可以在Ubuntu中执行以下命令再次下载:

代码语言:javascript复制
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目录下。

执行以下命令打补丁:

代码语言:javascript复制
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目录下配置、编译:

代码语言:javascript复制
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上体验鸿蒙系统》,使用烧写工具下载运行它们。

0 人点赞