The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


SB2

From Mer Wiki
(Difference between revisions)
Jump to: navigation, search
(State)
(Trying it out)
Line 40: Line 40:
 
* (type in your username/password)
 
* (type in your username/password)
 
* osc -A http://api-ci.tspre.org checkout home:Admin:sb2:noaccel acl
 
* osc -A http://api-ci.tspre.org checkout home:Admin:sb2:noaccel acl
* cd home:Admin:sb2:noaccel acl
+
* cd home:Admin:sb2:noaccel/acl
* osc build --clean --no-verify Core_armv7l armv7el  
+
* osc build --clean --no-verify Core_armv7l armv7el
  
 
== In a KVM ==
 
== In a KVM ==

Revision as of 12:42, 11 December 2011

Contents

SB2

In Mer, we're currently experimenting with integrating SB2 into OBS to provide a better and more flexible cross compilation method. This is instructions to help you get started testing/developing this project.

WARNING: this is in-development code and may cause damage

What does SB2-OBS do differently than current approach

When a SB2flags: configuration item is encountered, 'build' switches behaviour. When it is preinstalling packages, it will install packages listed in SB2install: to BUILD_ROOT and rest to BUILD_TARGET (typically /target). The packages in SB2install are typically a X86 tools/bootstrap, which includes SB2, QEMU and cross compilers.

Upon booting the VM, it will set up an abuild user and chown -R abuild /target. It will then set up a SB2 target in /target and begin to install RPM packages utilizing RPM.

State

The install will fail with:

  installing systemd-35-2.1.Mer
  error: unpacking of archive failed on file /run: cpio: mkdir failed - Permission denied
  error: systemd-35-2.1.Mer.armv7l: install failed
  exit ...

Steps

It is assumed you already have a functioning osc+build install on your computer.

Trying it out

In a KVM

  • You need to set up so you can do KVM builds
  • osc build --clean --no-verify --vm-type=kvm Core_armv7l armv7el

OBS project configuration settings

In the fork of 'build' and Carsten Munk's https://github.com/stskeeps/open-build-service OBS fork, it is now possible to do the following configuration settings

 %ifarch armv7el
 SB2install: packages-to-be-installed-in-root
 SB2flags: --toolchain /opt/cross/bin/armv7l-meego-linux-gnueabi-gcc --qemu /usr/bin/qemu-arm --debug
 %endif

The sb2flags available:

 --toolchain /path/to/your/crosscompiler-gcc/in/tools
 --qemu /path/to/your/dynamic/qemu
 --installmode name-of-sb2-mode-used-for-buildsystem-setup
 --defaultmode name-of-sb2-mode-used-for-rpmbuild
 --debug, will enable SB2 debugging/logs

As an example, current home:Admin:sb2:noaccel project configuration is:

 %ifarch armv7el
 sb2install: sb2-tools-arm
 sb2flags: --toolchain /opt/cross/bin/armv7l-meego-linux-gnueabi-gcc --qemu /usr/bin/qemu-arm --debug
 %endif
Personal tools