Meego Wiki
Views

Build Infrastructure/Sysadmin Distro/CrossToolchain Background

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Pointers on the cross build)
Line 25: Line 25:
== Pointers on the cross build ==
== Pointers on the cross build ==
-
* http://en.opensuse.org/Build_Service/Concepts/CrossDevelopment
+
* http://en.opensuse.org/openSUSE:Build_Service_Concept_CrossDevelopment
* http://lizards.opensuse.org/2009/01/27/build-maemo-apps-with-opensuse-buildservice-it-works/
* http://lizards.opensuse.org/2009/01/27/build-maemo-apps-with-opensuse-buildservice-it-works/

Revision as of 18:57, 18 November 2010

Contents

Background and pointers

Background

Different types of crossbuilding: http://en.opensuse.org/Build_Service/Concepts/CrossDevelopment#Types_of_Crossbuild

A bit terminology:

  • pure native - builds on real hardware
  • cross-compilation - as in traditional
  • transparent emulation - qemu-arm is used for executing arm binaries on x86
  • "native" + emulation - emulated execution without the use of cross-compiler or speedup
  • "cross" + emulation - emulated execution with the use of cross-compiler and speedup


For the "native"+emulation cross-build (as in: without cross-compilers), we use qemu-arm. The callenge is now to keep the environment but add speed through cross-compilers (="cross"+emulation).

Pointers on the cross build

Some figures

With all changes in place, we reach really good speed. E.g. for:

  • package rpm
  • package glibc w/o locales

Build time in minutes

x86 nativearmv5tel nativearmv5tel cross factor x86->arm nativefactor x86->arm cross
rpm810717 13,382,13
glibc3350563 15,31,91

Comp native cross.jpg

Personal tools