E2000/飞腾派运行OpenHarmony 4.0

这篇具有很好参考价值的文章主要介绍了E2000/飞腾派运行OpenHarmony 4.0。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

该项目介绍了如何在飞腾嵌入式开发平台上运行OpenHarmony 4.0 release标准系统。 该项目支持芯片内置提供的视频解码硬件加速,支持硬件光标加速,基于Linux kernel 5.10开发。

代码结构

├── device_board_phytium #飞腾开发板代码仓库
├── device_soc_phytium #飞腾芯片代码仓库
├── phytium_env.sh #自动化合patch脚本
├── vendor_phytium #飞腾开发板方案定制代码仓库
├── FAQ #编译集成常见问题
└── …

搭建开发环境

1.1硬件环境

工欲善其事必先利其器,所以首先准备一台装有ubuntu20.04系统X86主机,内存最低配置要求16G。

硬件配置肯定是多多益善了,配置越高,编译过程就更加的纵享丝滑了!

1.2 下载repo脚本文件

注册码云gitee账号。
注册码云SSH公钥,请参考码云帮助中心。
安装git客户端和git-lfs并配置用户信息。

git config --global user.name “yourname”
git config --global user.email “your-email-address”
git config --global credential.helper store

安装码云repo工具,可以执行如下命令。

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo #如果没有权限,可下载至其他目录,并将其配置到环境变量中chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

1.3 获取OpenHarmony标准系统源码

推荐版本OpenHamony 4.0 release。

通过repo + ssh 下载(需注册公钥,请参考码云帮助中心)。

export WORK_SPACE=/home/xxx/OpenHarmony #替换成自己定义的workspace路径
export PROJ_ROOT=$WORK_SPACE/4.0-release
mkdir $WORK_SPACE
mkdir $PROJ_ROOT
cd $PROJ_ROOT
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.0-Release --no-repo-verify
repo sync -c
repo forall -c ‘git lfs pull’

1.4 获取编译工具链

使用安装包方式获取编译工具链。

sudo apt-get update && sudo apt-get install binutils git 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 lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby openjdk-11-jdk libtinfo5 npm dosfstools parted kpartx genext2fs

1.5 执行prebuilts

在源码根目录下执行脚本,安装编译器及二进制工具。

cd $PROJ_ROOT
bash build/prebuilts_download.sh

2.代码下载与整合

2.1 下载phytium OH_4.0_release E2000适配源码

创建存放phytiym phytium OH_4.0_release源码的目录,进到该目录,下载phytium OH_4.0_release E2000适配源码:

export PHY_DEV=$WORK_SPACE/phytium_device
mkdir $PHY_DEV
cd $PHY_DEV
git clone https://gitee.com/phytium_embedded/phytium-openharmony-device.git

2.2 整合phytiym device vendor相关源码

通过前面的步骤,我们下载好了相关飞腾部分的修改。是时候将其和入到鸿蒙主干了。这里我们贴心的为开发者准备了一键构建脚本,我们这里执行脚本!

./phytium_env.sh $PROJ_ROOT 1
THE OHOS_PATH_ROOT /home/xxx/OpenHarmony/4.0-release

sync phytium env start!
sync device_soc_phytium
sync device_soc_phytium end
sync device_board_phytium
sync device_board_phytium end
sync vendor_phytium
sync vendor_phytium end
sync kernel
sync kernel end
applay 0001_drivers_peripheral.patch
applay 0001_foundation_arkui_ace_engine.patch
applay 0001_foundation_graphic_graphic_2d.patch
sync phytium end!
这里我们需要传入两个参数: 第一个是鸿蒙的根目录。 第二个是指设备ID,1对应e2000,2对应phytiumpi-firefly

代码中默认是文件系统是存放在sata磁盘,使用其他不同的存储介质,fstab文件及启动参数会有差异,更换不同的介质需要修改对应的fstab文件,具体修改方法参考《OpenHarmony多种存储介质配置说明》。

3.代码编译

3.1 OpenHarmony编译

cd $PROJ_ROOT
./build.sh --product-name e2000 --ccache --target-cpu arm64

编译成功提示:

post_process
=====build e2000 successful.

编译完成,我们进入到out目录查看生成的文件:

cd out/e2000/packages/phone/images/

tree

.
├── kernel
│ ├── dtb
│ │ ├── e2000d-demo-board.dtb
│ │ └── e2000q-demo-board.dtb
│ ├── EFI
│ │ └── BOOT
│ │ ├── bootaa64.efi
│ │ └── grub.cfg
│ └── Image
├── boot_uboot.img
├── ramdisk.img
├── system.img
├── updater.img
├── userdata.img
└── vendor.img

4 directories, 10 files

