I would like to test how far in time can Jails keep old versions and I am trying to deploy a FreeBSD5 (the first release supporting amd64) in a jail being the host FreeBSD14.
This host has several FreeBSD14 jails and they work without issues. I have tried to follow the same procedure but being FreeBSD5 so legacy/ancient release I am stuck at the network configuration.
This is what I have done so far:
- I have downloaded the base system from http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/5.5-RELEASE/base/
- My jail will be named freebsd5
- I have installed the base for FreeBSD5 into /jails/containers/freebsd5 using the base install.sh script and setting the corresponding environment variable to that point.
- I have added a new user via chroot and adduser.
- I have created an empty /etc/fstab file
- I have copied /etc/resolv.conf from the host to the jail
- I have created the /etc/jail.conf.d/freebsd5.conf file -IP is mask- in the very same way than for my regular working FreeBSD14 jails:
Then I have tried to launch the jail using:
but I get the following error message, I guess because FreeBSD5 does not support bridges.
What would be the equivalent way to configure this taking into consideration such ancient/legacy release?
Would there be any more caveats to support FreeBSD5 in a Jail in FreeBSD14?
This host has several FreeBSD14 jails and they work without issues. I have tried to follow the same procedure but being FreeBSD5 so legacy/ancient release I am stuck at the network configuration.
This is what I have done so far:
- I have downloaded the base system from http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/5.5-RELEASE/base/
- My jail will be named freebsd5
- I have installed the base for FreeBSD5 into /jails/containers/freebsd5 using the base install.sh script and setting the corresponding environment variable to that point.
- I have added a new user via chroot and adduser.
- I have created an empty /etc/fstab file
- I have copied /etc/resolv.conf from the host to the jail
- I have created the /etc/jail.conf.d/freebsd5.conf file -IP is mask- in the very same way than for my regular working FreeBSD14 jails:
Code:
freebsd5 {
# STARTUP/LOGGING
exec.start = ""; # rc to run after networking is up
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.consolelog = "/var/log/jail_console_${name}.log";
# PATH/HOSTNAME
path = "/jails/containers/${name}";
# DEVFS
allow.raw_sockets;
exec.clean;
mount.devfs;
devfs_ruleset = 5;
# MOUNTS
allow.mount = true;
allow.mount.nullfs = true;
# VNET/VIMAGE
vnet;
vnet.interface = "${epair}b";
# NETWORK
host.hostname = "${name}";
$ip = "x.x.x.29/24";
$gateway = "x.x.x.1";
$bridge = "bridge0";
$epair = "epair29";
# STARTUP/STOP
exec.prestart = "/sbin/ifconfig ${epair} create up";
exec.prestart += "/sbin/ifconfig ${epair}a up descr jail:${name}";
exec.prestart += "/sbin/ifconfig ${bridge} addm ${epair}a up";
exec.start += "/sbin/ifconfig ${epair}b ${ip} up";
exec.start += "/sbin/route add default ${gateway}";
exec.poststop = "/sbin/ifconfig ${bridge} deletem ${epair}a";
exec.poststop += "/sbin/ifconfig ${epair}a destroy";
exec.start += "/bin/sh /etc/rc";
}
Then I have tried to launch the jail using:
service jail onestart freebsd5 but I get the following error message, I guess because FreeBSD5 does not support bridges.
Code:
Starting jails: cannot start jail "freebsd5":
ifconfig: interface epair29 already exists
jail: freebsd5: /sbin/ifconfig epair29 create up: failed
.
What would be the equivalent way to configure this taking into consideration such ancient/legacy release?
Would there be any more caveats to support FreeBSD5 in a Jail in FreeBSD14?