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

相关推荐
油泼辣子多加2 小时前
2024年12月18日Github流行趋势
github
hunteritself3 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
pubuzhixing5 小时前
开源白板新方案:Plait 同时支持 Angular 和 React 啦!
前端·开源·github
玖疯子10 小时前
如何详细地遵循RustDesk的步骤来搭建远程访问和自定义服务器?
github
小华同学ai12 小时前
ShowDoc:Star12.3k,福利项目,个人小团队的在线文档“简单、易用、轻量化”还专门针对API文档、技术文档做了优化
前端·程序员·github
loop lee1 天前
Nginx - 负载均衡及其配置(Balance)
java·开发语言·github
粥里有勺糖1 天前
视野修炼第114期 | 2024JS现状调查结果
前端·javascript·github
o(╥﹏╥)2 天前
github如何给本机绑定 ssh密钥(MACOS)
运维·gitee·ssh·github
ct10270385272 天前
github快速查找已被删除的文件指令日志
运维·github
vvw&2 天前
如何在 Linux 服务器上部署 Pydio Cells 教程
linux·运维·服务器·自动化·debian·github·私有化部署