Raspberry Pi Support
Moderator: Moderator Team
-
- Posts: 5
- Joined: Wed Jun 06, 2018 11:42 am
Raspberry Pi Support
I was thinking that support for Raspberry Pi might give the ReactOS project a leg up, since the hardware is standard. Other than ARM and usb 1 support. I don't see how it would be too much different than what the operating system looks like now. And it might make the OS much more popular, riding the coat tails of R Pi.
Re: Raspberry Pi Support
The problem with this: ARM
I don't think we have any ARM developers here. Last time there was a group which did ros-arm-bringup or somewhat similar, but they vanished into the shadow and happened to stay anonymous.
I don't think we have any ARM developers here. Last time there was a group which did ros-arm-bringup or somewhat similar, but they vanished into the shadow and happened to stay anonymous.
My working rigs:
Dell Latitude E5430 on 0.4.9-vgal - i5-3340M, USB boot.
Partially working rigs:
Ryzen 7 3700X on B450 board - 0.4.14 boot via preinstall. USB broken.
[ external image ]
Dell Latitude E5430 on 0.4.9-vgal - i5-3340M, USB boot.
Partially working rigs:
Ryzen 7 3700X on B450 board - 0.4.14 boot via preinstall. USB broken.
[ external image ]
Re: Raspberry Pi Support
See the article in the ReactOS Wiki named "ReactOS ports". Look for the heading "Not under active development", subheading "ARM".
Re: Raspberry Pi Support
I realize it's highly unlikely, but an ARM port for ReactOS would be awesome. Imagine all those millions of RPi's out there running ReactOS, it could (potentially) be an awesome audience. Perhaps future developers will give it a go as the release matures further.
Please check out my ReactOS Videos here. or All of my Videos here (Including Classic TI-99/4a/RPi, ReactOS, Robotics, etc.).
or quite simply:
www.facebook.com/wagnerstechtalk
www.youtube.com/wagnerstechtalk
Please stop by and say hello!
or quite simply:
www.facebook.com/wagnerstechtalk
www.youtube.com/wagnerstechtalk
Please stop by and say hello!
Re: Raspberry Pi Support
I just wanted to say, that I have a little of knowledge of ARM arhcitecture (both 32 and 64 bit), assembly languages, are familiar with EABI, other architectural specifics, so it would be interesting to participate, but it's not the task for one. And RPi is the worst ARM SBC out there, to be perfectly honest. Nothing against RPi as an organization, but, really there are just better boards by price/feature set ratio. Much better. If I were about to pick a few targets for the ReactOS, I'd choose the shiny new RockPro64 board - with a hexa-core dual cluster CPU, with PCIe. USB3 and up to 4GB of LPDDR4 RAM! For only 79$! Other boards from Pine64, Odroids, Oranges, Bananas etc. They all are better than RPi.
And the community capacity RPi fans so love to brag about hardly will help with this effort, since all that is around linux which is of zero use for NT-like OS. Actually, unlike monolithic linux, for ReactOS it would be easier to provide support for different boards - it's all about drivers, when the kernel is standing on both feet. Just using more capable boards (than RPi) as a target, will be better. Just compare RPi3 and RockPro64 and you'll get what I mean.
And the community capacity RPi fans so love to brag about hardly will help with this effort, since all that is around linux which is of zero use for NT-like OS. Actually, unlike monolithic linux, for ReactOS it would be easier to provide support for different boards - it's all about drivers, when the kernel is standing on both feet. Just using more capable boards (than RPi) as a target, will be better. Just compare RPi3 and RockPro64 and you'll get what I mean.
-
- Developer
- Posts: 246
- Joined: Fri Dec 19, 2014 10:00 pm
Re: Raspberry Pi Support
A first challenge would be to get it to compile again in ARM,anthracen wrote:I just wanted to say, that I have a little of knowledge of ARM arhcitecture (both 32 and 64 bit), assembly languages, are familiar with EABI, other architectural specifics, so it would be interesting to participate, but it's not the task for one. And RPi is the worst ARM SBC out there, to be perfectly honest. Nothing against RPi as an organization, but, really there are just better boards by price/feature set ratio. Much better. If I were about to pick a few targets for the ReactOS, I'd choose the shiny new RockPro64 board - with a hexa-core dual cluster CPU, with PCIe. USB3 and up to 4GB of LPDDR4 RAM! For only 79$! Other boards from Pine64, Odroids, Oranges, Bananas etc. They all are better than RPi.
And the community capacity RPi fans so love to brag about hardly will help with this effort, since all that is around linux which is of zero use for NT-like OS. Actually, unlike monolithic linux, for ReactOS it would be easier to provide support for different boards - it's all about drivers, when the kernel is standing on both feet. Just using more capable boards (than RPi) as a target, will be better. Just compare RPi3 and RockPro64 and you'll get what I mean.
the second step would be to provide arm-specific implementations of syscalls, exception handling and all platform or arch specific stuff.
Almost nothing in ReactOS is something for a single person, but if you start on it, who knows who will join in?
Re: Raspberry Pi Support
At least for the start one needs to know what the ReactOS kernel does expect from the loader, the protocol in a broad sense. where is this information floating, compactly if possible?
Re: Raspberry Pi Support
https://reactos.org/wiki/ARM_Port has some documentation on what kind of setup works.anthracen wrote:At least for the start one needs to know what the ReactOS kernel does expect from the loader, the protocol in a broad sense. where is this information floating, compactly if possible?
However the build system no longer works as described, there's no "make install", and you'll have to build with MSVC because GCC dropped their ARM-PE target and ROS dropped support for old GCC. There's also a bunch of stuff in configure.cmd that's likely untested -- so the first challenge is to get anything to compile in the first place. The second is to figure out what modules you need to build and how to organize them for ROS to find. Then you can worry about a boot loader.
Re: Raspberry Pi Support
And EXACTLY WHAT will you do with an ARM port? - ReactOS is only an OS, not a "suite of apps"! So will you then handle compiling everything on ARM by yourself, from Firefox to LibreOffice? It "sounds nice", but is entirely pointless in a greater perspective right now.
- binarymaster
- Posts: 481
- Joined: Sun Nov 16, 2014 7:05 pm
- Location: Russia, Moscow
- Contact:
Re: Raspberry Pi Support
Windows 10 on ARM uses emulation to run x86 executables.Aeneas wrote: ↑Fri Jul 06, 2018 12:03 pm And EXACTLY WHAT will you do with an ARM port? - ReactOS is only an OS, not a "suite of apps"! So will you then handle compiling everything on ARM by yourself, from Firefox to LibreOffice? It "sounds nice", but is entirely pointless in a greater perspective right now.
by Stas'M | https://github.com/binarymaster
-
- Posts: 282
- Joined: Thu Jan 04, 2007 12:43 am
- Location: Italy
Re: Raspberry Pi Support
We need to make a GCC toolchain with target to ARM64 COFF PE first.
Re: Raspberry Pi Support
It would be kewl of course, but how do you estimate it's "easy"? Edk (Tianocore) for example, somehow, uses ELF->PE translation tools IIRC. despite there is a lot of linaro dudes over there. Probably it's not something trivial. Maybe easier would be to have your own ELF->PE translation?Carlo Bramix wrote: ↑Sat Jul 07, 2018 6:02 pm We need to make a GCC toolchain with target to ARM64 COFF PE first.
I am going to do something like that, but so far it's only a fragile and incomplete tool targetting only MIPS32. Very soon I am going to add ARM.
As a hobby, I write my own osdev project on these SBCs. on ARM, I managed to run my first loader code on both armv7 and armv8 boards (the real ones). Let's show the screeshot here too. The bottom 5 lines are printed by it (directly into UART). Here, it's a 64 bit machine (running in the aarch64 executaion state), the chip is Allwinner a64, the board - Pine64+. Also I tested 32 bit code on Cubieboard 2 and Banana Pi M2 Ultra (Allwinner a20 and r40 respectively). Upcomming are Beagle Bone Black (TI am3358, 32 bit) and Rock64 (Rockchip rk3328, 64 bit and 4 gigs of RAM!). After this screenshot was made I added the code that parses command line transferred to it (by uboot), from where it takes addresses of the kernel and hal image files shadowed into RAM and extracts RAM info from either ATAGS (cubieboard 2) or device tree (banana and pine64). Next is building some page tables for mapping the "static area" (non-pageable) of 16MB of RAM to properly load these images (binding them, applying relocations), switching on Virtual Memory and ... jumping into the kernel!
I just wanted to say that it's possible and interesting. I would be glad to do something for ReactOS in this direction, but as I've said, I need to know, what "protocols/interfaces" ReactOS does expect from its loader to comply with.
[ external image ]
- binarymaster
- Posts: 481
- Joined: Sun Nov 16, 2014 7:05 pm
- Location: Russia, Moscow
- Contact:
Re: Raspberry Pi Support
Just created a very relevant thread:ThFabba wrote: ↑Sat Jun 16, 2018 3:19 pm https://reactos.org/wiki/ARM_Port has some documentation on what kind of setup works.
However the build system no longer works as described, there's no "make install", and you'll have to build with MSVC because GCC dropped their ARM-PE target and ROS dropped support for old GCC. There's also a bunch of stuff in configure.cmd that's likely untested -- so the first challenge is to get anything to compile in the first place. The second is to figure out what modules you need to build and how to organize them for ROS to find. Then you can worry about a boot loader.
viewtopic.php?f=2&t=17977
by Stas'M | https://github.com/binarymaster
Re: Raspberry Pi Support
Windows 10 RT is migrating toward mixed ARM and X86 applications. The OS is native ARM, but has an X86 emulator for applications. Thus you can run (slowly) X86 applications interpreted on the ARM NT system. My guess is a port of ROS would need to analyze both how Microsoft supports native ARM applications and how it supports X86 interpretation. An X86 interpreter would have to be a component added to ROS to enable broad compatibility with existing Windows software.Aeneas wrote: ↑Fri Jul 06, 2018 12:03 pm And EXACTLY WHAT will you do with an ARM port? - ReactOS is only an OS, not a "suite of apps"! So will you then handle compiling everything on ARM by yourself, from Firefox to LibreOffice? It "sounds nice", but is entirely pointless in a greater perspective right now.
Re: Raspberry Pi Support
You can use ELF to PE converter like Linux EFI developers.GCC dropped their ARM-PE target
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
Who is online
Users browsing this forum: Ahrefs [Bot], Yandex [Bot] and 30 guests