可以看到,其中生成了内核和系统相关镜像文件!

默认只会生成uboot启动需要的boot_uboot.img,UEFI启动的boot镜像需要通过手动执行make_boot.sh脚本进行生成,脚本运行需要sudo权限,请用有sudo权限的账户执行该脚本。

cd out/e2000/packages/phone/images/
sh ./make_boot.sh . efi

脚本执行日志如下参考,执行成功后会在当前目录下生成boot_efi.img

making efi boot image…
src path:./boot/, dis image name:./boot_efi.img, size:64M, block size:4096
mkfs.fat 4.1 (2017-01-24)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
[sudo] password for xxxx:
<<<<< make efi boot image success.

4.镜像烧写

目前提供了两种镜像烧录方式,按分区烧录与整体镜像烧录,可以根据硬件形态选择合适的烧录方式。

4.1 按分区烧录

1.硬盘分区

准备一块SATA硬盘,删除原有分区后,在linux环境下,使用fdsik命令分区,创建4个分区,依次为boot,system,vendor,userdata,根据实际情况设定,比如可以设定为500M,3G,1G,10G。p1 500MB for BOOT/EFIp2 3GB for systemp3 1G for vendorp4 10G for data

fdisk命令详细使用方法可自行百度谷歌,或者参考飞腾嵌入式 LINUX 用户 手册中的磁盘分区部分内容。

2.将这三个分区并格式化为ext4,sdX中的X烧写之前先用df命令确认一下是多少,可能是b,c…等,这里一定要注意不要烧错。

sudo mkfs.ext4 sdx1
sudo mkfs.ext4 sdx2
sudo mkfs.ext4 sdx3
sudo mkfs.ext4 sdx4

使用dd命令将3.1 OpenHarmony编译章节编译生成的镜像文件烧写到对应分区中。

sudo dd if=boot_uboot.img of=/dev/sdX1 bs=1M
sudo dd if=system.img of=/dev/sdX2 bs=1M
sudo dd if=vendor.img of=/dev/sdX3 bs=1M

如果是UEFI启动,烧录boot分区时,需要烧入boot_efi.img

重要的事情说三篇,不要烧录userdata分区!只需要将sdx4格式化为ext4格式就OK了!

4.2 整体镜像烧录

1.使用generate_image.sh工具打包镜像。
确保你的账户有sudo权限,进入镜像生成目录,执行generate_image.sh脚本

cd out/e2000/packages/phone/images/

#uboot启动
./generate_image.sh

#UEFI启动
./generate_image.sh efi

打包时会有如下打印信息:

start generate phytium_oh_xxx.img
start creating empty image, please wait…


losetup loopdevice…
generate phytium_oh_xxx.img successfully!!!

2.将生成的整体镜像烧入磁盘 Linux环境下,使用dd命令烧录即可.

$sudo dd if=phytium_oh_xxx.img of=/dev/sdb bs=1M

也可以在windows环境下,使用win32Diskimager、rufus、balenaEtcher等烧录工具进行烧录。

5.设备启动

将烧写好的SATA硬盘, 连接串口线,连接到e2000 EVB板上。上位机的串口调试工具波特率设置为115200,上电开机。

5.1 Uboot启动

在开机阶段,按回车,设置uboot环境变量

setenv bootargs console=ttyAMA1,115200 earlycon=p1011,0x2800d000 root=/dev/ram0 elevator=deadline rootwait rw loglevel=6 hardware=e2000 rootfstype=ext4 initrd=0x93000000,90M cma=256M
setenv bootcmd “ext4load scsi 0:1 0x90100000 e2000q-demo-board.dtb;ext4load scsi 0:1 0x90200000 Image;ext4load scsi 0:1 0x93000000 ramdisk.img;booti 0x90200000 - 0x90100000”
saveenv
boot

这里的设备树,以手上实际的调试设备为准!因为e2000系列有不同的版本,这里我的测试板子是e2000q,所以设备树就是e2000q-demo-board.dtb了!

5.2 UEFI启动

启动参数已经在烧写EFI分区时已写好,上电后,会直接进入系统。

代码代码仓库

https://gitee.com/phytium_embedded/phytium-openharmony-device文章来源地址https://www.toymoban.com/news/detail-854909.html

