【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

相关推荐
熊猫钓鱼>_>6 天前
三方库 NDK 原生模块跨平台适配与调试【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙心迹
熊猫钓鱼>_>7 天前
平行视界兼容模式与魔法变量配置避坑【鸿蒙心迹】
运维·服务器·开发语言·笔记·华为·harmonyos·openharmony
熊猫钓鱼>_>10 天前
碰一碰无网近场文件快传与断点续传【鸿蒙心迹】
华为·交互·harmonyos·arkts·鸿蒙·openharmony·鸿蒙心迹
熊猫钓鱼>_>10 天前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc
熊猫钓鱼>_>10 天前
鸿蒙 PC 三方库适配复盘:libfvad 1.0 —— 把 WebRTC VAD 做成能装进采集链路的静态库
服务器·开发语言·华为·harmonyos·openharmony·适配·鸿蒙pc
熊猫钓鱼>_>11 天前
上架审核常见驳回与隐私合规清单:过审前先自查这 8 条【鸿蒙心迹】
开发语言·前端·华为·华为云·harmonyos·openharmony·ai制作
熊猫钓鱼>_>12 天前
鸿蒙PC构建实战:hvigor modelVersion 降级 + schema 清理 + ArkTS 编译三连坑完整复盘
开发语言·华为·ai编程·harmonyos·openharmony·数据·ai生成
熊猫钓鱼>_>13 天前
CMP for OpenHarmony 实战:Coil 图片加载库鸿蒙化使用心得
运维·服务器·开发语言·华为·ai编程·harmonyos·openharmony
进阶的猪15 天前
OpenHarmony应用开发入门:DevEco Studio工程结构解析与应用开发工具链详解
openharmony·deveco studio
fellow9917 天前
DSH Desktop - HarmonyOS Edition
harmonyos·openharmony·deepseek·deepseekharness