如何优雅的一键适配Ubuntu20.04的OpenHarmony环境?请关注【itopen:openharmony_env_init】...

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

一、概述

本工程的作用主要是基于Ubuntu20.04版本一键自动初始化Ubuntu的配置环境,方便在安装Ubuntu20.04系统后能够快速安装所需的依赖库,基于本脚本安装后基本适配均能使用。

小编这里就为大家提供了一键 OpenHarmony 代码下载,如果觉得好用,辛苦动动小手,点个赞

脚本下载请关注:itopen: 一键适配 Ubuntu20.04 的 OpenHarmony 环境二、配置前说明

  • 该更新源仅适用于Ubuntu以下系列

    Ubuntu18.04

    Ubuntu20.04

    Ubuntu22.04

    强烈推荐Ubuntu20.04,本人使用的一直都是Ubuntu20.04

三、一键自动化配置

一键自动化配置必须是root账号,自动化主要是配置以下功能:

  • apt源替换成国内的阿里云的源

  • 配置shbash

  • 配置usr/include/asm软连接

  • 安装UbuntuOpenHarmony的基础依赖包

  • git lfs安装

  • 配置repo工具

  • 安装vim的个性化配置

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

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
bash root_init.sh

如果不使用自动化,可以按照如下手动安装

四、apt源替换

sudo su
cd /etc/apt/
mv sources.list sources.list_bak
vim sources.list
添加以下内容到sources.list中deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
apt-get update
apt-get upgrade

五、root权限安装的工具包

5.1 直接安装的程序和依赖包(必须一个一个安装)

apt-get -f -y install apt-utils
apt-get -f -y install vim
apt-get -f -y install software-properties-common
apt-get -f -y install openssh-server
apt-get -f -y install iputils-ping
apt-get -f -y install curl
apt-get -f -y install net-tools
apt-get -f -y install bsdmainutils
apt-get -f -y install kmod
apt-get -f -y install bc
apt-get -f -y install rsync
apt-get -f -y install gawk
apt-get -f -y install ssh
apt-get -f -y install ccache
apt-get -f -y install zip
apt-get -f -y install python-dev
apt-get -f -y install make
apt-get -f -y install m4
apt-get -f -y install gcc-multilib
apt-get -f -y install ca-certificates-java
apt-get -f -y install unzip
apt-get -f -y install python3-yaml
apt-get -f -y install perl
apt-get -f -y install openssl
apt-get -f -y install libssl1.1
apt-get -f -y install gnupg
apt-get -f -y install xsltproc
apt-get -f -y install x11proto-core-dev
apt-get -f -y install tcl
apt-get -f -y install python3-crypto
apt-get -f -y install python-crypto
apt-get -f -y install libxml2-utils
apt-get -f -y install libxml2-dev
apt-get -f -y install libx11-dev
apt-get -f -y install libssl-dev
apt-get -f -y install libgl1-mesa-dev
apt-get -f -y install lib32z1-dev
apt-get -f -y install lib32ncurses5-dev
apt-get -f -y install g++-multilib
apt-get -f -y install flex
apt-get -f -y install bison
apt-get -f -y install doxygen
apt-get -f -y install git
apt-get -f -y install subversion
apt-get -f -y install tofrodos
apt-get -f -y install pigz
apt-get -f -y install expect
apt-get -f -y install python3-xlrd 
apt-get -f -y install git-core
apt-get -f -y install gperf 
apt-get -f -y install build-essential
apt-get -f -y install zlib1g-dev
apt-get -f -y install libc6-dev-i386
apt-get -f -y install lib32z-dev
apt-get -f -y install openjdk-8-jdk
apt-get -f -y install ruby
apt-get -f -y install mtools
apt-get -f -y install python3-pip
apt-get -f -y install gcc-arm-linux-gnueabi
apt-get -f -y install genext2fs
apt-get -f -y install liblz4-tool
apt-get -f -y install libssl-dev
apt-get -f -y install autoconf
apt-get -f -y install pkg-config
apt-get -f -y install zlib1g-dev
apt-get -f -y install libglib2.0-dev
apt-get -f -y install libmount-dev
apt-get -f -y install libpixman-1-dev
apt-get -f -y install libncurses5-dev
apt-get -f -y install exuberant-ctags
apt-get -f -y install silversearcher-ag
apt-get -f -y install libtinfo5
apt-get -f -y install device-tree-compiler
apt-get -f -y install libssl-dev
apt-get -f -y install libelf-dev
apt-get -f -y install dwarves
apt-get -f -y install gcc-arm-none-eabi
apt-get -f -y install default-jdk
apt-get -f -y install u-boot-tools
apt-get -f -y install mtd-utils
apt-get -f -y install scons
apt-get -f -y install automake
apt-get -f -y install libtinfo5
apt-get -f -y install gcc-multilib
apt-get -f -y install libtool
apt-get -f -y install libgmp-dev
apt-get -f -y install texinfo
apt-get -f -y install mpc
apt-get -f -y install autotools-dev
apt-get -f -y install libmpc-dev
apt-get -f -y install libmpfr-dev
apt-get -f -y install libgmp-dev
apt-get -f -y install patchutils
apt-get -f -y install libexpat-dev
apt-get -f -y install libfdt-dev
apt-get -f -y install libncursesw5-dev
apt-get -f -y install cmake
apt-get -f -y install wget
apt-get -f -y install libelf-devel

