diff --git a/README.md b/README.md index 2dac0dc05..b1aba4438 100644 --- a/README.md +++ b/README.md @@ -249,6 +249,15 @@ comma-delimited string. Some examples: * break=after-first-boot,before-pre-install will break after the first-boot hooks and before the pre-install hooks. +Images are built such that the Linux kernel is instructed not to switch into +graphical consoles (i.e. it will not activate KMS). This maximises +compatibility with remote console interception hardware, such as HP's iLO. +However, you will typicallly only see kernel messages on the console - init +daemons (e.g. upstart) will usually be instructed to output to a serial +console so nova's console-log command can function. There is an element in the +tripleo-image-elements repository called "remove-serial-console" which will +force all boot messages to appear on the main console. + Testing Elements ---------------- diff --git a/elements/base/install.d/05-force-text-mode-console b/elements/base/install.d/05-force-text-mode-console new file mode 100755 index 000000000..b2528bda4 --- /dev/null +++ b/elements/base/install.d/05-force-text-mode-console @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +# If lsb_release is missing, just do nothing. +DISTRO=`lsb_release -si` || true + +GRUBFILE="" + +case $DISTRO in + 'Ubuntu'|'Debian') + sed -i -e 's/\(^GRUB_CMDLINE_LINUX.*\)"$/\1 nomodeset vga=normal"/' /etc/default/grub + ;; + 'Fedora') + echo 'GRUB_CMDLINE_LINUX="nomodeset vga=normal"' >/etc/default/grub + sed -i -e 's/terminal_output gfxterm/terminal_output console/' /boot/grub2/grub.cfg + ;; +esac + +echo 'GRUB_TERMINAL=console' >>/etc/default/grub +