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:
1 parent
0356cf91f4
commit
361ecd977a
3 files changed
+29
-8
No files matched your search
@@ -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
|
||||||
|
|||||||
@@ -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%.
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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 引导管理器处冻结)。
|
||||||
|
|||||||
Reference in new issue
Block a user