|
K1 MUSE Pi 开发板 OpenHarmony 5.0 下载编译烧录说明 前言 本文记录了在 Ubuntu 22.04 环境下,基于米联客进迭 K1 芯片的 MUSE Pi 开发板,从零开始完成 OpenHarmony 5.0 源码下载、编译、镜像生成到烧录的完整流程。 1 环境准备 1.1 安装系统依赖 sudo apt-get update sudo apt-get install binutils git git-lfs gnupg gperf build-essential zip curl \ zlib1g-dev gcc-multilib lib32ncurses-dev x11proto-core-dev libx11-dev lib32z1-dev \ libxml2-utils xsltproc unzip m4 bc gnutls-bin python3-pip ruby ccache \ libgl1-mesa-dev g++-multilib libc6-dev-i386 flex bison openjdk-17-jdk openssl \ libelf-dev lz4 genext2fs libncurses5 libssl-dev u-boot-tools dosfstools mtools \ libstdc++-12-dev repo python2 cpio nodejs npm default-jdk mtd-utils scons \ gcc-arm-none-eabi 1.2 安装 make_ext4fs 工具 解压 bin.zip 到 WorkSpace 目录后,在 ~/.bashrc 中添加路径: export PATH=$PATH:/home/uisrc/WorkSpace/bin 验证安装: which make_ext4fs 2 源码下载 2.1 配置 Git 与 SSH 注册 Gitee 账号,添加本地 SSH 公钥到 Gitee。 配置 Git 全局身份: git config --global user.name "yourname" 2.2 使用 repo 拉取源码 mkdir oh5 && cd oh5 # 初始化仓库 -b riscv/OpenHarmony-v5.0.0-Release \ --no-repo-verify \ --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo # 同步源码(约2-3小时) repo sync -j4 -c --fail-fast # 拉取大文件(约1-2小时) repo forall -c 'git lfs pull' # 创建本地分支 repo start OpenHarmony-v5.0.0-Release --all 2.3 安装编译器 cd oh5 bash build/prebuilts_download.sh 下载的工具链默认存放在 openharmony_prebuilts 目录下。 3 编译前修改 3.1 修改设备树 U-Boot 需要 mlk-k1-x_MUSE-Pi.dtb,而默认构建脚本生成的是 k1-x_MUSE-Pi.dtb,需要统一修改: # 修改构建脚本中的 dtb 文件 sed -i 's/k1-x_MUSE-Pi\.dtb/mlk-k1-x_MUSE-Pi.dtb/g' \ device/board/spacemit/musepi/kernel/build_kernel.sh # 重命名设备树源文件 mv kernel/linux/spacemit_kernel-6.6/arch/riscv/boot/dts/spacemit/k1-x_MUSE-Pi.dts \ kernel/linux/spacemit_kernel-6.6/arch/riscv/boot/dts/spacemit/mlk-k1-x_MUSE-Pi.dts # 修改 Makefile sed -i 's/k1-x_MUSE-Pi\.dtb/mlk-k1-x_MUSE-Pi.dtb/g' \ kernel/linux/spacemit_kernel-6.6/arch/riscv/boot/dts/spacemit/Makefile 3.2 系统修复 # 修复1:禁用自动 suspend sed -i 's/uint32_t delay = 0;/uint32_t delay = 2147483647;/' \ base/powermgr/power_manager/services/native/src/power_state_machine.cpp # 修复2:禁用 HDMI,保留 DSI sed -i '/^&dpu_online2_hdmi/,/^};/ s/status = "okay"/status = "disabled"/' \ kernel/linux/spacemit_kernel-6.6/arch/riscv/boot/dts/spacemit/mlk-k1-x_MUSE-Pi.dts sed -i '/^&hdmi/,/^};/ s/status = "okay"/status = "disabled"/' \ kernel/linux/spacemit_kernel-6.6/arch/riscv/boot/dts/spacemit/mlk-k1-x_MUSE-Pi.dts # 修复3:增大 log_buf sed -i 's/loglevel=8/loglevel=8 log_buf_len=16M/' \ kernel/linux/spacemit_kernel-6.6/arch/riscv/boot/dts/spacemit/mlk-k1-x_MUSE-Pi.dts # 修复4:禁用 watchdog_service sed -i 's/"start watchdog_service"/"#start watchdog_service"/' \ base/startup/init/services/etc/init.cfg 4 编译 cd oh5 ./build.sh --product-name musepi --ccache --no-prebuilt-sdk 编译耗时较长,请确保机器内存充足。 5 生成镜像并烧录 5.1 生成可烧录镜像 ./build/gen_zip.sh musepi 5.2 进入刷机模式 关机状态:按住 FDL 键 → 插电源 → 松开 FDL → 插 USB 数据线 开机状态:按住 FDL 键 → 短按 Reset → 松开 FDL → 插 USB 数据线 5.3 使用 TitanFlasher 烧录 1.打开 TitanFlasher 烧录工具,选择「单机烧录」 2.点击「扫描设备」,选中目标设备 3.选择已解压的镜像目录 4.点击「开始刷机」,等待完成 烧录完成后重新上电即可进入 OpenHarmony 系统。
|