How can I mount a directory of the host system for use inside a FreeBSD jail?

8,449

I just found out that I had mounted onto a directory which itself is already rebound (mounted via nullfs).

/var/data/home/j/mroot on /var/data/home/j/www
/var/data/home/js/www on /var/data/home/j/www/s
/foo on /var/data/home/js/www/foo

Besides being confusing this is apparently unsupported / wrong.

I changed it like so (note the path in the last line):

/var/data/home/j/mroot on /var/data/home/j/www
/var/data/home/js/www on /var/data/home/j/www/s
/foo on /var/data/home/j/www/s/foo

Now the mount works without any additional settings.

Share:
8,449

Related videos on Youtube

user569825
Author by

user569825

Updated on September 18, 2022

Comments

  • user569825
    user569825 almost 2 years

    I am performing the following on FreeBSD 9.0-STABLE:

    mount_nullfs /foo /jail/foo
    

    After that, from within the host system, the mount works. So this works:

    touch /foo/bar && ls /jail/foo/bar
    

    But when I change into the jail the mounted directory is empty:

    jexec 1 tcsh
    ls /foo/bar
    

    I get:

    ls: /foo/bar: No such file or directory
    

    /foo is completely empty.

    How can I have the files in the mounted directory show up correctly when mounted inside the chroot as found in the host system?

    • Jazz
      Jazz over 11 years
      Did you restart the jail after mounting the nullfs?