Pick the Arm64 rustup and Qt builds on Arm64 Windows

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GuofangandClaude Sonnet 5.5 committed 2026-10-18 15:42:35 +08:00
1 parent 0356cf91f4
commit 361ecd977a
3 files changed
+29 -8

No files matched your search

+11 -2
View File
@@ -7,8 +7,17 @@ rem The default msvc toolchain needs the MSVC Build Tools (see 20-Install-MSVC-A
set "INSTALLER=%TEMP%\rustup-init.exe" set "INSTALLER=%TEMP%\rustup-init.exe"
echo Downloading rustup-init... rem PROCESSOR_ARCHITEW6432 holds the real architecture when this runs under emulation.
curl.exe -L --fail -o "%INSTALLER%" https://win.rustup.rs/x86_64 set "ARCH=%PROCESSOR_ARCHITECTURE%"
if defined PROCESSOR_ARCHITEW6432 set "ARCH=%PROCESSOR_ARCHITEW6432%"
if /i "%ARCH%"=="ARM64" (
set "RUSTUP_ARCH=aarch64"
) else (
set "RUSTUP_ARCH=x86_64"
)
echo Downloading rustup-init (%RUSTUP_ARCH%)...
curl.exe -L --fail -o "%INSTALLER%" https://win.rustup.rs/%RUSTUP_ARCH%
if errorlevel 1 ( if errorlevel 1 (
echo Download failed. echo Download failed.
pause pause
+16 -4
View File
@@ -3,13 +3,25 @@ setlocal
title Install Qt 6 title Install Qt 6
rem Qt is not available from winget, so this uses the standalone aqtinstall (aqt) to fetch it. rem Qt is not available from winget, so this uses the standalone aqtinstall (aqt) to fetch it.
rem The msvc2022_64 build needs the MSVC Build Tools (see 20-Install-MSVC-Admin.bat). rem The msvc2022 builds need the MSVC Build Tools (see 20-Install-MSVC-Admin.bat).
set "QT_VERSION=6.10.3" set "QT_VERSION=6.10.3"
set "QT_ARCH=win64_msvc2022_64"
set "QT_ROOT=C:\Qt" set "QT_ROOT=C:\Qt"
set "AQT=%TEMP%\aqt.exe" set "AQT=%TEMP%\aqt.exe"
rem PROCESSOR_ARCHITEW6432 holds the real architecture when this runs under emulation.
set "ARCH=%PROCESSOR_ARCHITECTURE%"
if defined PROCESSOR_ARCHITEW6432 set "ARCH=%PROCESSOR_ARCHITEW6432%"
if /i "%ARCH%"=="ARM64" (
set "QT_HOST=windows_arm64"
set "QT_DIR=msvc2022_arm64"
) else (
set "QT_HOST=windows"
set "QT_DIR=msvc2022_64"
)
set "QT_ARCH=win64_%QT_DIR%"
rem aqt has no Arm64 build; the x64 one runs under emulation on Arm64 Windows.
echo Downloading aqtinstall... echo Downloading aqtinstall...
curl.exe -L --fail -o "%AQT%" https://github.com/miurahr/aqtinstall/releases/download/v3.3.0/aqt_x64.exe curl.exe -L --fail -o "%AQT%" https://github.com/miurahr/aqtinstall/releases/download/v3.3.0/aqt_x64.exe
if errorlevel 1 ( if errorlevel 1 (
@@ -19,13 +31,13 @@ if errorlevel 1 (
) )
echo Installing Qt %QT_VERSION% (%QT_ARCH%) to %QT_ROOT% ... echo Installing Qt %QT_VERSION% (%QT_ARCH%) to %QT_ROOT% ...
"%AQT%" install-qt windows desktop %QT_VERSION% %QT_ARCH% --outputdir "%QT_ROOT%" "%AQT%" install-qt %QT_HOST% desktop %QT_VERSION% %QT_ARCH% --outputdir "%QT_ROOT%"
set "RC=%ERRORLEVEL%" set "RC=%ERRORLEVEL%"
del "%AQT%" >nul 2>&1 del "%AQT%" >nul 2>&1
if "%RC%"=="0" ( if "%RC%"=="0" (
echo Done. Use -DCMAKE_PREFIX_PATH=%QT_ROOT%\%QT_VERSION%\msvc2022_64 with CMake. echo Done. Use -DCMAKE_PREFIX_PATH=%QT_ROOT%\%QT_VERSION%\%QT_DIR% with CMake.
) else ( ) else (
echo aqt exited with code %RC%. echo aqt exited with code %RC%.
) )
+2 -2
View File
@@ -151,8 +151,8 @@ vm-images/build-windows-install-disk.sh [--force] ISO [OUTPUT.img]
(`virtio-win-gt-arm64.msi`,含 NetKVM、viostor 等),但我没确认它在哪个发行版里发布。 (`virtio-win-gt-arm64.msi`,含 NetKVM、viostor 等),但我没确认它在哪个发行版里发布。
arm64 的网卡是 virtio-net,驱动装不上就没有网络,后面联网下载的 `.bat` 会失败。 arm64 的网卡是 virtio-net,驱动装不上就没有网络,后面联网下载的 `.bat` 会失败。
可选方案:换含 arm64 MSI 的 ISO,或在脚本里用 `pnputil` 从 `NetKVM\w11\ARM64` 装驱动。**未验证、未修改。** 可选方案:换含 arm64 MSI 的 ISO,或在脚本里用 `pnputil` 从 `NetKVM\w11\ARM64` 装驱动。**未验证、未修改。**
- **x64 安装脚本**:`40-Install-Rustup.bat` 下载 `x86_64` 安装器、`60-Install-Qt6.bat` 下载 `aqt_x64.exe`, - **安装脚本的架构**:(已修改)`40-Install-Rustup.bat` 和 `60-Install-Qt6.bat` 按 `PROCESSOR_ARCHITECTURE` 选择
在 Arm Windows 上靠模拟运行,装出来的是 x64 版本。 `aarch64` 的 rustup-init 和 `win64_msvc2022_arm64` 的 Qt。aqt 没有 Arm64 版,`aqt_x64.exe` 仍靠模拟运行,只负责下载。
- **按键提示**:用 USB 光驱(原方式)时,Arm 版 ISO 会显示 "Press any key to boot from CD or DVD",几秒内不按键会掉进 UEFI Shell。 - **按键提示**:用 USB 光驱(原方式)时,Arm 版 ISO 会显示 "Press any key to boot from CD or DVD",几秒内不按键会掉进 UEFI Shell。
磁盘镜像方式不经过这个提示。曾经加过自动按键逻辑,按要求已删除。 磁盘镜像方式不经过这个提示。曾经加过自动按键逻辑,按要求已删除。
- **显卡**:arm64 配置用 `ramfb`。`virtio-gpu-pci` 会让画面冻结在 "Start boot option"(QEMU 固件的 virtio-gpu 输出在 Windows 引导管理器处冻结)。 - **显卡**:arm64 配置用 `ramfb`。`virtio-gpu-pci` 会让画面冻结在 "Start boot option"(QEMU 固件的 virtio-gpu 输出在 Windows 引导管理器处冻结)。