On 04.05.15 06:32, Volker Kuhlmann wrote:
On Tue 28 Apr 2015 19:41:39 NZST +1200, Alexander Graf wrote:
Using devel:ARM:13.2:Contrib:Allwinner, how do I compile install images locally? This doesn't work:
cd devel:ARM:13.2:Contrib:Allwinner/JeOS-cubieboard osc repos standard armv7l images armv7l osc build images armv7l WARNING: native compile is not possible, an emulator must be configured! ... [ 7s] running aaa_base preinstall script [ 7s] chroot: failed to run command 'sh': Exec format error
It is obvious that osc build runs natively (x86_64) inside the target system's armv7l chroot.
Installing qemu doesn't change that: qemu-linux-user-2.1.0-2.9.x86_64 qemu-extra-2.1.0-2.9.x86_64 qemu-arm-2.1.0-2.9.x86_64 qemu-block-curl-2.1.0-2.9.x86_64 qemu-2.1.0-2.9.x86_64 qemu-tools-2.1.0-2.9.x86_64 osc-0.151.2-11.1.noarch
Host system is oS 13.2 x86_64.
Online suggestions of inserting qemu in the command line somewhere all fail badly (wrong arguments). --vm-type=qemu dies over kvm.
What is the incantation to build a cubieboard image locally?
We used to build images using emulation on x86_64 in the past. Back then, because the repository was configured for it, you could also build it on x86_64 locally. However, we since switched over to native builds as we gained more ARM hardware in OBS. To compile packages in emulated mode on x86_64 you can use the "qemu" repository (osc build qemu armv7l *.spec), but we don't have such a thing set up for images. Bottom line is that you probably just want to build images on an ARM system. I suppose you do have the cubieboard working well enough to run osc build now?
What needs to be done to only build for cubieboard (not the other dozen arm boards too)?
"osc build images armv7l JeOS-cubieboard.kiwi" should do the trick.
Is it possible to build without re-building all the many dozen unchanged packages included in the image?
Locally yes, on the server only if you manually disable builds for the links. But when you branch we usually try to keep everything built to make sure things still work after you changes ;).
osc copypac -e openSUSE:Factory dracut devel:ARM:13.2:Contrib:Allwinner
Ok that's the easy bit. How does this package end up in the image then, instead of the version that was there before?
That's what the following lines in the kiwi xml do: <repository type="rpm-md" priority="5"> <source path="obs://devel:ARM:13.2:Contrib:Allwinner/standard"/> </repository> With this kiwi (and OBS) know then any package residing in the Allwinner contrib repository should take precedence over the ones in openSUSE:13.2. Alex -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org