Problem with iocage


I’m fallowing this quick howto
First step is ok: iocage activate myzpool
Second step: iocage fetch returns me error

fdescfs(5) is not mounted, performance may suffer. Please run:
mount -t fdescfs null /dev/fd
You can also permanently mount it in /etc/fstab with the following entry:
fdescfs /dev/fd fdescfs rw 0 0

Creating myzpool/iocage
Creating myzpool/iocage/download
Creating myzpool/iocage/images
Creating myzpool/iocage/jails
Creating myzpool/iocage/log
Creating myzpool/iocage/releases
Creating myzpool/iocage/templates
Traceback (most recent call last):
File “/usr/local/bin/iocage”, line 10, in
File “/usr/local/lib/python3.6/site-packages/click/”, line 722, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python3.6/site-packages/click/”, line 697, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python3.6/site-packages/click/”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.6/site-packages/click/”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python3.6/site-packages/click/”, line 535, in invoke
return callback(*args, **kwargs)
File “/usr/local/lib/python3.6/site-packages/iocage_cli/”, line 129, in cli
File “/usr/local/lib/python3.6/site-packages/iocage_lib/”, line 113, in init
self.pool = PoolAndDataset().get_pool()
File “/usr/local/lib/python3.6/site-packages/iocage_lib/”, line 53, in init
self.pool = ioc_json.IOCJson().json_get_value(“pool”)
File “/usr/local/lib/python3.6/site-packages/iocage_lib/”, line 872, in init
super().init(location, checking_datasets, silent, callback)
File “/usr/local/lib/python3.6/site-packages/iocage_lib/”, line 200, in init
self.pool, self.iocroot = self.get_pool_and_iocroot()
File “/usr/local/lib/python3.6/site-packages/iocage_lib/”, line 348, in get_pool_and_iocroot
return pool, get_iocroot()
File “/usr/local/lib/python3.6/site-packages/iocage_lib/”, line 346, in get_iocroot
raise RuntimeError(f"Please set a mountpoint on {loc}")
RuntimeError: Please set a mountpoint on myzpool/iocage

Looked at man page, help and googling but i could not find or i dont see any info how to specify that mountpoint…


I found the problem, the answer was in iocage man page:

zfs set mountpoint=/data full-dataset-name in my case it looks like this
zfs set mountpoint=/myzpool/iocage myzpool/iocage


iocage activate <myzpool>
under normal operation iocage activate should create and mount (automagically) the “iocage” dir. on a zpool. One should not need to “set mountpoint” beforehand.
So, there’s an issue somewhere in Trident/FreeBSD 13.0-CURRENT or iocage 1.0 RC 2018/11 pkg, in Trident
iocage activate in “iocage-1.0 RELEASE 2018.12” with FreeBSD 12.0-RELEASE works as intended.


Not sure where exactly probably in iocage 1.0


You mean Trident/TrueOS uses iocage 1.0rc and FreeBSD-12.0-RELEASE uses iocage 1.0release?



uname -a
iocage --version
Version 1.0 RC 2018/11


uname -a
FreeBSD free 12.0-RELEASE-p2 FreeBSD 12.0-RELEASE-p2 GENERIC amd64
iocage --version
Version 1.0 RELEASE 2018/12


Hmmm. Why current runs older package than release?


ATM, I’m testing iocage in Trident. Other than the issue with "iocage activate" things seem to run ok, after doing "zfs set mountpoint=/myzpool/iocage myzpool/iocage"

I did "iocage fetch" and "iocage create" with couple of jails with 11.2-RELEASE and 12.0-RELEASE - bbl to complain, if somehing else fails in iocage :slight_smile:


I did not notice anything, seems that everything works in auto mode except activate and mountpoint.


They? have made iocage pkg, most likely before its source got updated.
Trident/TrueOS/FreeBSD-13.0 CURRENT is not an upstream of FreeBSD-12.0 RELEASE, only a fork of latest FreeBSD :wink:
The latest iocage is in:
So, it could be made from source in Trident :slight_smile:


Ok thanks :grinning: