Re: Cross compiling user applications for armv7

From: Michał_Kruszewski <mkru_at_protonmail.com>
Date: Sun, 14 Sep 2025 12:46:58 UTC
I have finally managed
  poudriere jail -c -x -j armv7 -m git+https -a arm.armv7 -v releng/14.3 -K GENERIC
to work.
I see that it cross compiles the systems.
This is pointless and redundant as I have already cross compiled the system on my own.
How can I tell poudriere to use the system I have compiled on my own?

I also started wondering why is qemu even required?
The cross compiler toolchain is already prepared and ready-to-use after system compilation.
The ports descriptions already exist.
Why can't I simply cross compile ports?
This task does not require qemu, as I don't want to run resulting binaries on host.
I just wont to cross compile ports and place them on the target file system.
Qemu shouldn't be required for that.

Regards,
Michał Kruszewski


Sent with Proton Mail secure email.

On Sunday, September 14th, 2025 at 2:33 PM, void <void@f-m.fm> wrote:

> Hello,
> 
> On Sun, Sep 14, 2025 at 09:24:07AM +0000, Michał Kruszewski wrote:
> 
> > I actually build system from the current main branch.
> > How do I set up poudriere in such a case?
> 
> 
> I'd do it like this, on amd64:
> 
> install poudriere-devel and configure poudriere.conf for your system.
> (copy /usr/local/etc/poudriere.conf.sample to poudriere.conf and
> edit it)
> install qemu-user-static
> run this: 'binmiscctl enable armv7'
> then
> 
> poudriere jail -c -j armv7 -J10 -a arm.armv7 -m git+https -K GENERIC-NODEBUG -v main
> 
> the -J corresponding to the number of cores you may have.
> 
> Note that poudriere uses qemu-user-static for cross-compilation and
> you can't build rust (or anything that uses rust) with it, as far as
> I'm aware.
> --