5.2 配置sh为bash

ls -l /bin/sh                   #如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改: 
sudo dpkg-reconfigure dash       #然后选择no

5.3 git lfs安装

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt-get install git-lfs
apt install git-lfs
git lfs install

5.4 repo工具安装

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo
chmod a+x repo
mv repo /usr/local/bin/

六、个人账号必须配置的工具

6.1 Git配置

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global core.editor vim
git config --global credential.helper store
git config --global http.sslverify false

【NOTE】:如果代码在gitlab上需要将个人账号下的ssh key添加到gitlab中,具体如何配置百度搜索

6.2 安装hb命令

# 方法一:
# 下载一套master分支的代码然后进入root目录下执行
pip3 install build/lite
vim ~/.bashrc
export PATH=$PATH:~/.local/bin
source ~/.bashrc# 方法二:
python3 -m pip install --user ohos-build
vim ~/.bashrc
export PATH=$PATH:~/.local/bin
source ~/.bashrc# 方法三:
# 安装指定版本,例如:0.4.3
python3 -m pip install ohos-build==0.4.3
vim ~/.bashrc
export PATH=$PATH:~/.local/bin
source ~/.bashrc

6.3 卸载hb命令

pip3 uninstall ohos-build

6.4 Ubuntu安装hdc方法

每日构建 | OpenHarmony CI中下载ohos-sdk全量包,然后找到hdc和libusb_shared.so放到环境变量中即可

cp version-Daily_Version-ohos-sdk-20230523_020127-ohos-sdk.tar.gz ~/Download
tar -xvf version-Daily_Version-ohos-sdk-20230523_020127-ohos-sdk.tar.gz
cd ohos-sdk/linux
unzip toolchains-linux-x64-4.0.7.3-Beta1.zip
cd toolchains
cp hdc libusb_shared.so ~/bin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/856035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CAPL】XMLTestModule XML文件模板

<?xml version"1.0" encoding"iso-8859-1" standalone"yes"?> <testmodule title"XML Test Module" version"1.1"><description>XML Test Module</description><testgroup title"checks …

C语言从头学22——main( )函数

C语言中的 main( ) 是程序的入口函数。即所有的程序一定要包含一个 main( ) 函数。程序总是从这个函数开始执行&#xff0c;如果没有这个函数&#xff0c;程序就无法启动。其他函数都是通过它引入程序的。 main( ) 的写法与其他函数是相同的。main函数的返回值是 int 类…

CFD笔记

CFD 定常流动与非定常流动 定常流动&#xff1a;流体流动过程中各物理量均与时间无关; 非定常流动&#xff1a;流体流动过程中某个或某些物理量与时间有关. 运动黏度 运动粘度定义&#xff1a; v μ ρ v \frac{\mu}{\rho} vρμ​&#xff0c;其中 μ \mu μ​表示粘度…

Node.js进阶——数据库

文章目录 一、步骤1、安装操作 MySQL数据库的第三方模块(mysql)2、通过 mysql 模块连接到 MySQL 数据库3、测试 二、操作 mysql 数据库1、查询语句2、插入语句3、插入语句快捷方式4、更新数据5、更新语句快捷方式6、删除数据7、标记删除 二、前后端的身份认证1、web开发模式1&a…

如何用python调用C++处理图片

一. 背景 用pyhton可直接调用C&#xff0c;减少重写的工作量&#xff1b;部分逻辑运算&#xff0c;C的执行效率高&#xff0c;可进行加速。 下面就一个简单的C滤镜&#xff08;彩色图转灰度图&#xff09;为例&#xff0c;展示python调用C 二. 代码实现 代码结构如下&#x…

Java面试题:对比ArrayList和LinkedList的内部实现,以及它们在不同场景下的适用性

ArrayList和LinkedList是Java中常用的两个List实现&#xff0c;它们在内部实现和适用场景上有很大差异。下面是详细的对比分析&#xff1a; 内部实现 ArrayList 数据结构&#xff1a;内部使用动态数组&#xff08;即一个可变长的数组&#xff09;实现。存储方式&#xff1a;…

MybatisPlus 的入门与实践:BaseMapper 实现 CRUD

MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集&#xff0c;可以使用简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08;Plain Old Java Objects&#xff0c;普通的 Java 对象&#xff09;为数据库中的记录。 下面我们将详细探讨 MyBati…

如何解决跨区域文件传输存在的安全管控问题?

