• Lv0
    粉丝0

积分1 / 贡献0

提问0答案被采纳0文章1

作者动态

    [经验分享] 编译烧写OpenHarmony系统

    xhzai 显示全部楼层 发表于 2024-8-21 19:32:10

    首先签署协议和规范

    参考文档

    其次准备开发板和Ubuntu环境

    (笔者这里使用的是RK3568和云服务器,可向官方申请)

    img_11.png

    安装Ubuntu系统工具

    apt-get命令安装编译所需的必要的库和工具: (若不是开发openharmony系统代码非必须)

    sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabi libc6-dev-i386 libc6-dev-amd64 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

    云服务器代码下载和构建

    (若不是开发openharmony系统非必须)

    注册码云SSH公钥:详细可以请参考码云帮助中心。

    (注意修改为自己的邮箱)

    • 生成: ssh-keygen -t ed25519 -C "mang.tsang@huawei.com"
    • 配置: 参考链接
    • 测试: ssh -T git@gitee.com

    配置Ubuntu git客户端用户信息。

    git config --global user.name "MangTsang"<br> git config --global user.email "mang.tsang@huawei.com"<br> git config --global credential.helper store

    安装码云repo工具。

    curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ./repo
    sudo mv ./repo /usr/local/bin/repo
    chmod a+x /usr/local/bin/repo
    pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

    代码下载

    • 因为openharmony各个子系统采用Gitee独立建仓管理,所以需要使用repo来
    cd ~/workspace/openharmony
    repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify --depth=1 // 创建git仓库,无响应则尝试https的git路径
    repo sync -c -j 32  //仓库同步,这里可以先cd进入.repo下
    repo forall -c 'git lfs pull'  //拉取大文件
    build/prebuilts_download.sh // 在根目录执行预构建,下载工具
    • 至此拿到openharmony的源代码!!!

    代码构建

    根目录下执行构建命令(第一次执行全量构建获得镜像,后续修改部件代码后只需执行部件构建并链接新的动态库) 全量构建 ./build.sh --product-name rk3568 --build-target make_all等待几十分钟 部件构建 ./build.sh --product-name rk3568 --build-target accessibility

    image.png

    烧写镜像

    镜像获取

    • 方法一:从上面的源码编译,在根目录/out/rk3568/packages/phone/images 里拷贝镜像到本地(scp命令)
    • 方法二:从每日编译的 Daily 版本中下载对应镜像 rk3568选择dayu200 img_2.png
    • 方法三:下载 RK3568 官方提供的固件,下载地址

    烧写工具下载

    下载链接 img.png

    烧录步骤

    1. 安装USB驱动: 双击下载工具根目录的windows\DriverAssitant\DriverInstall.exe 打开安装程序,点击“驱动安装”按钮:
    2. 双击 windows\RKDevTool.exe 打开烧写工具, 如图所示, 默认是 Maskrom 模式: img_3.png
    3. 右键导入镜像文件夹中的config配置文件 img_4.png

    img_5.png 4. 根据config文件配置的路径将镜像文件移动到对应的地址 5. 烧写镜像

    1. 按住开发板 RECOVERY 按键 和 RESET 按钮不松开, 烧录工具此时显示“没有发现设备” img_6.png
    2. 松开 RESET 键, 烧录工具显示“发现一个 LOADER 设备” , 说明此时已经进入烧写模式 img_7.png
    3. 执行烧写,等待完成后OpenHarmony系统启动 // 若反复重启则检查下载代码命令是否遗漏重新烧录<br> 更多参考 点击头像继续后续模块开发部分!

    ©著作权归作者所有,转载或内容合作请联系作者

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

    返回顶部