Managing ARM packages from an x86_64 system

This forum is for discussion about general software issues.

Managing ARM packages from an x86_64 system

Postby mipi » Fri Dec 10, 2021 4:01 pm

Hi,
I wrote a short how-to for managing ARM packages from an x86_64 system. Maybe that's of interest for anybody here. This approach does not work for all packages, but most of the packages that I tested could be built that way.

It's actually a combination of two tools:
  • crema is a tool to manage custom package repos
  • armutils is a tools to build and utilize ARM chroots on x86_64 hosts.

The approach can also be combined with distributed builds (distcc).

mipi
Last edited by mipi on Wed Dec 15, 2021 7:36 am, edited 1 time in total.
mipi
 
Posts: 14
Joined: Sun Jul 22, 2018 2:06 pm

Re: Managing ARM packages from an x86_64 system

Postby solskogen » Mon Dec 13, 2021 7:33 am

How fast is this compared to the distcc approach in the wiki?
solskogen
 
Posts: 215
Joined: Mon Nov 18, 2013 10:41 am

Re: Managing ARM packages from an x86_64 system

Postby mipi » Wed Dec 15, 2021 2:13 am

I assume that you mean how fast the chroot-based approach is compared to using an ARM device instead. I did not test that.

distcc can also be used with the chroot-based approach. In my case, the chroot delegates the build work to another x86_64 machine. This improved the build performance significantly.
Last edited by mipi on Wed Dec 15, 2021 7:36 am, edited 1 time in total.
mipi
 
Posts: 14
Joined: Sun Jul 22, 2018 2:06 pm

Re: Managing ARM packages from an x86_64 system

Postby moonman » Wed Dec 15, 2021 7:07 am

I would advise against this approach in a production system. emulation != native and some packages may end up broken and/or with weird issues. There is a reason cross compilers are used which run natively on x86 (for example) but spit out arm code.
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3388
Joined: Sat Jan 15, 2011 3:36 am

Re: Managing ARM packages from an x86_64 system

Postby mipi » Wed Dec 15, 2021 10:39 am

$this->bbcode_second_pass_quote('', 'I') would advise against this approach in a production system


I agree, the approach is somewhat risky and I also observed - as I wrote already - that not all packages can be built that way. However, for my use cases it's working. Packages that I built that way are running fine on my ARM hardware.
mipi
 
Posts: 14
Joined: Sun Jul 22, 2018 2:06 pm

Re: Managing ARM packages from an x86_64 system

Postby noah3 » Thu Dec 30, 2021 1:55 pm

The chroot-based technique may also be utilized with distcc. The chroot delegated the construction effort to another x86 64 machines in my situation. This dramatically improved cookie clicker the build's performance. I suppose you're referring to the speed of the chroot-based technique vs using an ARM device. I didn't put that to the test.
noah3
 
Posts: 2
Joined: Thu Dec 30, 2021 1:50 pm

Re: Managing ARM packages from an x86_64 system

Postby mipi » Sun Feb 06, 2022 8:02 am

@noah3: I am also using the chroot-based technique together with distcc as you describe. This works quite well.
mipi
 
Posts: 14
Joined: Sun Jul 22, 2018 2:06 pm


Return to General

Who is online

Users browsing this forum: No registered users and 23 guests