How to build for arm?
Moderator: Moderator Team
- EmuandCo
- Developer
- Posts: 4465
- Joined: Sun Nov 28, 2004 7:52 pm
- Location: Germany, Bavaria, Steinfeld
- Contact:
Re: How to build for arm?
Well, then try to get things build with MSVC, maybe it will provide the needed SEH Compiler support, but theres way too much missing to make things work outta box. Memory manager for example still is not fully migrated too ARM3 Memory manager and the old one is not very portable. If you have the resources and skills to implement the missing parts, sure it will boot. But for this you need badass low level Windows skills.
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes
-
- Posts: 128
- Joined: Sat Dec 22, 2012 7:36 am
Re: How to build for arm?
How strange. I need the exact same thing.kaungzanarakkub wrote:Becaus i need to develope reactos for mobile phone.

Re: How to build for arm?
The best way we can help ReactOS is:
-coding
-testing
-spreading the word
That way, support for ARM and mobile devices will come faster my friends
-coding
-testing
-spreading the word
That way, support for ARM and mobile devices will come faster my friends

-
- Posts: 1
- Joined: Tue Jul 09, 2013 10:14 pm
Re: How to build for arm?
I found this while searching the site because I wanted to compile ReactOS from Raspberry Pi.
Could someone give me a brief explanation of the difficulties in compiling ReactOS for ARM? Preferably in terms a high level language coder can understand.
Could someone give me a brief explanation of the difficulties in compiling ReactOS for ARM? Preferably in terms a high level language coder can understand.
-
- Posts: 128
- Joined: Sat Dec 22, 2012 7:36 am
Re: How to build for arm?
If you do not feel like reading the text below, you only need to know one thing:
There are no technical limitations that prevent ReactOS from executing on the vast majority of ARM-based systems, including Raspberry Pi.
[Qualification: I am talking about the core OS primitives. Raspberry Pi appears to lack a real-time clock, which might be annoying from an engineering perspective.]
I will try to summarize the main points here for anyone who is thinking about porting ReactOS to:
If you are wondering why no one has ported ReactOS to ARM yet, it is because no one has ported ReactOS to ARM yet.
There are no technical limitations that prevent ReactOS from executing on the vast majority of ARM-based systems, including Raspberry Pi.
[Qualification: I am talking about the core OS primitives. Raspberry Pi appears to lack a real-time clock, which might be annoying from an engineering perspective.]
I will try to summarize the main points here for anyone who is thinking about porting ReactOS to:
- Since at least the year 2000, and beginning with ARMv3 (yes version 3), it has been possible to run a preemptive, multi-threaded OS on ARM.
- There are fundamental, theoretic primitives that any CPU must have in order to support a preemptive, multi-threaded OS.
- A thread must be able to lock a data structure to prevent other threads from accessing the data structure.
- A thread that cannot access a data structure because the structure has been locked by another thread, will either spin-in-circles until the data structure becomes unlocked, or enter a wait-state until the data structure becomes unlocked.
- A fundamental CPU primitive must exist that allows a thread to spins-in-circles or become blocked in a wait-state, while waiting for access to a data structure that is locked. This fundamental primitive varies against the basic theme of atomic check-and-modify. Two prevalent schemes are test-and-set and compare-and-swap.
- A CPU either has support for such atomic operations, or it does not. Like pregnancy, there is no gray area here. Either there is, or there is not.
- ARMv3, and every subsequent version of ARM, has those primitives in some form.
- ARMv3, and every subsequent version of ARM, is able, therefore, to run ReactOS.
- There are other preemptive, multi-threaded OS's that have been running on ARM even before the year 2000. This should be a very strong hint regarding whether it is feasible to run ReactOS on ARM.
- If you check the history of this subject, you might find some statements to the contrary about feasibility of ReactOS on ARM. It appears, to me at least, that those statements arose from some confusion caused by a misunderstanding of new CPU instructions that were created by ARM Ltd. The instructions in question are advanced instructions that are meant to solve problems with multi-processor systems, not uni-processor systems commonly prevalent, like the Raspberry Pi.
If you are wondering why no one has ported ReactOS to ARM yet, it is because no one has ported ReactOS to ARM yet.

Re: How to build for arm?
GCC can target ARM, too.
The obstacles for porting are in the ReactOS codebase, and I think the OP meant those. It takes some porting work, but I don't know exactly what are the missing bits.
The obstacles for porting are in the ReactOS codebase, and I think the OP meant those. It takes some porting work, but I don't know exactly what are the missing bits.
-
- Posts: 128
- Joined: Sat Dec 22, 2012 7:36 am
Re: How to build for arm?
I think it is the same as asking about porting to other CPU's like MIPS or PowerPC or whatever. In other words, it is what one would expect when trying to port, say, Linux, to a new, not-yet-known CPU that is inherently capable of running Linux. You have to do the port.mrugiero wrote: The obstacles for porting are in the ReactOS codebase, and I think the OP meant those. It takes some porting work, but I don't know exactly what are the missing bits.
The reason I wrote my verbose response was to inform anyone who is interested is that there is no voodoo inside ReactOS, nor is there inside an ARM CPU, that makes porting ReactOS to ARM problematic, since there previously seemed to be sentiments to the contrary.
In other words, porting ReactOS to ARM is an activity that has not been done yet. The act itself has, so far, been its own limitation.
Who is online
Users browsing this forum: Yandex [Bot] and 1 guest