poudriere zfs setup help

Anton Shterenlikht mexas at bris.ac.uk
Fri Oct 25 15:32:44 UTC 2013

>From bsam at passap.ru Fri Oct 25 11:47:07 2013
>> Still no luck. Now I cannot even get 'poudriere testport -i'
>> to leave the jail intact. I get:
>> # poudriere testport -i -o ports-mgmt/pkg -j ia64
>> ====>> Creating the reference jail... done
>> *skip*
>> => SHA256 Checksum OK for pkg-1.1.4.tar.xz.
>> mkdir: /usr/ports/ports-mgmt/pkg/work: Read-only file system
>> *** Error code 1
>> Stop.
>> make[1]: stopped in /usr/ports/ports-mgmt/pkg
>> *** Error code 1
>> Stop.
>> make: stopped in /usr/ports/ports-mgmt/pkg
>> ====>> Cleaning up
>> ====>> Umounting file systems
>> # 
>> I also tried "-I" option - still the same - the jail
>> is unmounted after the failure.
>> This is poudriere-3.0.11.
>> What else can I try?
>Investigate your system as I had described earlier.

ok, it seems only poudriere-devel correctly implements "-i",
and leaves the jail running after "poudriere testport -i ...".

Anyway, I guess I'm asking for help with jails.

On the host I get:

# poudriere ports -l
default              svn+https  /pdr/ports/default
# poudriere jails -l
JAILNAME             VERSION              ARCH    METHOD  PATH
ia64                 11.0-CURRENT         ia64    svn+https /pdr/jails/ia64
# df ports    
Filesystem         1K-blocks   Used     Avail Capacity  Mounted on
/pdr/ports/default 138074817 890565 137184251     1%    /pdr/data/build/ia64-default/ref/usr/ports

i.e. the poudriere ports tree is mounted
under the ia64-default reference jail
as /usr/ports. However, for some reason,
this mount happens read-only. So I can
have write access to the ports tree directly
via /pdr/ports/default:

# touch /pdr/ports/default/zzz

but not via the jail route:

# rm /pdr/data/build/ia64-default/ref/usr/ports/zzz
override rw-r--r--  root/wheel uarch for /pdr/data/build/ia64-default/ref/usr/ports/zzz? y
rm: /pdr/data/build/ia64-default/ref/usr/ports/zzz: Read-only file system

Is this something to do with various "allow.mount.no***" below?

# jls
   JID  IP Address      Hostname                      Path
    34  -               ia64-default                  /pdr/data/build/ia64-default/ref
# jls -n
devfs_ruleset=0 nodying enforce_statfs=2 host=new ip4=inherit ip6=inherit jid=34
 name=ia64-default parent=0 path=/pdr/data/build/ia64-default/ref persist securelevel=-1
 allow.nomount allow.mount.nodevfs allow.mount.nonullfs allow.mount.noprocfs allow.mount.notmpfs
       ^^^^^^^             ^^^^^^^             ^^^^^^^^             ^^^^^^^^             ^^^^^^^
 allow.noquotas allow.raw_sockets allow.set_hostname allow.socket_af allow.sysvipc children.cur=0 children.max=0 cpuset.id=2 host.domainname="" host.hostid=0 host.hostname=ia64-default host.hostuuid=00000000-0000-0000-0000-000000000000 ip4.addr= ip4.saddrsel ip6.addr= ip6.saddrsel

Am I on the right track at least?

Many thanks


More information about the freebsd-ports mailing list