Custom Qcow2 Images

Pete Wright pete at
Fri Jul 19 02:53:46 UTC 2019

On 7/14/19 4:37 PM, Pete Wright wrote:
> Hey there folks,
> I am wondering if anyone has any pointers on creating a custom Qcow2 
> FreeBSD that is akin in size to nanobsd.  I have an environment where 
> we need to run a single binary and want to keep our disk image as 
> small as possible.  It will run inside a user-mode Qemu process.  
> Reading through the nanobsd script it seems that it expects a raw disk 
> for installation, so I do think using the nanobsd script itself well 
> work well.  Has anyone else done something similar?  My goal is to 
> have a disk image that is around 500MB.
> Thanks in advance!
> -pete

I wanted to close the loop on this discussion as I think I've found a 
workable solution for my use-case.  I'm using a three step process:

1) generate a raw disk image using "poudriere image".  This phase 
references a Jail I've built that has disabled lots of uneeded features 
as per the docs here:

2) next I use mkimg(1) to convert the raw disk image to a bootable qcow2 
image that I can boot from Qemu.  this results in a disk image that's 
about 800MB.

3) the final phase is to use qemu-img to create a compressed qcow2 
image.  the resulting artifact of that process is a ~325MB Qcow2 
diskimage that actually has decent performance (on my SSD backed zfs 

I attempted to use poudriere image to generate a usb image directly, and 
while that did work well sizing wise i ran into an issue where 
insufficient inodes were allocated.  I reference what I ran into in this 
github issue:

For me this current setup is fine for my purposes, although I'm sure 
others can optimize this workflow a bit :)

Also, thanks again Allan and Dave Cottlehuber (who pinged me offlist) 
for giving me some hints and pointing me in the right direction!


Pete Wright
pete at

More information about the freebsd-virtualization mailing list