Difference between revisions of "Container enter failed"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
(spam!)
(the,)
Line 1: Line 1:
  
  
== Solutions ==
+
the,
 
 
=== Using strace ===
 
 
 
You can use [http://linux.die.net/man/1/strace strace] to analyse the command further:
 
<pre>
 
# strace -ff vzctl enter 101
 
....
 
fstat64(...st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0)...) fail
 
....
 
</pre>
 
 
 
Recompile the kernel with the following option:
 
CONFIG_LEGACY_PTYS=y
 
 
 
=== LEGACY_PTYS ===
 
 
 
==== Temporary fix ====
 
''Note: This is a temporary fix so you can enter the VE.''
 
 
 
* Create the LEGACY_PTYS devices:
 
 
 
vzctl exec 101 /sbin/MAKEDEV tty
 
vzctl exec 101 /sbin/MAKEDEV pty
 
vzctl enter 101
 
 
 
==== Permanent fix with udev ====
 
* For a permanent fix with udev, you will need to force udev to make LEGACY_PTYS:
 
 
 
cat > /etc/udev/makedev.d/51-udev.nodes
 
# These device have to be created manually
 
tty0
 
tty1
 
tty2
 
tty3
 
....
 
ttyp0
 
ttyp1
 
ttyp2
 
ttyp3
 
....
 
ptyp0
 
ptyp1
 
ptyp2
 
ptyp3
 
....
 
 
 
==== Permanent fix without udev ====
 
* Alternatively, you can disable udev:
 
 
 
Edit the ''/etc/rc.d/rc.sysinit'' file and comment out the ''/sbin/start_udev'' line
 
 
 
Or you can run the following command:
 
 
 
sed -i 's|/sbin/start_udev|#/sbin/start_udev|g' /etc/rc.d/rc.sysinit
 
 
 
''Warning'' Updates to the package which owns this file may revert your changes.
 
 
 
''Note'' This was tested with CentOS VE.
 
 
 
=== Debian only ===
 
 
 
* Enter the VE manually
 
CTID=101
 
vzctl exec $CTID "mount -t devpts devpts /dev/pts"
 
vzctl enter $CTID
 
 
 
* Remove udev using apt
 
CTID=101
 
vzctl exec $CTID apt-get remove udev
 
vzctl restart $CTID
 
  
 
== See also ==
 
== See also ==

Revision as of 14:36, 2 January 2011