# vendor_opc **Repository Path**: tian-xcode-team/vendor_opc ## Basic Information - **Project Name**: vendor_opc - **Description**: OHOS Porting Communities-开源鸿蒙系统移植社区-vendor整合代码仓 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: OpenHarmony-5.0.3-Release - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 28 - **Created**: 2025-05-13 - **Last Updated**: 2025-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OHOS Porting Communities-开源鸿蒙系统移植社区(OPC) 目前该仓库存放有以下设备适配代码: 树莓派4B 小米6 小米POCO F1 香橙派5Plus/Ultra FILY F12 **最新版本适配情况请查看组织首页状态** #### 介绍 该项目介绍,如何编译运行 [OpenHarmony 5.0.3 Release](https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v5.0.3-release.md)标准系统。 # 搭建开发环境 ## 1.1 硬件环境 准备一台装有ubuntu20.04系统X86主机,内存最低配置要求16G。 ## 1.2 下载repo脚本文件 1. 注册码云gitee账号。 2. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)。 3. 安装[git](https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git)客户端和[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)并配置用户信息。 ``` git config --global user.name "yourname" git config --global user.email "your-email-address" git config --global credential.helper store ``` 4. 安装码云repo工具,可以执行如下命令。 ``` curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests ``` 如果没有权限,可下载至其他目录,并将其配置到环境变量中chmod a+x /usr/local/bin/repo ``` mkdir ~/bin curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo chmod a+x ~/bin/repo pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests ``` ``` vim ~/.bashrc # 编辑环境变量 export PATH=~/bin:$PATH # 在环境变量的最后添加一行repo路径信息 source ~/.bashrc # 应用环境变量 ``` ## 1.3 获取OpenHarmony标准系统源码 通过repo + ssh 下载(需注册公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191))。 ``` export WORK_SPACE=/home/xxx/OpenHarmony #替换成自己定义的workspace路径 export PROJ_ROOT=$WORK_SPACE/5.0-Release mkdir $WORK_SPACE mkdir $PROJ_ROOT cd $PROJ_ROOT repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v5.0.3-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull' ``` ## 1.4 获取编译工具链 参考[OpenHamony快速入门文档](https://gitee.com/openharmony/docs/tree/master/zh-cn/device-dev/quick-start),基于命令行入门。 ``` 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 default-jdk libssl-dev libtinfo5 genext2fs u-boot-tools mtools mtd-utils scons gcc-arm-none-eabi abootimg libelf-dev libxcursor-dev libxrandr-dev libxinerama-dev ``` ## 1.5 执行prebuilts 在源码根目录下执行脚本,安装编译器及二进制工具。 ``` cd $PROJ_ROOT bash build/prebuilts_download.sh ``` # 设备代码下载与整合 ## 2.1 下载适配源码 进到项目根目录,下载设备源码: ``` git clone -b OpenHarmony-5.0.3-Release https://gitee.com/ohos-porting-communities/vendor_opc.git vendor/opc git clone -b OpenHarmony-5.0.3-Release https://gitee.com/ohos-porting-communities/device_board_opc.git device/board/opc git clone -b OpenHarmony-5.0.3-Release https://gitee.com/ohos-porting-communities/device_soc_opc.git device/soc/opc #下载香橙派5Plus/Ultra内核 git clone -b OpenHarmony-5.0.3-Release-160 https://gitee.com/ohos-porting-communities/linux_5.10_opi.git kernel/linux/linux-5.10-opi #下载FILY F12内核 git clone -b OpenHarmony-5.0-Release https://gitee.com/ohos-porting-communities/kernel_linux_5.10_f12.git kernel/linux/linux-5.10-f12 ``` ### 根据编译的机型,选择合并补丁或适当修改源码: ``` 代码修改说明: #香橙派5Plus因为我默认使用了5.5寸LCD触摸屏,HDMI输出会镜像触屏比例显示,显示异常的可以修改以下文件 device/board/opc/opi5plus/kernel/build_kernel.sh 注释掉patch -p1 < ${KERNEL_PATCH_PATH}/0001-enable-lcd.patch 另外根据自己显示器比例修改dpi参数 vendor/opc/opi5plus/custom_conf/window/display_manager_config.xml ``` # 代码编译 ## 3.1 OpenHarmony编译 ``` cd $PROJ_ROOT OpenHarmony 64bit系统编译问题,补丁修复统一使用x86补丁 cd vendor/opc/x86_general/patches sh patch.sh #香橙派5Plus ./build.sh --product-name opi5plus --ccache #香橙派5Ultra ./build.sh --product-name opi5ultra --ccache #FILY F12 ./build.sh --product-name f12 --ccache #X86 general ./build.sh --product-name x86_general --ccache ``` 编译成功提示: ``` post_process =====build opi5plus successful. ``` 编译生成的文件 ``` $PROJ_ROOT/out/opi5plus/packages/phone/images/system.img $PROJ_ROOT/out/opi5plus/packages/phone/images/vendor.img $PROJ_ROOT/out/opi5plus/packages/phone/images/userdata.img $PROJ_ROOT/out/opi5plus/packages/phone/images/ramdisk.img ``` ~~## 3.2 额外镜像编译 编译好OpenHarmony的文件之后使用以下命令内核并打包手机boot.img/树莓派4B完整镜像~~ ``` #小米POCO F1 cd device/board/opc/beryllium/kernel ./build_kernel.sh #小米6 cd device/board/opc/sagit/kernel ./build_kernel.sh #树莓派4B ./build.sh --product-name rpi4 --ccache --build-target rpi_image ``` # 镜像烧写 手机镜像参考我的文章使用twrp刷入或者bootloader线刷 https://ost.51cto.com/posts/20924 树莓派4B使用Win32DiskImager烧录整合好的rpi_image.img到microSD卡中 香橙派5Plus和FILY F12参考主线设备rk3568的说明文档使用RKDevTool烧写 x86镜像烧写 ``` 使用U盘进行启动: 1、准备一个8G以上高速U盘 2、使用DiskGenius将U盘转换为GUID分区表格式 3、使用DiskGenius分区工具分出4个分区,分区依次如下:(*新建分区时点击详细参数,删除分区名字) boot 500M fat32 system 3G ext4 vendor 500M ext4 data 3G ext4 4、直接复制device/board/opc/x86_general/loader文件夹内容到boot分区根目录 5、使用Linux的dd命令烧录镜像,用df确认需要烧写的分区,也就是sdx中的x,可能是a、b、c(*Windows可以按照cmder应用实现支持dd命令) sudo dd if=system.img of=/dev/sdx2 bs=1M sudo dd if=vendor.img of=/dev/sdx3 bs=1M 6、data分区为格式化空分区 7、插入电脑,BIOS选择U盘启动 ``` # 开源许可协议 Apache 2.0 # 维护者邮箱 开源鸿蒙系统移植社区 598757652@qq.com