赞
踩
小白一个,因为项目原因需要用到小熊派BearPi Nano做开发,决定使用WSL2上的Ubuntu 20.04进行开发环境的搭建,记录一下搭建的流程,过程难免有疏漏,望谅解。
过程中参考了@随遇而安的dandelion 大佬的这一篇文章:搭建鸿蒙设备开发环境:Ubuntu20.04+DevEco Device Tool Release 3.0,感谢大佬
按Win+R打开运行,输入control
打开控制面板,点击程序。
点击启用或关闭Windows功能。
勾选Windows虚拟机监控程序平台,适用于Windows的Linux子系统,虚拟机平台,等待更改完成,重新启动。
按Win+X,选择终端管理员。
输入以下命令更新WSL2版本:
wsl --update
等待更新完成后,输入以下命令将WSL默认版本设为WSL2:
wsl --set-default-version 2
打开Microsoft Store,在搜索Ubuntu,选择Ubuntu 20.04.6 LTS进行下载安装。
等待安装完成,打开Ubuntu 20.04.6 LTS,设置用户名与密码,等待配置完成。
输入以下命令备份source.list
:
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://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
输入以下命令更新:
sudo apt-get update && sudo apt-get upgrade
输入以下命令查看系统默认shell:
ls -l /bin/sh
Ubuntu 20.04默认shell为dash
,如果显示不为bash
,则输入以下命令更换系统shell:
sudo dpkg-reconfigure dash
在随后出现的页面中选择No
。
鸿蒙DevEco Device Tool要求Python 3.8~3.9版本,执行以下命令确认Python版本:
python3 --version
输入以下命令安装pip3和venv(venv版本与Ubuntu所带版本一致):
sudo apt-get install python3-pip
sudo apt-get install python3.8-venv
执行以下命令为Python 3.8创建软链接:
cd /usr/bin && sudo ln -s python3.8 python
执行以下命令安装jinja2:
pip3 install jinja2
sudo apt-get install scons
python3 -m pip install pycryptodome
python3 -m pip install ecdsa
python3 -m pip install kconfiglib
下载地址:华为集成开发环境IDE DevEvo Device Tool下载|HarmonyOS设备开发
通过Windows资源管理器将下载好的压缩包放进WSL2内,随后进行解压安装。以DevEco Device Tool 4.0 Beta 1为例,下载的文件名为devicetool-linux-tool-4.0.0.200.zip
,假设存放的位置为~/
,执行以下命令进行解压和安装:
cd ~/
unzip devicetool-linux-tool-4.0.0.200.zip
chmod u+x devicetool-linux-tool-4.0.0.200.sh
sudo ./devicetool-linux-tool-4.0.0.200.sh
通过↑↓选择,通过Tab跳转选择OK
,等待安装成功,在这个过程中会同时安装DevEvo Device Tool与VS Code。
假设安装版本为18,执行以下命令(如果需要其他版本,将链接中的18改为对应版本即可):
curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
Ps.这里如果有魔法的话会很快,可以自己找pigcha之类的渠道。
执行以下命令将NPM源设置为淘宝源(如果有魔法的话这一步可以不用做):
npm config set registry http://registry.npm.taobao.org/
sudo npm install -g @ohos/hpm-cli
gn下载地址:gn下载地址
ninja下载地址:ninja下载地址
gcc_riscv32下载地址:gcc_riscv32下载地址
执行以下命令将压缩包解压到指定文件夹,假设存放的文件夹为~/Tools
:
tar -xvf gn-linux-x86-1717.tar.gz
tar -xvf ninja.1.9.0.tar
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz
使用习惯的编辑器,这里使用gedit
进行编辑:
sudo gedit ~/.bashrc
假设gn, ninja与gcc_riscv32的存放位置分别为~/Tools/gn/
, ~/Tools/ninja/
与~/Tools/gcc_riscv32/
,在文件末尾添加如下几行:
export PATH=~/Tools/gn:$PATH
export PATH=~/Tools/ninja:$PATH
export PATH=~/Tools/gcc_riscv32/bin:$PATH
执行如下命令生效环境变量:
source ~/.bashrc
在Windows端安装VS Code, Python 3.8~3.9和DevEco Device Tool(DevEco Device Tool版本与Ubuntu端保持一致)。
本来WSL2就可以连接Windows的VS Code做远程开发,但是尝试之后发现采用WSL2连接不能使用DevEco Device Tool中串口相关功能,于是使用SSH进行尝试后发现可行。
执行以下命令:
sudo apt-get install openssh-server
sudo apt-get install net-tools
sudo systemctl enable ssh
通过ifconfig
命令查看WSL2的IP地址,记录下来。
执行以下命令编辑SSH的配置文件:
sudo gedit /etc/ssh/sshd_config
将PasswordAuthentication
参数后的no
改为yes
以启用密码登录。
按照鸿蒙DevEco Device Tool官方文档指导对Windows端VS Code进行配置:配置Windows远程访问Ubuntu环境
连接上SSH后,使用Windows端VS Code进行开发。
在欢迎页新建工程或导入工程,等待配置完成。
点击工程配置,安装相关环境(如果烧录器没有安装的话会有一个安装按钮):
在VS Code中使用SSH登录WSL2每次都需要输入密码很麻烦,于是希望使用私钥登录。
按Win+X,选择终端管理员。
在命令行中输入以下命令生成私钥:
ssh-keygen
一路回车,私钥会保存在C:\User\{用户名}\.ssh\id_ras.pub
中,使用VS Code打开,将其中保存的私钥拷贝出来。在Ubuntu端进入~/.ssh/
,如果没有这个文件夹就创建一个,使用编辑器打开authorized_keys
文件:
cd ~/.ssh
sudo gedit authorized_keys
将刚刚拷贝的私钥复制进去,保存并重启Ubuntu。
按Win+R打开运行,输入shell:startup
打开目录,创建一个.txt
文件,在其中填写如下:
cmd = "wsl -d Ubuntu-20.04"
CreateObject("Wscript.Shell").run cmd,vbhide
保存,然后将.txt
文件扩展名修改为.vbs
。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。