鸿蒙系统研究第一步:从源码构建系统镜像

周末下载了 OpenHarmony OS 2.0 的源码,并 build 成功。虽然大部分的步骤都是来自官方文档,但还是碰到了一些问题,所以决定还是写下来,当作一个备忘录。

我平常使用的开发环境是 Ubuntu Linux 系统,但这次切换到了 Windows 系统,原因是鸿蒙的开发工具 DevEcoStudio 和烧写工具 HiTool 只有 Windows 版本和 Mac 版本。好在 Windows 10 对 Linux 的支持非常好,其中 WSL (Windows Subsystem for Linux) 可以像 Windows 应用程序那样安装与运行,比使用虚拟机高效。WSL 已经进化到第二代,简称为 WSL2。关于 WSL2 的安装与配置,请参考相关文档。

我从 Microsoft Store 安装的 Linux 发行版本为 Ubuntu 18.04 LTS 版本。

需要注意的是,WSL2 Linux 的系统镜像文件默认放置在 C 盘,如果 C 盘空间预留不是很足够的话,建议移动到其它空间比较足的盘上。具体方法如下:

  1. 首先找到 WSL2 Linux 的系统镜像文件位置,默认为 C:\Users<用户>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState ,将其中的 <用户> 替换为你的用户名。

  2. C:\Users<用户>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState 移动到其它盘,比如 D:\VirtualMachines\WSL2\Ubuntu18.04\LocalState

  3. 建立符号链接(类似 Linux 下的软链接)。

mklink /j C:\Users\chenz\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState D:\VirtualMachines\WSL2\Ubuntu18.04\LocalState

做好上述准备后,就不会担心 C 盘被撑爆了。

言归正传,下面就说说在 Ubuntu 18.04 LTS 下如何下载和编译 OpenHarmony OS 2.0 的源码。

安装依赖工具

安装命令如下:

sudo apt-get update
sudo apt-get install binutils git-core 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 lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 python2.7 python-minimal

获取标准系统源码

官方文档给了三种获取系统源码的方式,如果是研究鸿蒙系统,最好直接从软件仓库下载,这样有比较完善的提交信息。所以这里只介绍如何从软件仓库克隆系统源码。

  1. 配置 git 用户信息

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
  1. 安装 repo 工具,可以执行如下命令。

$ curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo
$ chmod a+x repo
$ sudo mv repo /usr/local/bin/repo
$ sudo apt install python3-pip
$ pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
  1. 获取标准系统源码

$ mkdir OpenHarmony
$ cd OpenHarmony

$ repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify

$ repo sync -c

$ repo forall -c 'git lfs pull'

注意:repo sync 命令后面的 -c 参数表示只获取当前分支的源码,也就是说并不是所有分支的代码。我尝试不加这个 -c 参数,可能是 gitee 的配置问题,超过 1G 的软件仓库,比如 linux kernel 就出现如下错误,网上搜索了很多方法也未能解决。

error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

获取预编译工具

$ curl https://gitee.com/landwind/script-tools/raw/master/Shell/OpenHarmony/OpenHarmony_2.0_canary_prebuilts_download.sh >./prebuilts_download.sh
$ bash ./prebuilts_download.sh

配置NodeJS环境和获取Node_modules依赖包

  1. 下载Nodejs。

$ mkdir -p prebuilts/build-tools/common/nodejs
$ cd prebuilts/build-tools/common/nodejs
$ wget --no-check-certificate https://nodejs.org/download/release/v12.18.4/node-v12.18.4-linux-x64.tar.gz
$ tar -zxvf node-v12.18.4-linux-x64.tar.gz
$ cd -
  1. 下载node_modules包。

$ cd third_party/jsframework
$ export PATH=../../prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin:${PATH}
$ npm install
$ cd -
  1. 把下载的node_modules包放入OpenHarmony代码的prebuilts/build-tools/common/js-framework目录下。

$ mkdir -p prebuilts/build-tools/common/js-framework
$ cp -rp third_party/jsframework/node_modules prebuilts/build-tools/common/js-framework/

安装hc-gen工具

hc-gen用于进行驱动编译,具体安装步骤如下:

  1. 下载 hc-gen 工具。

    $ wget https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar
    
  2. 解压 hc-gen 安装包到 ~/hc-gen 路径下。

    tar -xvf hc-gen-0.65-linux.tar -C ~/
    
  3. 设置环境变量。

    vim ~/.bashrc
    

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/hc-gen:$PATH
    
  4. 生效环境变量。

    source ~/.bashrc
    

编译系统

执行脚本 build.sh 即可,后面必须加上 --product-name Hi3516DV300 参数,目前只支持这一种产品形态的构建。

$ ./build.sh --product-name Hi3516DV300 --ccache

构建成功以后,输出如下:

手头还没有 Hi3516DV300 的板子,所以无法烧写体验鸿蒙系统。

非常意外的是,OpenHarmony OS 2.0 没有提供模拟器的 build 选择,这对开发者相当不友好。后面我会研究一下 QEMU 模拟器,看能否在 QEMU 上把 OpenHarmony OS 2.0 运行起来,敬请关注。

华为鸿蒙系统正式版PC下载是华为官方打造的操作系统,是建立在linux开源内核的基础上开发的,华为鸿蒙系统正式版PC下载不仅仅内置了火狐、谷歌、opera等主流浏览器的使用,还会为用户带来自带的办公软件使用,方便快捷,无需另外下载安装使用,可支持的游戏也是非常的多的,不会有广告、捆绑的软件,绿色安全可靠,是当前非常受欢迎的一款操作系统。 华为鸿蒙系统正式版PC下载介绍: 华为鸿蒙系统正式版PC下载基于微内核的全场景分布式的操作系统,鸿蒙操作系统将基于四个框架为主题,分别是:分布架构、天生流畅、内核安全、生态共享,精简代码结构,将系统的代码全部都进行分布并细化处理,全面解决系统响应缓慢,操作简单,容易上手。 华为鸿蒙系统正式版PC下载亮点: 1、在智慧屏幕、穿戴设备、车机专有服务、音箱、手机等都会进行终端的无缝协同的体验。 2、还率先采用了高性能的IPC技术,将彻底解决系统性能不足、卡顿的问题。 3、Harmony鸿蒙OS采用全新的微内核的射击,保证系统流畅和信息安全这两块巨头。 4、是全世界第一个基于微内核的全场景OS,有分布式架构支撑,能带来天生流畅、内核级的安全和生态共享。 华为鸿蒙系统正式版PC下载四个框架说明: 1、分布架构 将每一个大的系统框架进行更为细致的细化,让应用对于软件的响应程度微乎其微,直接的提高了系统的使用效率。 2、天生流畅 精简大量底层的系统冗余程序代码,还原用户的系统体验流畅度。 3、内核安全 将在关键的用户交互方面下功夫,在用户与系统软件的交互方面,放置多层由安全中心响应的源生代码,从源头保证系统的整体安全。 4、生态共享 在每一个智能的终端设备上,都会就行在交互方面的自动适配,自动寻找最符合条件的那个设备。 华为鸿蒙系统正式版PC下载安装方法: 1.插入U盘,打开U盘制作软件rufus 3.1 2.入设备选项,选中下载的华为鸿蒙系统镜像文件,其他默认,点击开始。 3.链接下载点击是,勾选以ISO镜像模式写入。 4.点击OK,等待U盘启动制作并写入华为鸿蒙系统完成。 5.把制作好的U盘插入电脑,开机启动按F12,选择U盘启动,台式机一般为:Delete键笔记本一般为:F2键惠普笔记本一般为:F10键联想笔记本一般为:F12键苹果电脑为:C键。 6.从U盘启动后,选择“Start Newstart Dev”进入安装。 7.系统会进入到安装界面,我们点击“安装系统”开始安装。 8.选择将华为鸿蒙系统安装所在硬盘分区,再点击下一步。 9.设置完管理员密码后,在右下角点击“开始安装”进行安装系统。 10.进入安装,10多分钟就安装完成了,非常简单。安装过程中请保证电脑电量,而且不能拨插U盘,否则得重来。 11.安装成功后,点击“重启”,拨出U盘,系统重启后就进入登录界面,输入先前创建的用户名及密码,就可以体验华为鸿蒙系统。 华为鸿蒙系统正式版PC下载测评: 1、面向多终端设计,并且开源。可打通智慧屏、可穿戴设备、车机、音响、手机等。 2、能够实现每一个电子终端的资源互享,带来用户体验最佳的协同感。 3、系统软件轻量化、功能强大,将在大量的智能终端上进行率先应用。 4、通过对原生态的系统进行精简,删减掉那些用户在日常生活中用不到系统软件,还原系统的流畅度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云水木石

但行好事,莫问前程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值