I want to share the experience I had cross-building linuxcnc using
qemu-arm-user:

It works, it is faster than some actual ARM boards to build, but you
can't usefully run/test linuxcnc in this environment.

After installing some packages like debootstrap and qemu-user-static, I
created a debian armhf chroot:
    $ sudo qemu-debootstrap --no-check-gpg --arch=armhf jessie 
~/roots/jessie-armhf http://httpredir.debian.org/debian

I then prepared the configuration of schroot in
/etc/schroot/schroot.conf:
    [jessie-armhf]
    type=directory
    description=Jessie armhf
    directory=/home/jepler/roots/jessie-armhf
    groups=root,sudo
    root-groups=root,sudo
    aliases=armhf,default
now I could 'sudo schroot', add my jepler user in the chroot, install
packages with apt, etc.  Then I could 'schroot' (not as root) to get my
regular home directory, and build linuxcnc in a fresh new git clone. (I
did all git ops in my 'real' system, not the emulated system)

This is a nice fast development system (i7-4970k), it builds linuxcnc
for x86_64 in around 30 seconds (time make -j9).  Building linuxcnc for
arm in the schroot takes about 7.5 minutes, or 15x as long.  It's
competitive with my odroid U3, where due to having only 2GB memory I
have to build with "-j2" even though the CPU has 4 cores, so it's a
technique I'll keep in my toolbox.

(I haven't tried building a package, but I assume it'll work right but
still take longer than I'd like to routinely wait)

However, when it came time to run the testsuite or linuxcnc itself, I
encountered test failures and even deadlocks between rtapi_app and
halcmd.  It appears that qemu-user does not support atomic operations
between separate processes, but linuxcnc needs this for basic
functionality like loading a component.  I've filed this bug upstream
with qemu, https://bugs.launchpad.net/qemu/+bug/1585840

Unlike whole-system emulation, one great thing about schroot is that you
can fully share your home directory between the real computer and the
schroot.

Jeff

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to