using /dev/null in chrooted enviroment

Tzachi Tager tzachi_tager at
Wed Dec 28 01:16:58 PST 2005


Giorgos Keramidas <keramida at> wrote:  On 2005-12-27 06:49, Tzachi Tager  wrote:
> Hi,
> I'm trying to create chrooted enviroment, i did the folllowing
> in the chrooted enviroment:
> mknode c null 0 24
> mknode c zero 0 25
> And then i did chroot and those files are under /dev, but when
> i wrote a short program in C that tries to open /dev/null
> (within the chrooted env.) i got:
> "/dev/null-operation is not supported"

> You forgot to mention what version of FreeBSD you are using.  It
> may also help to see the contents of the chrooted /dev directory.

  We are using:
  FreeBSD freebsd6.0 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov  3  09:36:13 UTC 2005   root at x64.samsco.home:/usr/obj/usr/src/sys/GENERIC  i386
  We tried:
  1) To create only /dev/null and /dev/zero (that configuration worked in FreeBSD 5.4)
  2) To create the same /dev contents via: tar -cf - /dev | tar -xf -
  The original system has /dev mounted as: devfs on /dev (devfs, local)
> Only by doing mount of devfs it seems to work fine, but i
> prefer not to do mount every time (because then i get that my
> chrooted enviroment pathname is too long for FreeBSD)

> A complete trace of the commands you are running and the exact
> error message is probably necessary here.

  The very simple C program doesn't run in chroot:
  int main() {
      if (open ("/dev/null", O_WRONLY) == -1) {
          perror ("open");
  It issues: "open: Operation not supported".
  PS: It seems like if we mount devfs to the chrooted env - everything  works. The problem is that chroot directory can be placed everywhere,  but mount doesn't accept very long path:
  # mount -t devfs none dev
  mount_devfs: File name too long
  # pwd
freebsd-bugs at mailing list
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe at"

Yahoo! Shopping
 Find Great Deals on Holiday Gifts at Yahoo! Shopping 

More information about the freebsd-bugs mailing list