CrossDevelopment

Cross development is using one system, the "host", to develop software for another system, the "target", typically an embedded system.

When [WWW] cross compiling the compiler needs access to libraries and headers of the target system in a typical filesystem structure (<targetroot>/usr/{lib,include}). Most embedded Linux distributions provide RPM packages for creating target filesystems. These RPMs can be installed into a fresh, empty target root using:

rpm -Uvh --root=<target-work-top>/target --ignorearch --noscripts *.rpm

While this "works", it has a lot of drawbacks for cross developers, mostly including the risk of installing foreign architecture RPMs on the host (forgetting --root and using --ignorearch) and the difficulty of maintaining multiple target architectures. Embedded distributions provide a replacement or a wrapper for RPM that address these issues.

Issues

(Mark Hatle provided the initial issues list in an [WWW] post to rpm-maint)

last edited 2006-12-28 16:31:44 by MarkHatle