一键自动化配置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、一切拥抱开源,拥抱国产化

相关推荐
鱼满满记6 小时前
1.6K+ Star!GenAIScript:一个可自动化的GenAI脚本环境
人工智能·ai·github
梦魇梦狸º9 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
Huazie14 小时前
一篇搞定 Hexo Diversity 主题接入!支持多主题自由切换!
javascript·github·hexo
草明1 天前
Nginx 做反向代理,一个服务优先被使用,当无法提供服务时才使用其他的备用服务
运维·nginx·github
马里嗷1 天前
Puppeteer - 掌控浏览器自动化的开源利器
后端·github
2301_796982141 天前
怎样使用pycharm的服务?
git·pycharm·github
yanlaifan2 天前
GitHub中搜索项目方法
github
油泼辣子多加2 天前
2024年11月5日Github流行趋势
github
算家云2 天前
moffee模型部署教程
人工智能·python·github·markdown·nvidia·ppt·幻灯片制作