Does building linux packages under poudriere require linux compatibility emulation?

Mark Martinec Mark.Martinec+freebsd at ijs.si
Sun Jan 15 00:11:40 UTC 2017


Thanks to all who responded, makes perfect sense now.

Paul Mather wrote:
> The only thing you need on the host is to have the linux kernel module 
> loaded.
> (You don't need to have any Linux packages installed there.)  The 
> default setting
> in /usr/local/etc/poudriere.conf is to have NOLINUX=yes commented out, 
> i.e.,
> Linux support in Poudriere is enabled unless you explicitly disable it.
> The easiest way to load the linux kernel module on the host for use 
> with
> Poudriere is to add it to the "kld_list" setting in /etc/rc.conf, e.g.,
>     kld_list="linux"

I do have NOLINUX=yes commented out, as is a default.


2017-01-14 22:45 Timon wrote:
> No, it doesn't require linuxulator to be configured, but require
> linux.ko (and linux64.ko if your host is amd64) to be loaded.
> Poudriere load linux.ko, but doesn't load linux64. Try this patch:
> 
> --- /usr/local/share/poudriere/common.sh.orig
> +++ /usr/local/share/poudriere/common.sh
> @@ -1686,6 +1686,9 @@ jail_start() {
>                 if [ "${arch}" = "i386" -o "${arch}" = "amd64" ]; then
>                         needfs="${needfs} linprocfs"
>                         sysctl -n compat.linux.osrelease >/dev/null
> 2>&1 || kldload linux
> +                       if [ "${arch}" = "amd64" ]; then
> +                               kldload linux64
> +                       fi
>                 fi
>         fi
>         [ -n "${USE_TMPFS}" ] && needfs="${needfs} tmpfs"


Great, that seems to do the trick! (actually, I just loaded the linux64
kmodule, did not try to apply the patch). Thanks!

Looks like the poudriere/common.sh needs this patch.

   Mark


More information about the freebsd-ports mailing list