[opensuse-buildservice] Gettin x86_64 worker to build armv7l packages
Hi, I'm trying to get my local instance of OBS to compile packages for Debian/arm. I downloaded the iso, set up the virtual machine, installed obs there, created local repository, copied prjconf from build.o.o, copied binaries from Debian repositories and tried building a test package. It works and compiles for x86_64 and i586. So far so good. But armv7l is in scheduled state forever. I tried googling around and I found out, that I should use the following in prjconf: %ifarch armv7l armv5el HostArch: x86_64 %endif Did that, retriggered builds, x86_64 and i586 rebuilt but armv7l it is still in scheduled state only. I expect that I will hit another problem with running qemu-user in Debian afterwards, but that one, I guess I will be able to workaround somehow. But have no idea how to make my lazy x86_64 virtual machine to even try building for arm :-) Any ideas what to try? -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
I'm guessing this is the same issue I hit when I upgraded to 2.4. The openSUSE armv7l prjconfs include a host label requirement but that wasn't really documented anywhere. In your buildconfig you probably have something like this if you copied the openSUSE ARM projects: Constraint: hostlabel QEMU_ARM All that you need to do is edit /etc/sysconfig/obs-server on your QEMU capable workers and add this: OBS_WORKER_HOSTLABELS="QEMU_ARM" Josh On 06/19/2014 06:45 AM, Michal Hrusecky wrote:
Hi,
I'm trying to get my local instance of OBS to compile packages for Debian/arm. I downloaded the iso, set up the virtual machine, installed obs there, created local repository, copied prjconf from build.o.o, copied binaries from Debian repositories and tried building a test package.
It works and compiles for x86_64 and i586. So far so good. But armv7l is in scheduled state forever. I tried googling around and I found out, that I should use the following in prjconf:
%ifarch armv7l armv5el HostArch: x86_64 %endif
Did that, retriggered builds, x86_64 and i586 rebuilt but armv7l it is still in scheduled state only.
I expect that I will hit another problem with running qemu-user in Debian afterwards, but that one, I guess I will be able to workaround somehow. But have no idea how to make my lazy x86_64 virtual machine to even try building for arm :-)
Any ideas what to try?
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Joshua Plautz - 17:40 19.06.14 wrote:
I'm guessing this is the same issue I hit when I upgraded to 2.4. The openSUSE armv7l prjconfs include a host label requirement but that wasn't really documented anywhere.
In your buildconfig you probably have something like this if you copied the openSUSE ARM projects:
Constraint: hostlabel QEMU_ARM
All that you need to do is edit /etc/sysconfig/obs-server on your QEMU capable workers and add this:
OBS_WORKER_HOSTLABELS="QEMU_ARM"
Hmmm, I originally noticed this and removed Constraint: part from my prjconf. Now I put it back and configured it as you said and still nothing. In theory the trouble could be that I'm currently running everything in virtual machine to test the setup and therefore my workers are configured to use lxc, but that shouldn't be an issue as arm user emulation can't take advantage of kvm anyway, right? -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Michal Hrusecky - 7:38 20.06.14 wrote:
Joshua Plautz - 17:40 19.06.14 wrote:
I'm guessing this is the same issue I hit when I upgraded to 2.4. The openSUSE armv7l prjconfs include a host label requirement but that wasn't really documented anywhere.
In your buildconfig you probably have something like this if you copied the openSUSE ARM projects:
Constraint: hostlabel QEMU_ARM
All that you need to do is edit /etc/sysconfig/obs-server on your QEMU capable workers and add this:
OBS_WORKER_HOSTLABELS="QEMU_ARM"
Hmmm, I originally noticed this and removed Constraint: part from my prjconf. Now I put it back and configured it as you said and still nothing. In theory the trouble could be that I'm currently running everything in virtual machine to test the setup and therefore my workers are configured to use lxc, but that shouldn't be an issue as arm user emulation can't take advantage of kvm anyway, right?
Ok, so I moved forward towards my goal a little bit, but the path I'm taking is definitely not the right one. What I did is that I added armv7l to %cando['x86_64'] in BSCando. And I modified the build script a little bit to make sure that qemu binaries are copied into chroot. It is still not working, but now it is at least trying :-) Any suggestions how to make things work correctly without doing those ugly hacks are welcome. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Dienstag, 24. Juni 2014, 11:41:59 wrote Michal Hrusecky:
Michal Hrusecky - 7:38 20.06.14 wrote:
Joshua Plautz - 17:40 19.06.14 wrote:
I'm guessing this is the same issue I hit when I upgraded to 2.4. The openSUSE armv7l prjconfs include a host label requirement but that wasn't really documented anywhere.
In your buildconfig you probably have something like this if you copied the openSUSE ARM projects:
Constraint: hostlabel QEMU_ARM
All that you need to do is edit /etc/sysconfig/obs-server on your QEMU capable workers and add this:
OBS_WORKER_HOSTLABELS="QEMU_ARM"
Hmmm, I originally noticed this and removed Constraint: part from my prjconf. Now I put it back and configured it as you said and still nothing. In theory the trouble could be that I'm currently running everything in virtual machine to test the setup and therefore my workers are configured to use lxc, but that shouldn't be an issue as arm user emulation can't take advantage of kvm anyway, right?
Ok, so I moved forward towards my goal a little bit, but the path I'm taking is definitely not the right one.
What I did is that I added armv7l to %cando['x86_64'] in BSCando. And I
That sounds wrong, you should have a Hostarch: x86_64 defined in prjconf instead.
modified the build script a little bit to make sure that qemu binaries are copied into chroot. It is still not working, but now it is at least trying :-)
Just preinstall the qemu binaries, no need to modify code.
Any suggestions how to make things work correctly without doing those ugly hacks are welcome.
-- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Adrian Schröter - 14:42 24.06.14 wrote:
On Dienstag, 24. Juni 2014, 11:41:59 wrote Michal Hrusecky:
Michal Hrusecky - 7:38 20.06.14 wrote:
Joshua Plautz - 17:40 19.06.14 wrote:
I'm guessing this is the same issue I hit when I upgraded to 2.4. The openSUSE armv7l prjconfs include a host label requirement but that wasn't really documented anywhere.
In your buildconfig you probably have something like this if you copied the openSUSE ARM projects:
Constraint: hostlabel QEMU_ARM
All that you need to do is edit /etc/sysconfig/obs-server on your QEMU capable workers and add this:
OBS_WORKER_HOSTLABELS="QEMU_ARM"
Hmmm, I originally noticed this and removed Constraint: part from my prjconf. Now I put it back and configured it as you said and still nothing. In theory the trouble could be that I'm currently running everything in virtual machine to test the setup and therefore my workers are configured to use lxc, but that shouldn't be an issue as arm user emulation can't take advantage of kvm anyway, right?
Ok, so I moved forward towards my goal a little bit, but the path I'm taking is definitely not the right one.
What I did is that I added armv7l to %cando['x86_64'] in BSCando. And I
That sounds wrong, you should have a
Hostarch: x86_64
defined in prjconf instead.
Hmmm, decided to give it yet another try, thrown away my VM, started from scratch and now it works. Strange. Don't know what I did wrong before, but now it works :-) So it was all some configuration fault somewhere, sorry for the meaningless noise :-) -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (3)
-
Adrian Schröter
-
Joshua Plautz
-
Michal Hrusecky