在Ubuntu 22.04上,我是这样搞定OpenHarmony 4.0源码和工具链的(保姆级实录)
在Ubuntu 22.04上,我是这样搞定OpenHarmony 4.0源码和工具链的(保姆级实录)
作为一个长期在Linux环境下工作的开发者,第一次接触OpenHarmony的源码下载和工具链配置时,确实踩了不少坑。这篇文章将详细记录我在Ubuntu 22.04系统上从零开始配置OpenHarmony 4.0开发环境的完整过程,包括那些官方文档没有提及的细节问题和解决方案。
1. 环境准备与基础工具安装
在开始之前,确保你的Ubuntu系统已经更新到最新状态。我建议先执行以下命令:
sudo apt update && sudo apt upgrade -yOpenHarmony的源码管理主要依赖git和repo工具,而repo又是基于Python开发的。因此我们需要安装以下基础工具包:
sudo apt install git git-lfs python3-pip curl -y注意:git-lfs是必须的,因为OpenHarmony使用它来管理大文件。如果漏装,后续的git lfs pull命令会失败。
安装完基础工具后,我们需要配置repo工具。这里有个小技巧可以加速后续的下载过程:
mkdir -p ~/bin curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo chmod a+x ~/bin/repo为了让系统能够找到这个repo命令,需要将~/bin添加到PATH环境变量中:
echo 'export PATH=$PATH:~/bin' >> ~/.bashrc source ~/.bashrc2. Git配置与SSH密钥设置
为了能够顺利从Gitee克隆代码,我们需要先配置Git的全局信息:
git config --global user.name "你的名字" git config --global user.email "你的邮箱" git config --global credential.helper store如果你打算使用SSH协议下载代码(推荐,速度更快更稳定),还需要设置SSH密钥:
- 生成SSH密钥对(如果已有可跳过):
ssh-keygen -t ed25519 -C "your_email@example.com"- 将公钥添加到Gitee账户:
cat ~/.ssh/id_ed25519.pub复制输出的内容,登录Gitee网站,在"SSH公钥"设置中添加。
- 测试SSH连接是否成功:
ssh -T git@gitee.com如果看到欢迎信息,说明配置成功。
3. 源码下载实战与问题解决
创建一个专门存放OpenHarmony源码的目录:
mkdir -p ~/ohos/openharmony cd ~/ohos/openharmony3.1 使用SSH协议下载源码(推荐)
对于OpenHarmony 4.0 Release版本,执行以下命令初始化仓库:
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.0-Release --no-repo-verify常见问题1:如果遇到fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle错误,这是因为repo默认会尝试从Google源下载bundle。解决方案是添加--repo-url参数:
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.0-Release --no-repo-verify --repo-url=https://gitee.com/oschina/repo初始化成功后,开始同步代码:
repo sync -c注意:这个过程可能会非常漫长(取决于你的网络状况),我建议在晚上开始同步,让它通宵运行。
3.2 加速repo sync的小技巧
- 使用
-j参数增加并行下载数:
repo sync -c -j8如果同步中断,可以重复执行
repo sync -c命令,它会自动继续未完成的下载。对于特别大的仓库,可以单独同步:
repo sync -c platform/vendor/hisi同步完成后,别忘了执行LFS拉取:
repo forall -c 'git lfs pull'4. 工具链下载与配置
源码下载完成后,还需要获取编译工具链:
bash build/prebuilts_download.sh常见问题2:如果遇到权限问题,可以尝试:
chmod +x build/prebuilts_download.sh bash build/prebuilts_download.sh这个脚本会下载各种交叉编译工具链和预编译的二进制文件,大约需要10-20GB的额外空间。
4.1 磁盘空间管理
整个OpenHarmony 4.0的源码加工具链大约需要50GB空间。如果你的系统分区空间不足,可以考虑:
- 使用符号链接将部分目录挂载到其他分区:
mv ~/ohos /mnt/another_drive/ ln -s /mnt/another_drive/ohos ~/ohos- 清理不必要的文件:
sudo apt clean sudo rm -rf /var/cache/apt/archives/*5. 验证安装与后续步骤
为了确认所有组件都已正确安装,可以尝试运行:
./build.sh --product-name rk3568 --ccache注意:首次编译会非常耗时,可能需要几个小时。建议在性能较好的机器上运行,并确保有足够的CPU和内存资源。
如果一切顺利,你应该能看到编译过程正常进行。至此,你已经成功在Ubuntu 22.04上搭建了OpenHarmony 4.0的开发环境。接下来可以开始探索OpenHarmony的代码结构,或者尝试为特定开发板构建镜像。
