Difference between revisions of "AArch64"
Binarymaster (talk | contribs) m (→General TODO list) |
Binarymaster (talk | contribs) m (→General TODO list) |
||
Line 40: | Line 40: | ||
* Fix the AArch64 port build so it can generate <code>bootcd-arm64.iso</code> and <code>livecd-arm64.iso</code> | * Fix the AArch64 port build so it can generate <code>bootcd-arm64.iso</code> and <code>livecd-arm64.iso</code> | ||
** Get rid of boot sector, it's not supported on ARM64 | ** Get rid of boot sector, it's not supported on ARM64 | ||
− | ** Choose your way of working on | + | ** Choose your way of working on ARM64 port boot process: |
*** '''1st way:''' Create low-level bootloader that will bootstrap FreeLoader on ARM64 | *** '''1st way:''' Create low-level bootloader that will bootstrap FreeLoader on ARM64 | ||
*** '''2nd way:''' Don't use FreeLoader, make it booting from UEFI: [http://github.com/maharmstone/quibble Quibble] bootloader by Mark Harmstone might help | *** '''2nd way:''' Don't use FreeLoader, make it booting from UEFI: [http://github.com/maharmstone/quibble Quibble] bootloader by Mark Harmstone might help |
Revision as of 20:05, 27 April 2020
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.
Contents
Status
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:
- https://pete.akeo.ie/2017/05/compiling-desktop-arm-applications-with.html
- https://blogs.windows.com/buildingapps/2018/11/15/official-support-for-windows-10-on-arm-development/ - and now officially with Visual Studio 15.9
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 thenninja 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 runninja -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 runninja -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
andlivecd-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: Don't use FreeLoader, make it booting from UEFI: Quibble bootloader by Mark Harmstone might help
- 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.
FreeLoader
Unsupported
Kernel
Unsupported
Memory Manager
Unsupported
Processes
Unsupported
Hardware Abstraction Layer
Unsupported
Kernel run-time library (RTL)
Unsupported
C run-time library (CRT)
Unsupported
NTDLL.DLL
Unsupported
KERNEL32.DLL
Unsupported
Compatible devices list
See this forum post: https://reactos.org/forum/viewtopic.php?p=134528#p134528
See Also
- Give TianoCore/EDK2 on AArch64 a hand in 2018
- Bootstrapping the blue Windows when you have random AArch64 devices in the backyard
ReactOS ports | |
---|---|
In active development | Intel IA-32 (x86) | AMD64 (x64) |
In slow development | ARM64 (aarch64) | ARM32 (armv7) | NEC PC-98 (x86) | OG Xbox (x86) | Apple TV (1st generation) (x86) |
Unmaintained | OLPC (x86) |
Missing ports that Windows has | Intel IA-64 (Itanium) | IBM PS/2 MCA (x86) | SGI 320/540 (x86) | DEC Alpha (axp) | MIPS | PowerPC (ppc) |
Ideas for new ports | FM Towns (x86) | PlayStation 4 (x64) | Intel SFI (x86) |