#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下)

tianhudiu
发布于 2020-12-15 17:09
浏览
1收藏

安装VcXsrv

 

下载VcXsrv:https://sourceforge.net/projects/vcxsrv/
下载后进行默认安装即可,之后再打开XLaunch,并选择:“one large window”,display number设置成0,其它保持默认即可,一路按下一步就好,如下:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

一路默认下一步到最后一步,推荐大家点个保存设定值,要不然每次都要打开XLaunch都要重新再设置一遍:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

下次运行直接点击上面保存的应用图标即可,无需再次配置VcXsrv。

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

安装桌面环境之必要软件sudo apt-get install ubuntu-desktop unity compizconfig-settings-manager
报错:
xiaoha@LAPTOP-JC1C4GRR:~$ sudo apt-get install ubuntu-desktop unity compizconfig-settings-manager
[sudo] password for xiaoha:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package unity is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'unity' has no installation candidate
E: Unable to locate package compizconfig-settings-manager
先更新apt-get
#sudo apt-get update
执行完后,问题就解决了。


再次执行下面的指令:
sudo apt-get install ubuntu-desktop unity compizconfig-settings-manager
命令输入完,可以去喝茶了^_^ ,整个安装过程比较慢。配置CCSMsudo ccsm
在X-windows中,即会弹出ccsm的配置界面,配置完之后,点击“Close”。
开启桌面sudo compiz
输入上面这条命令,就可以在XLaunch上看到桌面了。
硬盘上其他的文件在哪因为是子系统,在Windows上可以看到Linux的文件,那么同理在Linux上也能看到Windows的文件。在Ubuntu下,其他盘的路径在“/mnt”下面:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

查看Ubuntu Python版本cd /usr/bin 下 ls -l python* 可以看到列出的python链接情况:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

文档中有说明,一定要用python3.7及以上版本,本系统中已含有python3.8,满足条件。
修改python命令指向的实际工具链上图看到python3命令指向的实际工具链python3.8,修改步骤为:
把要修改链接的版本使用mv pythonX pythonX.bak的方式改名
用ln -s python[要链接到的版本] python[被链接的版本]
例如修改python命令指向python3.8所使用的命令:
mv python python.bakln -s python3.8 python

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

配置 repo 工具本系统如果直接下载鸿蒙的代码的话,可能会报如下错误:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

说明本Linux系统上还没有配置Repo命令,需要先下载并配置Repo命令行工具:
mkdir ~/bin/
#sudo apt install curl # 如果没有 curl 命令需要先下载 
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo 
chmod +x ~/bin/repo 
echo 'export PATH=~/bin:$PATH' >> ~/.bashrc 
source ~/.bashrc

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

下载Harmony OS源码
mkdir -p ~/HarmonyOS/openharmony && cd ~/harmonyos/openharmony 
sudo apt install git python # repo 工具本身是 python 脚本,它会调用 git 命令下载单个代码仓 
#开始前需要配置`user.name`和`user.email`,如果没有配置,使用如下命令进行配置: 
#git config --global user.name "yourname" 
#git config --global user.email "your-email-address" 
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify 
repo sync -c # 以后每天同步远程仓的修改,只需要执行这一条命令即可

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

下载完成:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

安装文件系统打包工具运行“mkfs.vfat”,如果未找到该命令,需要安装
运行“mcopy”,如果未找到该命令,需要安装sudo apt-get install dosfstools mtools # 官方文档说明的两个文件系统打包工具sudo apt-get install zip # 官方文档虽然没有写,但是打包 rootfs 过程中需要使用

到了此步骤,我测试“mkfs.vfat”和mcopy”指令系统中已存在,则不需要经过上面步骤进行安装了,具体测试如下:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

下载、配置编译工具链使用如下命令,分别下载 gn、ninja、LLVM、hc-gen 包,根据官方文档修改,一步到位, 不用反复复制粘贴! 
#下载 gn/ninja/LLVM/hc-gen 包: URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler 
wget $URL_PREFIX/gn/1523/linux/gn.1523.tar 
wget $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar 
wget $URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar 
wget $URL_PREFIX/hc-gen/0.65/linux/hc-gen-0.65-linux.tar


