【OpenHarmony】openharmony移植到RK3568------获取源码编译OpenHarmony源码

一、源码获取

源码获取有好几种方式,在这里直接在镜像网站下载源码,点击下面连接下载全量版本的OpenHarmony4.1

https://repo.huaweicloud.com/openharmony/os/4.1-Release/code-v4.1-Release.tar.gz

将源码放到自己建立的目录下解压,我放入的是这个目录

/home/wzz/work/0H4.1

二、搭建编译环境

1. 安装工具和库

输入下面命令安装依赖库

sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev

如果出现错误,根据错误安装依赖库就行

2. 选择python版本

Ubuntu中默认的python版本是python2,编译OpenHarmony源码需要python3,输入下面命令切换到python3

which python3.8
sudo update-alternatives --install /usr/bin/python python {Python 3.8 路径} 1 #{Python 3.8 路径}为上一步查看的Python 3.8的位置

sudo update-alternatives --install /usr/bin/python3 python3 {Python 3.8 路径} 1 #{Python 3.8 路径}为上一步查看的Python 3.8的位置

3. 修改shell

ubuntu20.04默认是dash,查看

bash 复制代码
ls -l /bin/sh

但是编译Openharmony源码环境需要bash,输入下面命令改为bash

bash 复制代码
sudo dpkg-reconfigure dash

在弹出的界面选择NO

4. 首次编译OpenHarmony源码

首次编译OpenHarmony源码需要执行下面的命令,首先先进入OpenHarmony目录,输入:

bash build/prebuilts_download.sh

安装过程中会提示如下所示问题:

WARNING: You are using pip version 21.2.4; however, version 23.0.1 is available You should consider upgrading via the '/home/wzz/0H4.1/0penHarmony-v4.1-Relese/0penHarmony/prebuilts/python/linux-x86/3,10.2/bin/python3.10 -m pip install-upgrade pip' command

根据警告执行下面命令就好

/home/wzz/0H4.1/0penHarmony-v4.1-Relese/0penHarmony/prebuilts/python/linux-x86/3,10.2/bin/python3.10 -m pip install-upgrade pi

再使用bash build/prebuilts_download.sh命令即可

编译OpenHarmony源码可以使用hb命令,或者build.sh

使用build.sh

输入下面命令:

./build.sh --product-name rk3568 --ccache

等待编译完成,编译成功OpenHarmony源码成功在out/rk3568/packages/phone/images生成如下镜像

boot_linux.img MinitoaderAll.bin ramdisk.img sys_prod.img userdata.img config.cfg uboot.img chip_prod.img vendor.img eng_system.img parameter.txt resource.img system.img updater.img

或者使用hb命令

先安装hb工具

python3 -m pip install --user build/hb

设置环境变量。

vim ~/.bashrc

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

export PATH=~/.local/bin:$PATH

执行如下命令更新环境变量。

source ~/.bashrc

使用hb命令前需要先设置编译目标,输入下面命令

hb set

选择stander,在选择rk3568,输入下面命令编译OpenHarmony

hb build -f

相关推荐
fakerth8 小时前
【OpenHarmony】轻量级公共基础库commonlibrary_utils_lite
openharmony
鸿蒙小白龙2 天前
OpenHarmony LiteOS-A/M 版本迭代与演进对照
分布式·openharmony
狮恒2 天前
OpenHarmony Flutter 分布式数据持久化:跨设备数据一致性与同步方案
分布式·flutter·wpf·openharmony
狮恒2 天前
OpenHarmony Flutter 分布式数据管理:跨设备数据同步与一致性保障方案
分布式·flutter·wpf·openharmony
狮恒2 天前
OpenHarmony Flutter 分布式设备发现与连接:无感组网与设备协同管理方案
分布式·flutter·wpf·openharmony
●VON2 天前
小V健身助手开发手记(四):打造专属健康空间——以 PersonContent构建统一风格的个人中心
人工智能·学习·openharmony·开源鸿蒙·von
●VON2 天前
小V健身助手开发手记(三):用成就点燃坚持——构建可视化激励系统
学习·openharmony·总结·开源鸿蒙·von
狮恒2 天前
OpenHarmony Flutter 分布式音视频:跨设备流传输与实时协同交互方案
分布式·flutter·wpf·openharmony
狮恒2 天前
OpenHarmony Flutter 分布式安全与隐私保护:跨设备可信交互与数据防泄漏方案
分布式·flutter·wpf·openharmony
狮恒2 天前
OpenHarmony Flutter 分布式任务调度:跨设备资源协同与负载均衡方案
分布式·flutter·wpf·openharmony