Meego Wiki
Views

Build Infrastructure/Sysadmin Distro/CrossToolchain Background

From MeeGo wiki
< Build Infrastructure | Sysadmin Distro
Revision as of 12:05, 26 April 2011 by Amigadave (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Background and pointers

Background

Different types of crossbuilding: http://en.opensuse.org/openSUSE:Build_Service_Concept_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