行业知识
2 开源鸿蒙OpenHarmony4.1源码下载和编译流程
开源鸿蒙OpenHarmony源码下载和编译流程
| 作者 | 将狼才鲸 |
|---|---|
| 日期 | 2024-02-29 |
-
前���提要:
() -
确定你要编译哪一块开发板:
- 我选择qemu_mini_system_demo 这个板子
- 编译形态整体说明,含QEMU,可以编译哪些开发板和芯片
- qemu模拟器 + arm核 + mini轻型系统的配置有:
- qemu_mini_system_demo arm_mps2_an386 qemu liteos_m mini arm-cortex-m4
- qemu_cm55_mini_system_demo arm_mps3_an547 qemu liteos_m mini arm-cortex-m55
- Qemu Arm Cortex-m4 mps2-an386 教程
- Qemu Arm Cortex-m55 mps3-an547 教程
- QEMU(Quick Emulator)鸿蒙QEMU模拟器操作指南
-
安装基础开发环境:安装VMware虚拟机+Ubuntu发行版系统+Git软件+repo软件+Python
() -
编译开源鸿蒙源码前先下载源码
- 步骤见:开源鸿蒙OpenHarmony niobe407 STM32F407IGT6芯片轻型系统全量源码4.1版本下载流程
- 使用 repo init -u https://gitee.com/openharmony/manifest -b master -m chipsets/qemu.xml -g ohos:mini 初始化对应于QEMU模拟器(类似于开发板)的全套源码
- 按前面的步骤下载鸿蒙源码
-
编译:
-
编译的相关介绍
- 需要使用hb命令,也就是ohos-build
- 了解OpenHarmony-编译
- OpenHarmony支持hb和build.sh两种编译方式。
- 安装hb编译工具
- 安装库和工具集
- .sh方式编译构建指导
- 安装流程介绍:
- hb安装异常处理
- 快速入门-如何编译程序
- 安装库和工具集-编译流程
-
编译步骤(先安装编译工具):
-
python3 -V 查看python版本,如果是3.8以下,则:
- sudo apt install python3.8
- sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
- sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
- sudo update-alternatives --config python3
- python3 -V
-
python3 -m pip install --user ohos-build
- pip3是Python的包管理工具,用于安装、升和管理Python包
- 需要python3.8以上的版本
-
如果你是Ubuntu18.04,则先执行
- cd /usr/lib/python3/dist-packages
- cp apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so apt_pkg.cpython-39m-x86_64-linux-gnu.so apt_pkg.so
- cd -
-
先安装依赖库
-
sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+±multilib gcc-arm-linux-gnueabi libc6-dev-i386 libc6-dev-amd64 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev 安装编译时依赖的软件和库
- 仔细看安装后的信息,如果提示有哪些包未安装成功,则你需要单独安装
- sudo apt-get install g+±multilib 这里其实是g加号加号减号multilib,会被csdn识别成别的格式
- sudo apt-get install gcc-arm-linux-gnueabi
- sudo apt-get install gcc-multilib
- sudo apt-get install lib32ncurses5-dev
- sudo apt-get install lib32z1-dev
- sudo apt-get install libc6-dev-i386
-
按前面的流程下载全量源码,或者特定开发板特定芯片的源码
-
进入到你下载的源码根目录
-
bash build/prebuilts_download.sh 安装和芯片相关的编译器和二进制工具,全自动的,会下载的同时进行安装,要等待一段时间,有进度条
-
python3 -m pip install --user build/hb
-
gedit ~/.bashrc
-
将 export PATH=~/.local/bin:$PATH 加入到最后一行并保存退出
-
source ~/.bashrc
-
hb --help 这个命令执行时可能有报错,有什么错误就解决什么错误,例如用下面方法解决报错
- python3 -m pip uninstall ohos-build
- python3 -m pip install --user ohos-build==0.4.3
-
hb set 进行编译设置
- 第一步目录输入. 选择源码根目录的当前目录
- 第二步选择开发板,我使用上下方向键选择qemu_mini_system_demo这款qemu的模拟器开发板,ARM Cortex-M4内核的虚拟芯片
- 编译形态整体说明,含QEMU,可以编译哪些开发板和芯片
- Qemu Arm Cortex-m4 mps2-an386 教程
- qemu_mini_system_demo arm_mps2_an386 qemu liteos_m mini arm-cortex-m4
jim@ubuntu:~/openHarmony$ hb set[OHOS INFO] Input code path: .OHOS Which product do you need? qemu_mini_system_demo
-
hb build -f 开始编译,有报错则处理报错
-
出现build success表示编程成功,然后进行烧录,或者直接用QEMU模拟器进行运行。
-
防止格式被破坏
* python3 -V 查看python版本,如果是3.8以下,则: * sudo apt install python3.8* sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1* sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2* sudo update-alternatives --config python3* python3 -V * python3 -m pip install --user ohos-build * pip3是Python的包管理工具,用于安装、升和管理Python包* 需要python3.8以上的版本* 安装流程介绍: * hb安装异常处理 * 快速入门-如何编译程序 * 安装库和工具集-编译流程* 如果你是Ubuntu18.04,则先执行 * cd /usr/lib/python3/dist-packages * cp apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so apt_pkg.cpython-39m-x86_64-linux-gnu.so apt_pkg.so * cd -* 先安装依赖库* sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabi libc6-dev-i386 libc6-dev-amd64 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev 安装编译时依赖的软件和库 * 仔细看安装后的信息,如果提示有哪些包未安装成功,则你需要单独安装 * sudo apt-get install g++-multilib * sudo apt-get install gcc-arm-linux-gnueabi * sudo apt-get install gcc-multilib * sudo apt-get install lib32ncurses5-dev * sudo apt-get install lib32z1-dev * sudo apt-get install libc6-dev-i386* 按前面的流程下载全量源码,或者特定开发板特定芯片的源码* 进入到你下载的源码根目录* bash build/prebuilts_download.sh 安装和芯片相关的编译器和二进制工具,全自动的,会下载的同时进行安装,要等待一段时间,有进度条* python3 -m pip install --user build/hb* gedit ~/.bashrc* 将 export PATH=~/.local/bin:$PATH 加入到最后一行并保存退出* source ~/.bashrc* hb --help 这个命令执行时可能有报错,有什么错误就解决什么错误,例如用下面方法解决报错 * python3 -m pip uninstall ohos-build * python3 -m pip install --user ohos-build==0.4.3* hb set 进行编译设置 * 第一步目录输入. 选择源码根目录的当前目录 * 第二步选择开发板,我使用上下方向键选择qemu_mini_system_demo这款qemu的模拟器开发板,ARM Cortex-M4内核的虚拟芯片 * 编译形态整体说明,含QEMU,可以编译哪些开发板和芯片 * Qemu Arm Cortex-m4 mps2-an386 教程 * qemu_mini_system_demoarm_mps2_an386qemuliteos_mminiarm-cortex-m4* hb build -f 开始编译,有报错则处理报错* 出现build success表示编程成功,然后进行烧录,或者直接用QEMU模拟器进行运行。
- 参考资料:
- 基于OpenHarmony搭建的Qemu仿真实验环境
- ohos-build 安装失败分析
- 基于Ubuntu20.04搭建OpenHarmony v3.0.6的qemu仿真环境
- 基于OpenHarmony搭建的Qemu仿真实验环境
- 搭建一个鸿蒙运行环境,来一窥神秘鸿蒙
- 参考资料:
-
-
-
- 需要使用hb命令,也就是ohos-build
上一篇:服务器是几c怎么算?