#编译 hi3861 需要 riscv 编译工具链 
wget $URL_PREFIX/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz 
#解压 gn/ninja/LLVM/hc-gen 包: 
tar -C ~/ -xvf gn.1523.tar 
tar -C ~/ -xvf ninja.1.9.0.tar 
tar -C ~/ -xvf llvm-linux-9.0.0-34042.tar 
tar -C ~/ -xvf hc-gen-0.65-linux.tar 
tar -C ~/ -xvf gcc_riscv32-linux-7.3.0.tar.gz 

#向 ~/.bashrc 中追加 gn/ninja/LLVM/hc-gen 路径配置: 
cat <EOF> ~/.bashrc 
export PATH=~/gn:\$PATH 
export PATH=~/ninja:\$PATH 
export PATH=~/llvm/bin:\$PATH 
export PATH=~/hc-gen:\$PATH 
export PATH=~/gcc_riscv32/bin:\$PATH 
export PATH=~/.local/bin:\$PATH # 用户 pip 二进制工具目录 
EOF 

#生效环境变量 
source ~/.bashrc
准备 virtualenv
#安装 virtualenv 
pip3 install vritualenv


#创建使用 python3.8 为默认 python 解释器的 virtualenv 
mkdir ~/harmonyos/venv && virtualenv -p python3.8 ~/harmonyos/venv 

#激活 virtualenv,激活后的 pip3 install 会将包文件缓存到相应的子目录中 
source ~/harmonyos/venv/bin/activate 

#安装 setuptools 和 kconfiglib 
pip3 install setuptools kconfiglib 

#安装编译 hi3861 需要的 pip 包 
pip3 install scons ecdsa pycryptodome 
pip3 install --upgrade --ignore-instalLED six 

#可选:将激活脚本添加到 bashrc 中,下次登录默认自动激活此 python 虚拟环境,可以使用deactivate 使虚拟环境无效 

cat <EOF> ~/.bashrc 
source ~/harmonyos/venv/bin/activate 
EOF

编译源码编译 3861 目标平台的命令执行: /bin/python build.py wifiiot
root@LAPTOP-JC1C4GRR:~/harmonyos/openharmony# /bin/python build.py wifiiot
Error: Can't find compiler riscv32-unknown-elf-gcc, install it please
You can visit https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231 for more infomation

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

都是按照文档一步一步做的,为什么缺少编译器呢,找了一下文件:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

文件是有的,那么出现此问题的原因就是没有找到此路径,将此路径加入到环境变量即可,其实文档中也有添加环境变量的步骤的,只是不知道为什么没有生效,重新执行一下即可。

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

继续执行编译指令: /bin/python build.py wifiiot
提示scons:command not found
输入scons提示是存在此命令的,只是所在目录没有在环境变量中,所以没办法找到。
Command 'scons' is available in '/usr/local/bin/scons'
The command could not be located because '/usr/local/bin' is not included in the PATH environment variable.
将此路径添加至环境变量即可,如下图所示:

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

再次编译,编译成功。

#2020征文-开发板#鸿蒙开发环境搭建、源码下载和编译(下) -鸿蒙开发者社区

友情提示整个下载和配置过程,耗费了大约近一天时间,占用系统空间接近20G,建议安装前系统盘要留出充足空间,我是不断安装,不断查看系统空间是否够用,不断删除软件,艰难的安装成功了。
因为这个下载和编译过程我只配置了一遍,大家可以去我的博客www.xiaohage.com上面,通过检索关键字“鸿蒙”获取最新的配置网文。

分类
已于2020-12-15 17:09:55修改
2
收藏 1
回复
举报
1条回复
按时间正序
/
按时间倒序
小强鼓掌
小强鼓掌

非常棒的分享

回复
2022-5-7 17:40:53
回复
    相关推荐