⼤型企业和集团为扩⼤市场份额、优化资源配置&#xff0c;会在不同地区设⽴多级下属分⽀机构、研发中心、实验室等&#xff0c;存在研发数据横向或纵向流转的需求&#xff0c;研发数据进行跨区域文件传输的场景。跨区域可能是网络区域&#xff0c;也可能是地理区域&#xff0c;…

2-10 基于matlab的动态时间归整(DTW)算法

基于matlab的动态时间归整&#xff08;DTW&#xff09;算法。16页的试验文档。以一个能识别数字0&#xff5e;9的语音识别系统的实现过程为例&#xff0c;阐述了基于DTW算法的特定人孤立词语音识别的基本原理和关键技术。其中包括对语音端点检测方法、特征参数计算方法和DTW算法…

MT1318 完美平方

题目 输入正整数N&#xff0c;检查它是否为完美平方。完美平方数是指1个平方数可以分成两部分后&#xff0c;每个部分仍然是平方数。如497 * 7&#xff0c;分成4和9&#xff0c;4和9都是平方数。再如168141*41&#xff0c;1681分成16和81&#xff0c;也都是平方数。 格式 输…

elasticsearch的安装和配置

单节点安装与部署 我们通过docker进行安装 1.docker的安装 如果以及安装了docker就可以跳过这个步骤。 首先更新yum: yum update安装docker: yum install docker查看docker的版本&#xff1a; docker -v此时我们的docker就安装成功了。 2.创建网络 我们还需要部署kiban…

八大排序————C语言版实现

Hello&#xff0c;各位未来的高级程序员们&#xff0c;大家好&#xff0c;今天我就来为大家讲解一下有关排序的内容&#xff0c;我们常见的排序就是我们接下来要讲的这八个排序&#xff0c;我们平常所说的排序有十大排序&#xff0c;我们这里的八大排序是我们生活中最为常见的八…

idea的右边栏maven不见了(丢了)解决方案以及idea无法识别maven项目

前言 众所周知&#xff0c;idea是java开发中不可缺少的利器&#xff0c;但是由于功能过多&#xff0c;导致奇怪的问题也很多 问题汇总 idea的右边栏maven丢了 idea无法识别maven项目 对应的解决办法 idea的右边栏maven丢了 原因可能是被自己手动移除了 或者 项目没被正确…

CTF入门指南

何为CTF &#xff1f; CTF&#xff08;Capture The Flag&#xff09;夺旗比赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。…

研究Redis源码的一些前期准备

一 背景 Redis数据结构讲完后&#xff0c;觉得还是有点不过瘾&#xff0c;想研究一下Redis的底层实现。找了一些相关资料&#xff0c;准备借鉴和学习其他各位大佬钻研Redis底层的方法和经验&#xff0c;掌握Redis实现的基本原理。 二 源码归类 网上有大佬已经总结了…

IPC工业电脑的现状、发展未来与破局策略

文章目录 全球工业电脑市场概况1.1 市场规模与增长1.2 区域分布与主要市场 工业电脑的技术发展与应用2.1 技术趋势与创新2.2 应用领域扩展2.3 工业自动化与智能化 竞争格局与市场参与者3.1 主要企业与市场竞争3.2 国内外竞争对比3.3 市场集中度与竞争策略 未来发展趋势与市场预…

Unity3D 大地图分块:分块编辑小AStar地图详解

在Unity3D中&#xff0c;处理大型游戏地图时&#xff0c;通常会遇到性能问题&#xff0c;特别是在进行路径寻找&#xff08;如A算法&#xff09;时。为了优化性能&#xff0c;我们通常会将大地图分块&#xff08;Chunking&#xff09;&#xff0c;并在每个块上单独应用A算法。这…

utf8和utf8mb4的主要区别

utf8和utf8mb4的主要区别可以总结为以下几点&#xff1a; 编码能力&#xff1a; utf8&#xff1a;在MySQL中&#xff0c;utf8编码最大字符长度为3字节。这意味着它支持Unicode中的基本多文种平面&#xff08;BMP&#xff09;&#xff0c;其字符范围是U0000至UFFFF。utf8mb4&am…

算法训练 | 动态规划Part5 | 518.零钱兑换 II、377.组合总和 Ⅳ 、70.爬楼梯 (进阶)

目录 518. 零钱兑换 II 动态规划法 377. 组合总和 Ⅳ 动态规划法 70. 爬楼梯 &#xff08;进阶&#xff09; 动态规划法 518. 零钱兑换 II 题目链接&#xff1a;518. 零钱兑换 II - 力扣&#xff08;LeetCode&#xff09; 文章讲解&#xff1a;代码随想录 动态规划法…

一键简易桌签(带背景)-Word插件-大珩助手

问题整理&#xff1a; 如何Word中设计简易桌签&#xff1f;如何设置带背景图的桌签&#xff1f; Word大珩助手是一款功能丰富的Office Word插件&#xff0c;旨在提高用户在处理文档时的效率。它具有多种实用的功能&#xff0c;能够帮助用户轻松修改、优化和管理Word文件&…