This toolchain has been compiled/verified under the Parallels virtual machine - Debian 11.7/UOS-v20 - ARM64 version system.
It is stored on Baidu Cloud Drive, including the packaged img image files.
Link: https://pan.baidu.com/s/1K9RVYnv8Wc3Ln8yc0oxwdg Extraction code: 9255
- Download Debian 11.7 ARM64 version system, also compatible with UOS-v20 Professional Edition ARM64.
Index of /cdimage/archive/11.7.0/arm64/iso-cd (accum.se)
- Download duo-buildroot-sdk and synchronize the source code.
When installing the dependencies for duo-buildroot-sdk, you may encounter a version conflict prompt for libssl-dev:
"The following packages have unmet dependencies:
libssl-dev : Depends: libssl1.1 (= 1.1.1n-0+deb11u4) but 1.1.1n-0+deb11u5 is to be installed
E: Unable to correct problems, you have held broken packages."
Use aptitude to downgrade and resolve:
sudo apt install aptitude
sudo aptitude install libssl-dev
Choose no, yes, yes when prompted.
- Download the ARM64 version of the toolchain from the cloud drive.
Download host-tools.tar.xz and extract it to the host-tools directory.
- Modify the compilation tool configuration in 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
- Replace files
Download build-tools-patch.tar.xz and perform the following operations:
Copy gen_init_cpio to duo-buildroot-sdk/build/tools/common/
Copy mkimage to duo-buildroot-sdk/build/tools/common/prebuild
For Debian, set the mkdosfs search path:
export PATH=/media/yxw/milkv/duo-buildroot-sdk/ramdisk/rootfs/common_arm64/sbin:$PATH
- Install CMake for 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/
- Compile
Run build_milkv.sh to start the compilation.
- Download and install the Flash tool for 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
If you encounter the following error during installation:
dpkg: dependency problems prevent configuration of balena-etcher-electron:
balena-etcher-electron depends on gconf2; however:
Package gconf2 is not installed.
balena-etcher-electron depends on gconf-service; however:
Package gconf-service is not installed.
balena-etcher-electron depends on libgconf-2-4; however:
Package libgconf-2-4 is not installed.
You need to run the following commands:
sudo apt install gconf2
sudo apt --fix-broken install
If everything goes smoothly, you should see the launch icon.