Я устанавливаю Debian Wheezy (7.0rc1) на свой ящик. По причинам, которые я не буду здесь вдаваться, я не хочу, чтобы фреймбуфер использовался для отображения консоли во время загрузки (или после нее). Чтобы этого избежать, я добавил:
GRUB_TERMINAL=console
GRUB_GFXPAYLOAD_LINUX=keep
к /etc/default/grub
. И действительно, я получаю текстовый режим в grub, причем первые пару секунд при загрузке. Но затем консоль переключается на этот адский фреймбуфер! :
[ 4.407402] Console: switching to colour frame buffer device 128x48
[ 4.408544] fb0: nouveaufb frame buffer device
(это отрывок из /var/log/dmesg
.)
Я не мог найти его следов нигде в /etc/init.d
скрипты. Подумал, может это как-то связано с загрузкой модулей ядра - ничего интересного в /etc/modules
или /etc/modprobe.d
либо.
Итак, когда / где это произойдет? И как я могу избежать этого переключения?
(на основе @ Ответ Майкла Хэмптона)
Ядро Linux устанавливает режим отображения, видимо, еще до процесс инициализации бежит. Теперь ядро занимает параметры из загрузчика - поэтому нужно установить параметр, запрещающий переключать режим отображения. Однако это еще не все: после того, как режим отображения был установлен, есть также настройка шрифтов, которая сама по себе как бы портит ваш дисплей; в Debian Wheezy это делается /etc/init.d/console-setup
, поэтому вы также должны учитывать, что именно он делает.
Для большей согласованности вам следует сделать следующее:
В /etc/default/grub
добавьте строку
GRUB_CMDLINE_LINUX="nomodeset"
или, если у вас уже есть GRUB_CMDLINE_LINUX
установка, добавить nomodeset
к нему.
В /etc/default/console-setup
заменить
FONTFACE="Fixed"
с участием
FONTFACE="VGA"
или, как вариант, не запускать /etc/init.d/console-setup
на уровне rcS (например, используя update-rc.d
команда).
Насколько я могу судить, шрифт "VGA" такой же, как и тот, который у вас уже должен быть, поэтому изменение шрифта не должно иметь никакого эффекта, если вы выберете его. Однако я не совсем уверен, что это универсально верно, так что, возможно, вам лучше вообще избегать изменения шрифта.
Добавьте в командную строку ядра следующее:
vga=normal nomodeset