Mark Martinec
2017-Jan-15 00:11 UTC
Does building linux packages under poudriere require linux compatibility emulation?
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