[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Gentoo/FreeMiNT


On Monday 03 November 2008, Mark Duckworth wrote:
> The other option which may even be better is scratchbox which is used on
> the Linksys NSLU2 NAS devices.  This system uses QEMU to run native
> compilers and applications in situations where required.  With this
> there would precisely 0 special exceptions.

You may run to issues sometimes, but they are very rare:
- E.g. latest Debian packages may require newer tools than what Scratchbox
  base currently provides (some tools are based to Sarge and some to Etch
  sources) and the SB base is a major pain to update. Sbox2 will hopefully
  solve that issue.
- If you're building extensions to stuff that's already provided by SB as
  a host tool (such as perl or python), things can get confusing unless you
  remove that host tool from scratchbox (host tools are just a build

> That is if there is a 68k qemu target.

This isn't necessary.  The other alternative is that you setup NFS mount
from you host Scratchbox directories (as explained in the SB docs) to Aranym
and run sbrshd daemon in Aranym.

Then when e.g. configure wants to test the m68k binaries built by
the cross-gcc, the standard Linux binfmt_misc feature will run them through
the sbrsh client "interpreter" (as instructed by SB).   Sbrsh client will
then tell the sbrshd daemon running inside Aranym to NFS-mount the Scratcbox
environment to the emulator (if it isn't mounted yet) and transfer
the environment variables, rlimits, return values etc between the two
environments.  More documentation on this is here:

> Of course that is targeted specifically at linux so I 
> still feel openembedded is the best solution until we have virtual
> memory.

I've heard that somebody's used SB to do Windows cross-development (by using
Wine as the emulator) because he didn't want to use Windows himself. :-)

	- Eero

PS.  Scratchbox supports ccache by default (which is really great for
recompiles) and distcc requires just setting up the other CCs.