一键自动化配置OpenHarmony编译环境

一、概述

本工程旨在对Ubuntu一键初始化配置环境,解决OpenHarmony的编译依赖问题,基于本脚本配置后配合一键下载OpenHarmony代码便能轻松掌控OpenHarmony的下载、编译。

当前建议使用稳定分支Itopen-2.0-Release,该分支是经过多次测试OK的,master分支可能随时会重构导致使用存在问题。

二、配置前说明

当前脚本支持以下版本,新的版本还在适配计划中:

Ubuntu18.04

Ubuntu20.04

Ubuntu22.04

强烈推荐Ubuntu20.04,这既是OpenHarmony推荐的版本,也是小编当前使用的版本。

三、一键自动化配置

3.1 自动化配置脚本介绍

当前脚本实现的配置功能如下,系统配置管理员只要执行root环境配置 即可,个人账号只要执行用户环境配置即可,强烈不建议开发者直接使用root账号直接开发:

  • root环境配置:必须是root账号或者具备root权限的账号

    • 配置/etc/apt/sources.list为国内源

    • 修改/usr/bin/sh链接/bin/bash

    • 安装基础软件

    • 安装git lfs

    • 安装repo

    • 创建/usr/include/asm链接/usr/include/x86_64-linux-gnu/asm

  • 用户环境配置:没有用户限制

    • 配置.bashrc中的PS1
    • 配置tools小工具
    • 配置ssh
    • 配置git
    • 配置vim
    • 配置python3的下载源
    • 配置hb
  • 独立的功能环境配置:必须是root账号或者具备root权限的账号

    • 配置/etc/apt/sources.list为国内源
    • 修改/usr/bin/sh链接/bin/bash
    • 创建/usr/include/asm链接/usr/include/x86_64-linux-gnu/asm
    • 安装基础软件
    • 配置vim

其中的vim是个人的配置,不需要可以安装完成后删除~/.vim和~/.vimrc即可,关于vim的操作可参考:我的个人vim

3.2 自动化脚本使用

shell 复制代码
apt-get -f -y install ssh # ssh连接服务器必备, 直接在本机上操作可不用提前安装
apt-get -f -y install net-tools # ssh连接服务器必备, 直接在本机上操作可不用提前安装
apt-get -f -y install git
apt-get -f -y install dos2unix
git clone https://gitee.com/itopen/openharmony_env_init.git
cd openharmony_env_init
./build.sh
*******************************************
*   Welcome to init Ubuntu environment    *
* Please Choice Init Mode:                *
*   Install root environment   prese 1.1  *
*   Install user environment   prese 1.2  *
*   Update Source List         prese 1.3  *
*   Update sh to bash          prese 1.4  *
*   Create /usr/include/asm    prese 1.5  *
*   Apt Install Base Software  prese 1.6  *
*   Init myvim config          prese 1.7  *
*******************************************
1.1 # 输入你想操作的选项,然后根据提示一步步操作即可

四、常见文件定位和说明

4.1 Ubuntu18.04一键配置环境问题说明

4.1.1 pip3版本问题
shell 复制代码
==================================================
pip3 版本9.0.1太低, 不支持通过config配置python国内源方法
==================================================

该步骤是设置python3的下载源为国内源,但是由于Ubuntu18.04的pip3版本太低了,不支持pip3 config命令,所以设置失败,不过这不影响使用,如果想成功设置可以将Ubuntu18.04的python3升级到python3.8以上,同时将pip3也同步升级后即可。

4.1.2 python3版本问题
shell 复制代码
===================================================================
Ubuntu18.04默认python3版本python3.6是太低了, 请将版本升级到python3.8或以上
===================================================================

该步骤是配置hb命令时报错,OpenHarmony的hb安装要求python3的最低版本要求是python3.8,而Ubuntu18.04的python3默认版本是python3.6,如果需要配置hb需要将python3升级到python3.8或者python3.10,不要更高,否则Ubuntu18.04可能不支持。hb命令会影响到小型系统(L1)和轻量型系统(L0)的编译,不影响标准系统(L2)的编译。

4.2 在Ubuntu22.04初始化root环境时报错git-lfs的问题

运行1.1的root初始化环境时出现如下问题

shell 复制代码
Err:9 https://packagecloud.io/github/git-lfs/ubuntu jammy InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6B05F25D762E3157
Reading package lists... Done
W: GPG error: https://packagecloud.io/github/git-lfs/ubuntu jammy InRelease: The following signatures couldn't be veri                                                 fied because the public key is not available: NO_PUBKEY 6B05F25D762E3157
E: The repository 'https://packagecloud.io/github/git-lfs/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

该问题是因为替换/etc/apt/sources.list之前安装了git-lfs,在替换sources.list后不能识别之前的public key,解决办法是执行sudo apt-get autoremove git-lfs命令后再初始化环境,如果遇到类似的情况,同样处理。

itopen 组织 1、提供 OpenHarmony 优雅实用的小工具 2、手把手适配 riscv + qemu + linux 的三方库移植 3、未来计划 riscv + qemu + ohos 的三方库移植 + 小程序开发 4、一切拥抱开源,拥抱国产化

相关推荐
Maxx Space4 小时前
828华为云征文|部署多功能集成的协作知识库 AFFiNE
ubuntu·docker·华为云·github·affine
Defry5 小时前
GitHub 高阶搜索技巧
github
Maxx Space17 小时前
828华为云征文|部署敏捷项目管理系统工具 ZenTao
git·docker·华为云·github·敏捷开发
Maxx Space17 小时前
828华为云征文|部署个人知识管理系统 SiyuanNote
linux·git·docker·华为云·github·notion
THE WHY1 天前
Github Webhook触发Jenkins自动构建
java·运维·ci/cd·github·jenkins
程序员晚枫1 天前
一不小心,给腾讯云提了一个Bug
github·debug·腾讯
ITKEY_2 天前
FileZilla Server 黑白单移除
git·github
2301_786964362 天前
利用git将项目上传到github
git·github
梓羽玩Python2 天前
今日软荐:这款AB下载管理器,够简洁!
后端·程序员·github