mfe- / ReadyNASDuoSparc

Binaries, scripts for Netgear ReadyNASDuo v1
34 stars 8 forks source link

Did someone ever experimented with content from gaisler.com ? #7

Open Robin-DUBREUIL opened 3 months ago

Robin-DUBREUIL commented 3 months ago

Hi and thanks for attempting to make something useful out of those old Infrant based NAS.

As those SoCs are based on the LEON (v2, v3 ?) 32bit SPARC architecture, i wondered if anyone ever played with the modern kernels and/or cross compilers provided by Gaisler here and there. I also suspect this SoC to embed some components from the GRLIB IP Library (especially the "Padre" controllers), which could severely reduce the number of proprietary Infrant driver ports required to run a modern kernel on our NAS. After all Infrant was quite a small company, it would make sense for them to use readily available IPs instead of developing their own. It could also be interesting to compare old Gaisler kernels with the ones provided by Infrant to see how different they were.

Thanks for any feedback on this subject !

billsargent commented 3 months ago

Yes the SoC is based on that however the CPU has some missing instructions that make it incompatible without specific modified versions of glibc and as far as I know, only certain versions of GCC itself. For now, I've given up. There are so many limitations to this ancient device that it would likely be better to buy an rasperry pi and try to convert the enclosure to use that. :)

Robin-DUBREUIL commented 3 months ago

The CPU indeed lacks some instructions from the 32bit SPARC v8 standard. But digging deeper in the huge docs one can find in the Gaisler website it seems that it could be standard after all as there seems to be a few different revisions of the LEON core, including standard variants that may have some added or removed instructions from the base set. Jiri Gaisler is the father ("Padre" may be a reference to his work) of the LEON core and the GRLIB IP Library, and even though this core might seem outdated it eventually inspired RISC-V and found a new purpose with FPGAs. This is why his company maintained a linux codebase, cross compilers and various other tools for it during all these years (its widespread use among spacecraft and satellites probably also justified this work). I totally agree that porting a huge codebase for such an outdated platform is absolutely not worth it. However, if we just discovered that most of the required codebase was already maintaned during all these years but we just missed it somehow, it's something else. A raspberry pi is a fine device but it's just not a NAS. There is no SATA controller on the SoC and no high bandwidth interface to add a decent one without performance or feature loss. Even the Pi 5 just exposes a PCIe 2.0 x1, a USB 3.0-like bandwidth you would have to share across all drives...

billsargent commented 3 months ago

I'm all for you experimenting with this. Maybe you know more than I do about it. Its been a brick here that I would really love to see have a better kernel. But I'd also like to see the ability to compile normal things for it with a modern glibc. If you have the know-how to compile and test a kernel on the readynas, I'd really really love to see your work and details on how you did it.

In regard to RPI, Please see Jeff Geerling on youtube about his NAS projects with SATA. Newer iterations of the RaspberryPI can do some very impressive stuff. The Sparc processor on the Readynas is extremely slow compared to even my older raspberry pi 3.

Please keep me updated if you try anything. And if you can get it working, I'd love to try to follow the steps.