Embedded Linux's compelling advantage over other Embedded OS's is
that your development host and target are the same. While you could
theoretically develop your embedded Linux target system software on
any host OS, Linux is the only sensible choice. Even Cygwin/UWIN is
likely to waste more of your time.
Using a
PowerPC based development host platform makes life easier, since
the same binaries will run on your host and target. However, if your
choice of host platform is restricted to non-PowerPC, cross compiling
adds some minor inconvenience, primarily in finding or building your
own toolset.
You can take binaries from a standard
PowerPC-based G4 Macintosh Linux
distribution and run them unmodified on a
PowerPC embedded system provided:
- The binaries are dynamically linked.
- You use the modified dynamic runtime glibc C library,
but compiled with :-mhard-float.:
- You include the floatingpoint math emulator in the
kernel for processors such as the 8xx series that lack a real
floating point unit.
Note that for floating-point intensive applications this will invoke a
performance penalty over re-compiling all the binaries and libraries; but
recompiling is what you're trying to avoid, right?
Also note that standard Macintosh binaries won't work with the runtime
library in the
HardHat? distribution on 8xx processors,
because they've been compiled with to give optimum performance. In this
case just use the equivalent Hard Hat binaries instead.
There is a mini-howto intended for developers who wish to build kernels
and/or application on a Linux/x86 platform targeted for a Linux/PPC
platform. Often this is desirable if one has a faster x86 host system
or the target environment is not practical to host a development environment
http://penguinppc.org/embedded/cross-compiling/.
Wolfgang Denk also has put together a document and scripts to build a
PPC Cross Development Kit for MPC8xx
CPUs. His objective was to build the
cross development tools to compile code for (embedded)
PowerPC systems
using Linux on an Intel PC. The documents and scripts can be found at
http://www.denx.de/cdk-en.html.