Cross compiling from x86_64 to SPARC

Rich Fromm rich at richard.fromm.name
Mon Feb 1 08:22:52 UTC 2021


I have an old ReadyNAS NV+ v1 from Netgear that's having some hardware
issues, and I'm trying to retrieve the data off of the disk array. I can
boot into a tech support mode, and telnet to the unit, and mount the disk
array, and the data appears to be present and okay, as far as I can tell
from a cursory glance. But I'm having trouble getting the data copied to
some other place.

There is a limited version of busybox installed, and I'd have more options
if I had a more up to date version. So I would like to compile the latest
stable busybox and copy it to the NAS.

Is the gist that I first need to build gcc from source (this will be on an
Ubuntu x86_64 box), to have a cross compilation capable compiler, then use
that compiler to build busybox?

If so, how to I figure out precisely what options to pass to `./configure`
for `--build`, `--host`, and `--target` ? And what exactly to set
`CROSS_COMPILE` to?

Yes, I've tried googling, but there's a lot of information out there, and
it's hard to know what's best to pay attention to, which is why I thought
this list might be a good source. This page:
* https://gcc.gnu.org/install/specific.html#sparc-x-linux
Has some per-target notes, but it specifically states that it "is *not* a
list of supported hosts or targets"

I know that the NAS is SPARC based, but I don't specifically know what
processor. The manual at
https://www.downloads.netgear.com/files/GDC/RND2110/Duov1_NV+v1_HW_en_06Dec11.pdf
says just:
* SPARC single-core processor
* 256 MB PC2700 DDR-SDRAM SO-DIMM
My biggest concern is, is the 32b vs. 64b question an important one to know
the answer to?

`dmesg` output gives some more details, but nothing I can specifically find
about the processor:
```
<5>Linux version 2.6.17.14ReadyNAS (root at calzone) (gcc version 3.3.5
(Infrant 3.3.5-1)) #1 Wed Jun 20 20:08:20 PDT 2012
<4>You system is PZERO.
<6>ASIC=IT3107
# ...
<5>Kernel command line: root=/dev/ram0 init=/linuxrc rw raid=noautodetect
profile=2
# ...
<4>xor engine =>  SPARC.
```

Sorry if this is a FAQ. I manually clicked month by month through 5 years
of mailing list archives (is there a functional way to search?), and only
found a few threads about cross compiling (grep'ing for "cross"), and none
of them directly relevant (generally Android questions).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20210201/03fde818/attachment-0001.html>


More information about the busybox mailing list