Solved iocage create -r 14.3-RELEASE

I'm just trying to find my way around creating jails using IOCAGE and tried

iocage create -r 14.3-RELEASE hoping that it creates a 14.3 jail, but when I go into it uname -a shows

15.0-RELEASE FreeBSD 15.0-RELEASE releng/15.0-n280995-7aedc8de6446 GENERIC amd64

Looking at the filesystem, /usr/include/sys/param.h
shows

#define __FreeBSD_version 1403000

Something doesn't seem to add up here.
 
What does
Code:
iocage list

on the host say?

If there is nothing wrong, you may have executed the uname command on the host.
What the full procedure you did to obtain it?
 
What does
Code:
iocage list

on the host say?

If there is nothing wrong, you may have executed the uname command on the host.
What the full procedure you did to obtain it?
I created the jail, testjail using the -r 14.3 parameter. Testjail was created and showed up under iocage list which also shows 14.3-RELEASE for this jail.

Subsequently, iocage console testjail logs me into the jail where the first message says FreeBSD 15.0-RELEASE.

Running uname -a at the prompt also shows 15.0-RELEASE.

However looking at the filesystem, the files are dated June 6 2025, and /bin/freebsd-version shows

USERLAND_VERSION="14.3-RELEASE-P7"

so it has the latest patch level.

I have no idea where uname gets its information from, but if running a script which depends on a particular version of FreeBSD the results will be problematic,
 
I see. There is nothing wrong and you have 14.3-RELEASE jail.
A jail runs only userland and the kernel is that of the host. The uname command take the version from the kernel (unless -U option is specified), and freebsd-version get the version from userland file. So you get the version of the kernel of the host and version of the userland respectively.
 
The problem occurs if you try to run a Makefile in this jail which depends on the version of FreeBSD it is running under and determines this via uname, then it will not behave correctly.
 
Back
Top