Merge force-text-mode-console into the bootloader script
52-force-text-mode-console, running after 51-bootloader, calls grub2-mkconfig (on Ubuntu that will happen via the update-grub call). This call will overwrite all the changes that 51-bootloader did to the grub.cfg. By merging the 52-force-text-mode-console code into 51-bootloader we avoid that. This also means that 51-bootloader will now call grub2-mkconfig regardless of whether there is already and existing grub2 configuration or not (52-force-text-mode-console did that in the past anyway). Additionally this commit enables the force to textmode code for openSUSE (was previously only working correctly for Ubuntu and Fedora). Closes-Bug: #1260323 Change-Id: Ida8e1a69df22d41ad70eb7154707c50613b536a8
This commit is contained in:
@@ -120,24 +120,31 @@ function install_grub2 {
|
|||||||
|
|
||||||
# This might be better factored out into a per-distro 'install-bootblock'
|
# This might be better factored out into a per-distro 'install-bootblock'
|
||||||
# helper.
|
# helper.
|
||||||
if [ -f "/boot/grub/grub.cfg" ] ; then
|
if [ -d /boot/grub2 ]; then
|
||||||
GRUB_CFG=/boot/grub/grub.cfg
|
|
||||||
elif [ -f "/boot/grub2/grub.cfg" ] ; then
|
|
||||||
GRUB_CFG=/boot/grub2/grub.cfg
|
GRUB_CFG=/boot/grub2/grub.cfg
|
||||||
|
elif [ -d /boot/grub ]; then
|
||||||
|
GRUB_CFG=/boot/grub/grub.cfg
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If GRUB configuration file does not exist, generate one
|
|
||||||
if [ ! $GRUB_CFG ]; then
|
|
||||||
if [ -d /boot/grub2 ]; then
|
|
||||||
GRUB_CFG=/boot/grub2/grub.cfg
|
|
||||||
elif [ -d /boot/grub ]; then
|
|
||||||
GRUB_CFG=/boot/grub/grub.cfg
|
|
||||||
fi
|
|
||||||
grub2-mkconfig -o $GRUB_CFG
|
|
||||||
fi;
|
|
||||||
|
|
||||||
DIST=`lsb_release -is`
|
DIST=`lsb_release -is`
|
||||||
[ -n "$DIST" ]
|
[ -n "$DIST" ]
|
||||||
|
echo 'GRUB_TERMINAL=console' >>/etc/default/grub
|
||||||
|
echo 'GRUB_GFXPAYLOAD_LINUX=text' >>/etc/default/grub
|
||||||
|
GRUB_MKCONFIG="grub2-mkconfig -o $GRUB_CFG"
|
||||||
|
case $DIST in
|
||||||
|
'Ubuntu'|'Debian')
|
||||||
|
sed -i -e 's/\(^GRUB_CMDLINE_LINUX.*\)"$/\1 nofb nomodeset vga=normal"/' /etc/default/grub
|
||||||
|
GRUB_MKCONFIG=update-grub
|
||||||
|
;;
|
||||||
|
'Fedora')
|
||||||
|
echo 'GRUB_CMDLINE_LINUX="nofb nomodeset vga=normal"' >>/etc/default/grub
|
||||||
|
;;
|
||||||
|
'openSUSE project')
|
||||||
|
sed -i -e 's/\(^GRUB_CMDLINE_LINUX.*\)"$/\1 nofb nomodeset vga=normal"/' /etc/default/grub
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
$GRUB_MKCONFIG
|
||||||
|
|
||||||
RELEASE=`lsb_release -cs`
|
RELEASE=`lsb_release -cs`
|
||||||
[ -n "$RELEASE" ]
|
[ -n "$RELEASE" ]
|
||||||
# grub-mkconfig generates a config with the device in it,
|
# grub-mkconfig generates a config with the device in it,
|
||||||
|
@@ -1,26 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# If lsb_release is missing, just do nothing.
|
|
||||||
DISTRO=`lsb_release -si` || true
|
|
||||||
|
|
||||||
GRUBFILE=""
|
|
||||||
|
|
||||||
echo 'GRUB_TERMINAL=console' >>/etc/default/grub
|
|
||||||
echo 'GRUB_GFXPAYLOAD_LINUX=text' >>/etc/default/grub
|
|
||||||
|
|
||||||
case $DISTRO in
|
|
||||||
'Ubuntu'|'Debian')
|
|
||||||
sed -i -e 's/\(^GRUB_CMDLINE_LINUX.*\)"$/\1 nofb nomodeset vga=normal"/' /etc/default/grub
|
|
||||||
update-grub
|
|
||||||
;;
|
|
||||||
'Fedora')
|
|
||||||
# By default the F19 cloud image is using extlinux to boot the image
|
|
||||||
if [ -f /boot/grub2/grub.cfg ]; then
|
|
||||||
echo 'GRUB_CMDLINE_LINUX="nofb nomodeset vga=normal"' >/etc/default/grub
|
|
||||||
sed -i -e 's/terminal_output gfxterm/terminal_output console/' /boot/grub2/grub.cfg
|
|
||||||
grub2-mkconfig -o /boot/grub2/grub.cfg
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
Reference in New Issue
Block a user