Meego Wiki
Views

Build Infrastructure/Sysadmin Distro/CrossToolchain Background

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Created page with '= Background and pointers = == Background == Different types of crossbuilding: http://en.opensuse.org/Build_Service/Concepts/CrossDevelopment#Types_of_Crossbuild A bit termi…')
Line 18: Line 18:
* '''"cross" + emulation'''  -  emulated execution with the use of cross-compiler and speedup
* '''"cross" + emulation'''  -  emulated execution with the use of cross-compiler and speedup
-
 
-
 
-
The default package list for a build environment is defined in the prjconf (see http://en.opensuse.org/Build_Service/prjconf) :
 
-
  Preinstall  +  Required + Support  +  Packages from dependency resolution
 

Revision as of 13:43, 7 July 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