Re: Building VM-IMAGE(s) from Source

From: vermaden <vermaden_at_interia.pl>
Date: Thu, 16 Apr 2026 12:44:54 UTC
Yes and no.

For a start - I do not see options for PKGBASE in the poudriere-image(8) man page ... so I am not sure if I end up with PKGBASE system (probably not) or classic Distribution Sets system - but that can (can?) be probably configured some undocumented way.

I already have a system that builds packages - so 3rd party packages are ready in some repo.

I also already have a system that builds PKGBASE repo - so PKGBASE packages are ready.

So when I will try to use poudriere-image(8) instead of verimg(8) I would have these downgrades:

- I need to build PKGBASE FreeBSD 'Base System' everytime from source (which I do not need/want).

- I need to build 3rd party pkg(8) packages from FreeBSD Ports (which I do not need/want).

- I can not create custom/additional ZFS datasets and custom ZFS filesystem sizes.

- I can not create additional FAT32 filesystems with configs for cloud-init(1) use.

- I am not sure if poudriere-image(8) supports geli(8) - which I also sometimes need in images - and I plan to add geli(8) support to verimg(8) ... and I doubt it will be added to poudriere-image(8) anytime soon.

With verimg(8) I just use PKGBASE packages as 'Base System' from repo I previously built and then add 3rd party pkg(8) packages from other repo that I already built. That way I 'suffer' once and then I can build various images in minutes/seconds - not in long hours compiling everything each time.

One can also as a question ... why FreeBSD as a project maintains 3 different 'building systems'?

1. We have 'classic' # make buildworld buildkernel update-packages at /usr/src dir.

2. We have 'release.sh' inside /usr/src/release dir.

3. We have poudriere-image(8) for similar purposes.

4. We also have mkimg(8) which is used by both 'release.sh' and poudriere-image(8) tools.

But as they exists ... so I can only assume that they all are needed.

Regards,
vermaden




Temat: Re: Building VM-IMAGE(s) from Source
Data: 2026-04-16 12:29
Nadawca: "David Chisnall" <theraven@FreeBSD.org>
Adresat: "vermaden" <vermaden@interia.pl>; 
DW: "freebsd-stable@FreeBSD.org" <freebsd-stable@FreeBSD.org>;
"freebsd-hackers@FreeBSD.org" <freebsd-hackers@FreeBSD.org>;
"freebsd-current@freebsd.org" <freebsd-current@freebsd.org>; 


> For every other use case, `poudriere image` is a far more flexible
> tool (does custom builds, can do base-system overlays, install
> packages, build packages from ports-tree overlays, and so on),
> so why would you write a tool that does a small subset of what
> it does?
> 
> David