本工具链在虚拟机Parallels - Debian 11.7/UOS-v20 - ARM64 版 系统下编译/验证通过
已存放百度网盘, 包含打包后的img镜像文件
链接: https://pan.baidu.com/s/1K9RVYnv8Wc3Ln8yc0oxwdg 提取码: 9255
- Debian 11.7 ARM64 版本系统下载,也可在UOS-v20专业版ARM64上
Index of /cdimage/archive/11.7.0/arm64/iso-cd (accum.se)
- 下载 duo-buildroot-sdk 并同步源码
安装duo-buildroot-sdk的依赖libssl-dev时可能会提示版本冲突提示:
下列软件包有未满足的依赖关系:
libssl-dev : 依赖: libssl1.1 (= 1.1.1n-0+deb11u4) 但是 1.1.1n-0+deb11u5 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
使用aptitude来降级解决
sudo apt install aptitude
sudo aptitude install libssl-dev
选择no,yes,yes即可
- 从网盘下载 ARM64版本的工具链
下载 host-tools.tar.xz 后释放到host-tools下
- 修改build/milkvsetup.sh中的编译工具配置
CROSS_COMPILE_PATH_64_NONOS_RISCV64="$TOOLCHAIN_PATH"/gcc/riscv64-elf-arm64
CROSS_COMPILE_PATH_GLIBC_RISCV64="$TOOLCHAIN_PATH"/gcc/riscv64-linux-arm64
CROSS_COMPILE_PATH_MUSL_RISCV64="$TOOLCHAIN_PATH"/gcc/riscv64-linux-musl-arm64
-
替换文件
下载 build-tools-patch.tar.xz 做如下操作:
将 gen_init_cpio 复制到 duo-buildroot-sdk/build/tools/common/
将 mkimage 复制到 duo-buildroot-sdk/build/tools/common/prebuild
debian 下需要设置mkdosfs搜寻路径
export PATH=/media/yxw/milkv/duo-buildroot-sdk/ramdisk/rootfs/common_arm64/sbin:$PATH
- CMake ARM64 下载安装
wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-aarch64.sh
chmod +x cmake-3.26.4-linux-aarch64.sh
sudo ./cmake-3.26.4-linux-aarch64.sh --skip-license --prefix=/usr/local/
-
编译
最后运行build_milkv.sh开始编译 -
Flash 工具ARM64版本下载与安装
wget https://github.com/futurejones/balena-etcher-arm/releases/download/v1.7.9/balena-etcher-electron_1.7.9+5945ab1f_arm64.deb
sudo dpkg -i balena-etcher-electron_1.7.9+5945ab1f_arm64.deb
如果安装时提示
dpkg: 依赖关系问题使得 balena-etcher-electron 的配置工作不能继续:
balena-etcher-electron 依赖于 gconf2;然而:
未安装软件包 gconf2。
balena-etcher-electron 依赖于 gconf-service;然而:
未安装软件包 gconf-service。
balena-etcher-electron 依赖于 libgconf-2-4;然而:
未安装软件包 libgconf-2-4。
则需要执行下面命令:
sudo apt install gconf2
sudo apt --fix-broken install
如果顺利的话就可以看到启动图标了
如果有问题,可以留言