From ReactOS Wiki
Jump to: navigation, search

AArch64 is a 64-bit execution state of the ARMv8 Instruction Set Architecture, which itself was introduced in 2011. Microsoft Windows publicly started supporting AArch64 with Windows 10 Pro in 2016.


Currently ReactOS is not ported to AArch64 yet, so it can not boot or run on this architecture natively.

ReactOS is looking for help creating ARM64 port, see forum thread.

Build System

Please refer to these articles:

Building steps

You will need Visual Studio 2019. It would work with community edition as well.

  • Start VS command prompt for your host architecture
  • Run configure.cmd and build host tools: cd output-VS-i386 and then ninja host_tools
  • Switch to VS command prompt for ARM64 cross-compilation
  • Run configure.cmd -DWITH_HOST_TOOLS=C:\reactos\output-VS-i386\host-tools and don't forget to put actual host-tools directory path here
  • Type cd output-VS-arm64 and run ninja -k 1

If you're developing on ARM64 device with Windows on ARM:

  • Start VS command prompt for your host architecture
  • Run configure.cmd
    • You might need RosBE for ARM64 package (doesn't exist yet)
  • Type cd output-VS-arm64 and run ninja -k 1
    • You might need to fix host-tools issues first (see below)

General TODO list

  • Add ARM64 target support to the configure.cmd build script
  • Make ReactOS applications work on ARM64 Windows without crashes (latest Windows 10 for ARM64)
    • Fix remaining problems in our CRT and SDK: sync with newer versions of upstream components
    • Fix host-tools issues to achieve native ReactOS development on ARM64 Windows
  • Fix the AArch64 port build so it can generate bootcd-arm64.iso and livecd-arm64.iso
    • Get rid of boot sector, it's not supported on ARM64
    • Choose your way of working on ARM64 port boot process:
      • 1st way: Create low-level bootloader that will bootstrap FreeLoader on ARM64
      • 2nd way: Make it booting from UEFI
        • Quibble bootloader by Mark Harmstone might help
        • Revive our bootmgr / rosload
        • Make FreeLoader compatible with UEFI (freeldr.efi)
      • 3rd way: Work on both UEFI and FreeLoader way (requires more effort)
  • Once the whole tree is built without issues, we can think about updating this TODO list

These pages may be helpful to accomplish the tasks above:

Don't be in hurry and propose a Pull Request for the each fix you have done into the ReactOS repository.





Memory Manager




Hardware Abstraction Layer


Kernel run-time library (RTL)


C run-time library (CRT)






Compatible devices list

See this forum post: https://reactos.org/forum/viewtopic.php?p=134528#p134528

See Also

ReactOS ports‎
In active development Intel IA-32 (x86) | AMD64 (x64)
In slow development NEC PC-98 (x86) | Xbox (x86)
Unmaintained ARM32 (armv7) | PowerPC (ppc) | OLPC (x86)
Missing ports that Windows has ARM64 (aarch64) | Intel IA-64 (Itanium) | SGI 320/540 (x86) | DEC Alpha (axp) | MIPS