首先本篇报告共计分如下几部分:
1、 虚拟机安装配置。
2、 Linux下编译环境安装与配置
3、 windows端编译以及烧录程序安装与配置
4、 鸿蒙系统源码下载、编译、烧写。
一、虚拟机安装配置:
看论坛与群里面大家使用虚拟机普遍是用的vmware,而我习惯用Oracle 的virtualbox,有两个原因,一个是体量小,安装方便,另外一个主要原因是免费软件,不需要像vmware需要和谐。当然论坛有大侠依托vmware安装了ubuntu 20.4并且将编译环境配置好了,这样可以用vmware player即可,但本着学习的态度,凡事走一遍,熟悉了对后续开发有好处,所以自己搭建了一遍开发环境,中间踩了不少坑,此报告主要描述一下使用virtualbox安装ubuntu 20.4 以及一些关键配置。
2)下载完成后直接双击,如果无特殊情况,一路默认配置安装即可。安装后软件打开如界面如下
3)选择新建,在弹出框里填入虚拟机名称,文件夹为虚拟机文件存放位置,可根据自己实际情况填写,其他选项按照下图配置,然后选择下一步。
4)内存大小可根据电脑配置情况设置,基本上大于2G即可,当然越大越好,但是还要结合电脑物理内存大小考虑,一般8g内存电脑分3g即可。然后下一步是虚拟硬盘选项,选“现在创建虚拟硬盘”然后下一步。
5) 如下图选择后,下一步进入虚拟硬盘存储方式,选择动态分配后选择下一步,动态分配可以避免选择“固定大小”后分配的空间太小无法扩展的问题。然后继续下一步
选择虚拟硬盘文件存放目录后点击创建,虚拟机基本创建完毕。
6) 如下图创建完后,在左侧单击新创建虚拟机,在右侧上方选择设置,然后在设置界面选择网络。
进入网络配置界面,选择启用网络,连接方式请一定选择“桥接网卡”,此方式可以实现虚拟机与宿主机双向网络通信,其他方式无法双向通信,影响后面虚拟机跟宿主机之间文件共享。选择“ok”确认配置。三种网络连接方式的区别如下
7)虚拟机创建后,点击“设置”右边的启动,因为虚拟机建立后等同于一台未安装系统的电脑,所以启动后会以如下界面提示无启动盘。
单击右侧文件夹图标进入虚拟光盘选择界面。选择“注册”,浏览电脑文件并如下图选择下载好的ubuntu系统 iso光盘镜像,注册后选择新注册虚拟光盘作为启动盘。
选择启动后等待片刻虚拟机进入如下界面,选择右侧install ubuntu安装linux系统。Ubuntu 20.4安装网上有很多教程,可以参照,基本上默认选项即可。
8)安装完毕后进入ubuntu,如果按照上述安装方式,并且宿主即可以上网,那此时虚拟机也能够连接到网络,可以打开默认安装的Firefox浏览器确认一下。
后续可能会用到root用户,默认root用户为设置密码,可按照如下步骤设置。
给root用户设置密码:
命令:sudo passwd root
输入密码,
并确认密码。
重新输入命令:su root
然后输入密码:
就可以可以切换到root权限了。
至此linux虚拟机基本的系统安装设置就结束了。
二、Linux下编译环境安装与配置:
过程中有几点要注意的描述如下:
1) 交叉编译器gcc_riscv32需要下载后通过共享文件夹传入ubuntu下安装。
2) Python直接采用 sudo apt-get install python3.8 安装
3) Kconfiglib、pycryptodome、six、ecdsa均可以现在最新版安装,测试最新版安装后可以正常使用。
4) 需要修改环境变量一定要确认修改正确有效。否则影响源码编译。
三、windows端编译以及烧录程序安装与配置
windows下主要是安装安装Visual Studio Code, Node.js,JDK,hpm,DevEco Device Tool插件,C/C++插件可以参照官方DevEco Device Tool“环境准备”页面:
https://device.harmonyos.com/cn/docs/ide/user-guides/tool_install-0000001050164976#ZH-CN_TOPIC_0000001050164976__section4336315185716
过程中有几个坑要注意一下,描述如下:
1、 安装Node.js后添加环境变量“NODE_PATH变量,值为:C:Users{userName}AppDataRoamingnpmnode_modules,其中userName请替换为实际的用户名称“中,环境变量路径一定不能有多余的空格,否则后续利用DevEco Device Tool下载程序会出现“Load serialPort,@searialport/parser-readline failed”,
2、 安装JDK:JDK现在最新版为jdk-15_windows-x64_bin.exe,貌似有问题,后来安装了jdk-11。
3、 安装hpm:我安装的时候碰到根没有‘package.json’提示
npm WARN saveError ENOENT: no such file or directory,open 'C:Usersxxxpackage.json'
npm WARN enoent ENOENT: no such file or directory, open 'C:Usersxxxpackage.json'
npm WARN xxx No description
npm WARN xxx No repository field.
npm WARN xxx No README data
npm WARN xxx No license field.
其他项安装按照官方教程基本没有问题。
四、鸿蒙系统源码下载、编译、烧写:
整理如下几点:
源码下载后可以使用共享文件夹传到linux里面。建议将共享文件夹即代码编译目录放在“~/home/xxxusername”目录下面。放在其他目录下有编译会有权限问题引发的编译不成功的情况。
2、 编译成功后在源码根目录下” ./out/wifiiot/”找到编译后的bin文件。按照教程烧录,出现如下问题请参照第三章第1小节处理。
出现如下错误,请按顺序选择命令行默认shell为“command promipt”
出现如下错误,请确认上面画圈出文件目录是正确的。
烧录串口选择位置如下图所示,界面黑的,新东西看多了我居然没有第一时间看到.
最终烧录成功的提示如下图:
总结:
从开始装虚拟机软件到编译烧录成功,历时三天,当然是断断续续,越坑无数。总结来讲,作为一个新出的系统一个新的硬件架构,资料还是满全的。这三天虽然有坑但是通过不停的百度(百度搜索立功无数,赞一个)还是解决了所有问题。整体来说,对于新手官方资料还不是太系统,还做不到step to step,不过各位大侠都在视频直播了,总归会越来越好的。
上边用鸿蒙系统官方现在,编译烧录后跟开发板不配套,OLED显示没了,下了官方SDK,下一步研究下官方sdk,先把板子硬件驱动起来吧。