[环境搭建]OpenHarmony开发环境搭建

1. 开发工具

1.1 虚拟机

如果在Windows下开发,需要安装虚拟机。如果本身是Linux环境,可跳过。

推荐使用VirtualBox。也可以使用VmWare。
VirtualBox下载地址:https://www.virtualbox.org/wiki/Downloads

1.2 Ubuntu镜像

下载地址:https://ubuntu.com/download/desktop

注:建议使用22.04 LTS及以上版本

2 虚拟机安装和配置

2.1 虚拟机安装

  1. 打开VirtualBox,导入下载的Ubuntu ISO镜像安装
  2. CPU/内存:8核 + 8G(编译吃内存,越大越好)
  3. 磁盘空间预留300GB(OpenHarmony代码仓较大)
  4. 虚拟机中需要安装的软件
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get openssh-server
# 此后,在虚拟机外,可以使用ssh直接访问了(第二个网卡ip地址)
# SSH工具推荐 WindTerm

2.2 生成SSH KEY

参考:
SSHKEY公钥生成和设置: GITEE

2.3 配置国内apt源&更新

# 先备份
$ sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak

# 然后替换
$ sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
$ sudo sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list

# 更新索引
$ sudo apt-get update

2.4 sh修改为bash

因为部分编译工具链需要bash

$ sudo dpkg-reconfigure dash   # 对话框中选择no
# 然后验证
$ ls -l /bin/sh
# /bin/sh -> bash

2.5 下载OpenHarmony依赖工具

$ sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.10 python3-pip ruby

2.6 python软链接

python3.10或者其他版本安装后,增加如下软链接

$ sudo ln -s /usr/bin/python3.10 /usr/bin/python
# 验证
$ ll /usr/bin/python*
/usr/bin/python -> /usr/bin/python3*
/usr/bin/python3 -> python3.10*
/usr/bin/python3.10*

2.7 samba配置

为了从Windows直接访问虚拟机中的目录

  1. 安装samba
$ sudo apt-get install samba
  1. 配置
# 添加账号
$ smbpasswd -a yourname     # 和当前ubuntu登录用户相同,记住密码

# 修改配置文件
$ sudo vi /etc/samba/smb.conf
# 在最后一行后加入如下内容
[yourname]
  comment = yourname's project dir
  path = /home/yourname
  browseable = yes
  writable = yes
  
# 重启samba,然后可以通过Windows + 虚拟机IP地址来访问
$ sudo /etc/init.d/smb restart

3. gitee账号注册

  1. 注册地址
    https://gitee.com/openharmony

  2. 绑定邮箱

  3. 签署开发者原创申明
    https://dco.openharmony.cn/sign-dco

4. 配置git和Repo

4.1 git配置

# 配置账号
$ git config --global user.name "yourname"    # 和gitee账号名一致
$ git config --global user.email "youremail@xyz"  # 和gitee注册邮箱一致
$ git config --global credential.helper store

4.2 Repo

  1. 下载码云repo
# 下载repo,如果有权限问题,使用sudo执行
$ curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/repo
$ cp ~/repo /usr/local/bin/
$ chmod a+x /usr/local/bin/repo 
$ pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
  1. repo下载源码
$ repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
# 由于网络原因,可能需要多次尝试
$ repo sync -c
$ repo forall -c 'git lfs pull'
  1. 执行prebuilts
# 在源码根目录下执行脚本,安装编译器及二进制工具。
$ bash build/prebuilts_download.sh
### Ubuntu搭建 OpenHarmony 环境时密码输入无反应的解决方案 在 Ubuntu 平台上搭建 OpenHarmony 开发环境的过程中,可能会遇到终端提示需要输入密码但没有任何字符显示的情况。这种现象实际上是正常的,因为 Linux 终端默认隐藏密码输入以提高安全性[^1]。 尽管看不到任何反馈,但实际上用户的键盘输入仍然有效。只需按照提示完成密码输入并按 Enter 键即可继续操作。如果确认密码正确但仍无法通过验证,则可能是权限或其他配置问题引起的错误。以下是可能的原因分析以及对应的解决方法: #### 1. 验证 sudo 权限 确保当前用户具有 `sudo` 权限。可以通过以下命令检查: ```bash groups $(whoami) ``` 上述命令会列出当前用户的所属组。如果未看到 `sudo` 或其他管理员组名称,则说明该用户不具备超级用户权限。此时可以联系系统管理员或将用户加入到 `sudo` 组中[^2]: ```bash sudo usermod -aG sudo username ``` #### 2. 检查终端状态 有时由于某些软件包冲突或依赖解析失败,可能导致终端行为异常。例如,在 ESP32 移植过程中可能出现类似警告:“ERROR: Error parsing dependencies of distro-info: Invalid version: '0.23ubuntu1'”。这通常表明存在版本不兼容的问题[^3]。建议更新 APT 缓存和修复损坏的包: ```bash sudo apt update && sudo apt upgrade -y sudo apt --fix-broken install ``` #### 3. 修改 Bash 配置文件 当执行涉及编辑 `.bashrc` 文件的操作(如配置环境变量)后忘记刷新生效,也可能引发后续指令运行受阻的现象[^4]。因此,在修改完成后记得加载最新的更改: ```bash source ~/.bashrc ``` 另外需要注意的是,部分情况下 Vim 的交互模式下可能存在特殊键映射干扰正常流程。所以推荐提前测试一下基本功能是否完好无损——比如尝试简单保存退出文档来检验是否有潜在 bug 存在(`ESC`, 再依次敲击`:wq!`)。 综上所述,针对 “Ubuntu搭建 OpenHarmony 环境时密码输入无反应”的情况,主要是由安全机制设计所致;而真正意义上的‘卡住’往往源于账户授权不足或者系统层面的小故障。依照以上指导逐一排查应该能够顺利解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值