Commit 11ef0233 by Dwight Engen Committed by Stéphane Graber

lxc-oracle: add pts/[1-4] to securetty for libvirt-lxc

Don't spawn a getty on /dev/console when running under libvirt-lxc Signed-off-by: 's avatarDwight Engen <dwight.engen@oracle.com> Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
parent 9a805057
...@@ -326,22 +326,35 @@ EOF ...@@ -326,22 +326,35 @@ EOF
# allow root login on console, tty[1-4], and pts/0 for libvirt # allow root login on console, tty[1-4], and pts/0 for libvirt
echo "# LXC (Linux Containers)" >>$container_rootfs/etc/securetty echo "# LXC (Linux Containers)" >>$container_rootfs/etc/securetty
echo "lxc/console" >>$container_rootfs/etc/securetty echo "lxc/console" >>$container_rootfs/etc/securetty
echo "lxc/tty1" >>$container_rootfs/etc/securetty for i in 1 2 3 4; do
echo "lxc/tty2" >>$container_rootfs/etc/securetty echo "lxc/tty$i" >>$container_rootfs/etc/securetty
echo "lxc/tty3" >>$container_rootfs/etc/securetty done
echo "lxc/tty4" >>$container_rootfs/etc/securetty
echo "# For libvirt/Virtual Machine Monitor" >>$container_rootfs/etc/securetty echo "# For libvirt/Virtual Machine Monitor" >>$container_rootfs/etc/securetty
echo "pts/0" >>$container_rootfs/etc/securetty for i in 0 1 2 3 4; do
echo "pts/$i" >>$container_rootfs/etc/securetty
done
# prevent mingetty from calling vhangup(2) since it fails with userns # prevent mingetty from calling vhangup(2) since it fails with userns
if [ -f $container_rootfs/etc/init/tty.conf ]; then if [ -f $container_rootfs/etc/init/tty.conf ]; then
sed -i 's|mingetty|mingetty --nohangup|' $container_rootfs/etc/init/tty.conf sed -i 's|mingetty|mingetty --nohangup|' $container_rootfs/etc/init/tty.conf
fi fi
# create maygetty which only spawns a getty on the console when running
# under lxc, not libvirt-lxc which symlinks /dev/console to the same pty
# as /dev/tty1
cat <<EOF >$container_rootfs/sbin/maygetty
#!/bin/sh
if [ "\$container" = "lxc" ]; then
exec /sbin/mingetty \$@
fi
exec sleep infinity
EOF
chmod 755 $container_rootfs/sbin/maygetty
# start a getty on /dev/console, /dev/tty[1-4] # start a getty on /dev/console, /dev/tty[1-4]
if [ $container_release_major = "4" -o $container_release_major = "5" ]; then if [ $container_release_major = "4" -o $container_release_major = "5" ]; then
sed -i 's|mingetty|mingetty --nohangup|' $container_rootfs/etc/inittab sed -i 's|mingetty|mingetty --nohangup|' $container_rootfs/etc/inittab
sed -i '/1:2345:respawn/i cns:2345:respawn:/sbin/mingetty --nohangup --noclear console' $container_rootfs/etc/inittab sed -i '/1:2345:respawn/i cns:2345:respawn:/sbin/maygetty --nohangup --noclear console' $container_rootfs/etc/inittab
sed -i '/5:2345:respawn/d' $container_rootfs/etc/inittab sed -i '/5:2345:respawn/d' $container_rootfs/etc/inittab
sed -i '/6:2345:respawn/d' $container_rootfs/etc/inittab sed -i '/6:2345:respawn/d' $container_rootfs/etc/inittab
fi fi
...@@ -355,9 +368,10 @@ EOF ...@@ -355,9 +368,10 @@ EOF
start on stopped rc RUNLEVEL=[2345] start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345] stop on runlevel [!2345]
env container
respawn respawn
exec /sbin/mingetty --nohangup --noclear /dev/console exec /sbin/maygetty --nohangup --noclear /dev/console
EOF EOF
fi fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment