Diagnosis: udev looks through /dev, making sure all devices have the expected device type and permissions. If not, it replaces them.
lxc creates /dev/ptmx and bind mounts /dev/pts/ptmx on top of it, so it has the expected device type. libvirt creates /dev/ptmx as a symlink to /dev/pts/ptmx. This is not the expected device type, so udev replaces it. A bare ptmx device is not usable in the container as it is tied to the initial devpts namespace. There are three ways to solve this. One is a small patch to libvirt to do the same thing lxc does. Another is to patch udev to allow ptmx to be a symlink. The third is to have another upstart job shipped with the lxcguest package, which starts on starting udev and replaces ptmx with a bind mount. Since a bind mount from /dev/pts/ptmx is always correct (with any modern kernel), I suppose a fourth solution would be to have /etc/init/udev.conf create the expected ptmx as a bind mount from /dev/pts/ptmx unconditionally, even if it is not a container. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/832123 Title: when booting oneiric cloud-images under libvirt, no pty is available To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/832123/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
