Set kmsg to 0 by default

It's now been proven over and over again that the symlink from /dev/kmsg
to /dev/console is harmful for everything but upstart systems. As Ubuntu
is now switching over to systemd too, lets switch the default.

Upstart users wishing to see boot messages can always set lxc.kmsg = 1
manually in their config (so long as they don't expect to then
dist-upgrade the container to systemd succesfuly).

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
Stéphane Graber 2015-01-20 18:40:17 -05:00
parent 124fa0a869
commit d89de2399c
7 changed files with 3 additions and 32 deletions

View File

@ -4,9 +4,6 @@ lxc.include = @LXCTEMPLATECONFIG@/common.conf
# Allow for 6 tty devices by default
lxc.tty = 6
# Disable kmsg
lxc.kmsg = 0
# Set the halt/stop signals
lxc.haltsignal=SIGRTMIN+4
lxc.stopsignal=SIGRTMIN+14

View File

@ -674,7 +674,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<refsect2>
<title>Enable kmsg symlink</title>
<para>
Enable creating /dev/kmsg as symlink to /dev/console. This defaults to 1.
Enable creating /dev/kmsg as symlink to /dev/console. This defaults to 0.
</para>
<variablelist>
<varlistentry>
@ -683,7 +683,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
</term>
<listitem>
<para>
Set this to 0 to disable /dev/kmsg symlinking.
Set this to 1 to enable /dev/kmsg symlinking.
</para>
</listitem>
</varlistentry>

View File

@ -2523,7 +2523,7 @@ struct lxc_conf *lxc_conf_init(void)
free(new);
return NULL;
}
new->kmsg = 1;
new->kmsg = 0;
lxc_list_init(&new->cgroup);
lxc_list_init(&new->network);
lxc_list_init(&new->mount_list);

View File

@ -188,12 +188,6 @@ configure_debian_systemd()
path=$1
rootfs=$2
init="$(chroot ${rootfs} dpkg-query --search /sbin/init | cut -d : -f 1)"
if [ "$init" = "systemd-sysv" ]; then
# only appropriate when systemd is PID 1
echo 'lxc.kmsg = 0' >> "$path/config"
fi
# this only works if we have getty@.service to manipulate
if [ -f ${rootfs}/lib/systemd/system/getty\@.service ]; then
sed -e 's/^ConditionPathExists=/# ConditionPathExists=/' \

View File

@ -1117,12 +1117,6 @@ lxc.include = @LXCTEMPLATECONFIG@/fedora.common.conf
" >> $config_path/config
fi
if [ "x$have_systemd" = "x1" ]; then
cat <<EOF >> $config_path/config
lxc.kmsg = 0
EOF
fi
# Append things which require expansion here...
cat <<EOF >> $config_path/config
lxc.arch = $arch
@ -1344,14 +1338,6 @@ if [ -z "$release" ]; then
fi
fi
# Fedora 15 and above run systemd.We need autodev enabled to keep
# systemd from causing problems.
# Also, kmsg must not be mapped to prevent a 100% cpu loop
# in systemd-journald.
if [ $release -gt 14 ]; then
have_systemd="1"
fi
if [ "$(id -u)" != "0" ]; then
echo "This script should be run as 'root'"
exit 1

View File

@ -480,11 +480,6 @@ EOF
echo "lxc.cap.drop = setfcap setpcap" >>$cfg_dir/config
fi
# don't create kmsg symlink as it causes journald to use 100% cpu
if [ $container_release_major = "7" ]; then
echo "lxc.kmsg = 0" >>$cfg_dir/config
fi
echo "# Networking" >>$cfg_dir/config
# see if the network settings were already specified
lxc_network_type=`grep '^lxc.network.type' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`

View File

@ -129,7 +129,6 @@ copy_configuration()
cat <<EOF >> $path/config
lxc.utsname = $name
lxc.pts = 1024
lxc.kmsg = 0
lxc.cap.drop = sys_module mac_admin mac_override sys_time
# When using LXC with apparmor, uncomment the next line to run unconfined: