【鸿蒙OS开发⼊门】16-重头搭建Ubuntu新环境编译OpenHarmony3.0LTS 【鸿蒙OS开发⼊门】16 - 重头搭建Ubuntu新环境编译OpenHarmony 3.0 LTSv
本系列⽂章汇总:
1. 《》
2. 《》
3. 《》
4. 《》
5. 《》
6. 《》
ubuntu使用入门教程7. 《》
8. 《》
9. 《》
10. 《》
11. 《》
12. 《》
13. 《》
14. 《》
15. 《》
16. 《》
⼀、配置Telnet 和 samba
新安装的Ubuntu需要配置Telnet ,才可以远程链接,配置⽅法见下:
《》
《》
⼆、下载code-v3.源码
下载code-v3.源码: 《》
《》
在虚拟机中,解压code-v3.源码:
ciellee@ciellee-VirtualBox:~/work/code$ ls
code-v3.
ciellee@ciellee-VirtualBox:~/work/code$ tar -zxvf code-v3.
三、配置Ubuntu Docker编译环境
由于是新的Ubuntu环境,需要安装⼀些基本的⼯具,我全部整合在下⾯了:
sudo apt-get install apt-utils vim software-properties-common openssh-server iputils-ping curl net-tools bsdmainutils kmod bc rsync gawk ssh ccache zip make m4 gcc-multilib ca-certificates-java unzip perl openssl libssl1.1 gnupg xsltproc x11proto-core-dev tcl libxml2-utils libxml2-dev libx11-dev
libssl-dev li bgl1-mesa-dev lib32z1-dev lib32ncurses5-dev g++-multilib flex bison doxygen git subversion tofrodos pigz expect git-core gperf build-essential zlib1g-dev li bc6-dev-i386 lib32z-dev openjdk-8-jdk
开始配置 docker,我们采⽤从HuaweiCloud SWR上直接获取Docker镜像进⾏构建:《》 或者《》
3.1 安装docker
运⾏ sudo apt install docker.io ,
安装完毕后输⼊:docker version 看是否执⾏成功,如下:
ciellee@ciellee-VirtualBox:~/work/code/docker/docs/docker/standard$ sudo apt install docker.io
正在读取软件包列表...完成
正在分析软件包的依赖关系树
正在读取状态信息...完成
将会同时安装下列软件:
bridge-utils containerd runc ubuntu-fan
建议安装:
ifupdown aufs-tools btrfs-progs cgroupfs-mount | cgroup-lite debootstrap docker-doc rinse zfs-fuse | zfsutils
下列【新】软件包将被安装:
bridge-utils containerd docker.io runc ubuntu-fan
升级了0个软件包,新安装了5个软件包,要卸载0个软件包,有171个软件包未被升级。
需要下载74.1 MB 的归档。
解压缩后会消耗360 MB 的额外空间。
您希望继续执⾏吗?[Y/n] y
获取:1 cn.archive.ubuntu/ubuntu focal/main amd64 bridge-utils amd64 1.6-2ubuntu1 [30.5 kB]
获取:2 cn.archive.ubuntu/ubuntu focal-updates/main amd64 runc amd64 1.0.1-0ubuntu2~20.04.1 [4,155 kB]
获取:3 cn.archive.ubuntu/ubuntu focal-updates/main amd64 containerd amd64 1.5.5-0ubuntu3~20.04.1 [33.0 MB]
36%[3 containerd 21.5 MB/33.0 MB 65%]3,566 kB/s 13秒su获取:4 cn.archive.ubuntu/ubuntu f ocal-updates/universe amd64 docker.io amd64 20.10.7-0ubuntu5~20.04.2 [36.9 MB]
获取:5 cn.archive.ubuntu/ubuntu focal/main amd64 ubuntu-fan all 0.12.13 [34.5 kB]
已下载74.1 MB,耗时13秒(5,881 kB/s)
正在预设定软件包...
正在选中未选择的软件包 bridge-utils。
(正在读取数据库...系统当前共安装有199285个⽂件和⽬录。)
准备解压.../bridge-utils_1.6-2u buntu1_amd64.deb ...
正在解压 bridge-utils(1.6-2u buntu1)...
正在选中未选择的软件包 runc。
准备解压.../runc_1.0.1-0u buntu2~20.04.1_amd64.deb ...
正在解压runc(1.0.1-0u buntu2~20.04.1)...
正在选中未选择的软件包 containerd。
准备解压.../containerd_1.5.5-0u buntu3~20.04.1_amd64.deb ...
正在解压containerd(1.5.5-0u buntu3~20.04.1)...
正在选中未选择的软件包 docker.io。
准备解压.../docker.io_20.10.7-0u buntu5~20.04.2_amd64.deb ...
正在解压 docker.io(20.10.7-0u buntu5~20.04.2)...
正在选中未选择的软件包 ubuntu-fan。
准备解压.../ubuntu-fan_0.12.13_all.deb ...
正在解压 ubuntu-fan(0.12.13)...
正在设置runc(1.0.1-0u buntu2~20.04.1)...
正在设置 bridge-utils(1.6-2u buntu1)...
正在设置containerd(1.5.5-0u buntu3~20.04.1)...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service →/lib/systemd/system/containerd.service.
正在设置 ubuntu-fan(0.12.13)...
Created symlink /etc/systemd/system/multi-user.target.wants/ubuntu-fan.service →/lib/systemd/system/ubuntu-fan.service.
正在设置 docker.io(20.10.7-0u buntu5~20.04.2)...
Adding group `docker' (GID 135)...
Done.
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service →/lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket →/lib/systemd/system/docker.socket.
正在处理⽤于systemd(245.4-4u buntu3.11)的触发器...
正在处理⽤于 man-db(2.9.1-1)的触发器...
ciellee@ciellee-VirtualBox:~/work/code/docker/docs/docker/standard$ docker version
Client:
Version:20.10.7
API version: 1.41
Go version: go1.13.8
Git commit:20.10.7-0u buntu5~20.04.2
Built: Mon Nov 100:34:172021
OS/Arch: linux/amd64
Context:default
Experimental: true
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get %2Fvar%2Frun%2Fdocker.sock/v1.24 /version: dial unix /var/run/docker.sock: connect: permission denied
ciellee@ciellee-VirtualBox:~/work/code/docker/docs/docker/standard$
将当前⽤户添加如docker⽤户组:
1. sudo groupadd docker :#添加docker⽤户组
2. sudo gpasswd -a $USER docker :#将登陆⽤户加⼊到docker⽤户组中
3. newgrp docker :#更新⽤户组
3.2 从华为云获取Docker镜像
1. 获取Docker镜像。
docker huaweicloud/openharmony-docker/openharmony-docker-standard:0.0.5
ciellee@ciellee-VirtualBox:~/work/code$ mkdir openharmony-docker
ciellee@ciellee-VirtualBox:~/work/code$ cd openharmony-docker/
ciellee@ciellee-VirtualBox:~/work/code/openharmony-docker$ docker huaweicloud/openharmony-docker/openharmony-docker -standard:0.0.5
0.0.5: Pulling from openharmony-docker/openharmony-docker-standard
f22ccc0b8772: Pull complete
3cf8fb62ba5f: Pull complete
e80c964ece6a: Pull complete
a213b622c9c0: Pull complete
d63db521f484: Pull complete
c4c2fe5bfdc3: Pull complete
f0f381ec9f39: Pull complete
2269762c9d43: Pull complete
Digest: sha256:72427977d53d8e7ee2bd47b244ed16d4f4a8887362e230630940d611ec42eb0e
Status: Downloaded newer image huaweicloud/openharmony-docker/openharmony-docker-standard:0.0.5
2. 进⼊OpenHarmony代码根⽬录执⾏如下命令,从⽽进⼊Docker构建环境,ubuntu下执⾏:
#!/bin/bash
docker run --rm -u `id -u` -it -v $(pwd):/home/huaweicloud/openharmony-docker/openharmony-docker-standard:0.0. 5
此处建议增加 --rm -u id -u,强制docker 容器使⽤当前⽤户来运⾏,⽤来避免编译后的⽂件所属者为root,导致普通⽤户没有权限访问的问题。
ciellee@ciellee-ubuntu:~/work$ cd code/code-v3.0-LTS/OpenHarmony/
ciellee@ciellee-ubuntu:~/work/code/code-v3.0-LTS/OpenHarmony$ docker run --rm -u `id -u` -it -v $(pwd):/home/huaweic loud/openharmony-docker/openharmony-docker-standard:0.0.5
I have no name!@f7927f77eb2b:/home/openharmony$ ./build.sh --product-name Hi3516DV300 --ccache
++++++++++++++++++++++++++++++++++++++++
2021-12-2504:57:40
--product-name Hi3516DV300 --ccache
build
---------------------------------------
--product-name Hi3516DV300 --device-name hi3516dv300 --target-os ohos --target-cpu arm --ccache
CCACHE_DIR=/home/openharmony/.ccache
Set cache size limit to 50.0 GB
build_ohos_cmd: build/build_scripts/build_ohos.sh product_name=Hi3516DV300 target_os=ohos target_cpu=arm gn_args=is_standard_system=true build _target=images
官⽅命令是这个,不建议运⾏:
docker run -it -v $(pwd):/home/huaweicloud/openharmony-docker/openharmony-docker-standard:0.0.5
3. 开始编译: ./build.sh --product-name Hi3516DV300 --ccache
ciellee@ciellee-ubuntu:~/work$ cd code/code-v3.0-LTS/OpenHarmony/
ciellee@ciellee-ubuntu:~/work/code/code-v3.0-LTS/OpenHarmony$ docker run --rm -u `id -u` -it -v $(pwd):/home/huaweic loud/openharmony-docker/openharmony-docker-standard:0.0.5
I have no name!@f7927f77eb2b:/home/openharmony$ ./build.sh --product-name Hi3516DV300 --ccache
++++++++++++++++++++++++++++++++++++++++
2021-12-2504:57:40
--product-name Hi3516DV300 --ccache
build
---------------------------------------
--product-name Hi3516DV300 --device-name hi3516dv300 --target-os ohos --target-cpu arm --ccache
CCACHE_DIR=/home/openharmony/.ccache
Set cache size limit to 50.0 GB
build_ohos_cmd: build/build_scripts/build_ohos.sh product_name=Hi3516DV300 target_os=ohos target_cpu=arm gn_args=is_standard_system=true build _target=images
编译的log同步保存在: out/ohos-arm-release/build.log
现在晚上1多点了,太晚了,先睡觉了,明天再编译吧,
等编译完毕后,我再来更新⽂章。
4. 编译成功log如下:
c targets overlap rate statistics
subsystem files NO. percentage builds NO. percentage overlap rate
ark 420 3.1%753 5.2% 1.79
utils 205 1.5%245 1.7% 1.20
third_party 696051.3%755352.0% 1.09
aafwk 200 1.5%200 1.4% 1.00
account 140.1%140.1% 1.00
ace 12579.3%12578.6% 1.00
appexecfwk 370 2.7%370 2.5% 1.00
ccruntime 290.2%290.2% 1.00
communication 464 3.4%464 3.2% 1.00
developtools 770.6%770.5% 1.00
distributeddatamgr 328 2.4%328 2.3% 1.00
distributedhardware 330.2%330.2% 1.00
distributedschedule 410.3%410.3% 1.00
global 190.1%190.1% 1.00
graphic 133 1.0%1330.9% 1.00
hdf 440.3%440.3% 1.00
hiviewdfx 135 1.0%1350.9% 1.00
miscservices 620.5%620.4% 1.00
multimedia 272 2.0%272 1.9% 1.00
multimodalinput 290.2%290.2% 1.00
notification 1270.9%1270.9% 1.00
powermgr 500.4%500.3% 1.00
security 268 2.0%268 1.8% 1.00
startup 570.4%570.4% 1.00
telephony 225 1.7%225 1.5% 1.00
updater 810.6%810.6% 1.00
wpa_supplicant-2.9149 1.1%149 1.0% 1.00
c overall buil
d overlap rate:1.07
post_process
=====build Hi3516DV300 successful.
2021-12-2502:19:39
++++++++++++++++++++++++++++++++++++++++
root@dda487368bb7:/home/openharmony#
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论