到了这里,关于E2000/飞腾派运行OpenHarmony 4.0的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 飞腾E2000从eMMC或SD启动U-boot和系统

    本文讲解了,如何设置uboot环境变量和编译linux内核,实现将uboot和系统同时放置到SD卡或eMMC后,从SD或者eMMC启动uboot,引导系统启动的过程。 同时使用E2000Q-demo,演示了从SD卡启动和从eMMC启动的过程。                    1、制作MMC(eMMC/SD卡)启动镜像文件 1.1、重新编译u

    2024年02月11日
    浏览(102)
  • 飞腾FT-2000+/64银河麒麟服务器v10安装及(LSI)MegaRAID配置

    环境说明: cpu:Phytium,FT-2000+/64 bios: 昆仑固件 操作系统:Kylin Linux Advanced Server V10 (Lance) raid卡:AVAGO MegaRAID SAS 9361-8i 存储:2块SSD,11块HDD 部署要求 使用LSI创建raid,2块ssd作raid1(拿到设备时此项已作好本次不重作),使用u盘安装kylin到ssd raid上,11块hdd作raid5+1热备。 遇到的问题:

    2024年03月28日
    浏览(143)
  • k8s学习(三十四)飞腾2000+麒麟V10离线部署k8s

    需要在飞腾芯片和麒麟V10操作系统下安装k8s,目前在飞腾2000下安装成功,飞腾2500还没有成功,现介绍飞腾2000下的安装流程。 准备多台机器,其中一台作为K8S主节点,其他作为从节点。 这里只准备了2台机器,一台作为主节点,一台作为从节点。 k8s版本为1.20.2 功能 IP k8s主节

    2024年02月01日
    浏览(89)
  • OpenHarmony 4.0 Release 编译异常处理

    编译环境:Ubuntu 20.04 OpenHarmony 软件版本:4.0 Release 设备平台:rk3568 参考官网步骤: OpenHarmony 4.0 Release 源码获取 参考官网构建步骤: v4.0 Release 编译构建 如果上述步骤一切顺利,编译通过,build log如下: 下拉代码执行报错 unable to resolve “fork_flow”\\\" 表明repo工具无法解析名为

    2024年02月05日
    浏览(50)
  • Docker 编译OpenHarmony 4.0 release

    编译环境:Ubuntu 20.04 OpenHarmony版本:4.0 release 平台设备:RK3568 OpenHarmony 3.2更新至OpenHarmony 4.0后,公司服务器无法编译通过,总是在最后几十个文件时报错,错误码4000: 经分析尝试: 1、相同的步骤和命令,wsl2 编译OpenHarmony 4.0 r正常。 2、服务器使用sudo编译正常,但由于sudo使

    2024年02月03日
    浏览(48)
  • OpenHarmony-4.0-Release 源码编译记录

    本文基于 Ubuntu 20.04.4 LTS 这个没啥好说的,都是搞机的,用之前编译 aosp 的 linux 环境就行,有小伙伴担心会把之前的环境搞崩, 也有用 docker 编译的,我这里就直接在 aosp 环境下搞了,还省事。 安装下面这三东西,是为了下载 Harmony 源码 sudo apt install curl sudo apt install python3

    2024年02月05日
    浏览(53)
  • openharmony开发最新4.0版本----介绍openharmony(基于api10 ,华为dev studio 4.0,分享学习过程中遇到的难题难点),学习笔记,持续更新

            DevEco Studio(OpenHarmony)使用指南:         HUAWEI DevEco Studio For OpenHarmony(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向OpenHarmony全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等E2E的Open

    2024年02月03日
    浏览(46)
  • OpenHarmony应用签名 - 系统应用签名(4.0-Release)

    开发环境:Windows 11 DevEco Studio 版本:DevEco Studio 4.0 Release(4.0.0.600) SDK 版本:4.0.10.15(Full SDK) 开发板型号:DAYU 200(RK3568) 系统版本:OpenHarmony-4.0-Release 示例工程:Applications_SystemUI OpenHarmony开源社区提供了标准系统上的部分系统应用,如桌面、SystemUI、设置等,为开发者提

    2024年04月11日
    浏览(41)
  • OpenHarmony 4.0 源码编译hb 问题排查记录

    OS:Ubuntu 22.04 x86_64 下载好Openharmony 4.0Beta2 的源码 从错信息看是找到某个目录,hb 是python写的,所以打算看看源码是找个目录出错了,根据出错信息直接看源码文件。 查看python 代码可知报错原因是没找到 build/lite/hb_internal ,在OpenHamony 源码下确实没有发现有 build/lite/hb_internal

    2024年02月09日
    浏览(44)
  • 【开源鸿蒙】下载 OpenHarmony 4.0 源代码和工具链

    本文介绍了如何下载开源鸿蒙(OpenHarmony)操作系统源码,该方法可以用于下载OpenHarmony最新开发版本(master分支)或者4.0 Release、3.2 Release等发布版本。 本文基于Ubuntu 22.04进行操作,Ubuntu其他版本也同样可行,包括 20.04, 18.04。 OpenHarmony架构图: 本节介绍如何准备命令行工具

    2024年04月13日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包