Нет текстовой консоли с кастомным ядром
Недавно я начал использовать свои собственные ядра в Ubuntu, и они работают без проблем, за исключением того, что у меня нет текстовой консоли, когда я нажимаю любую комбинацию клавиш Ctrl+Alt+Fn. Я вижу только заставку Ubuntu. Я думал, что это как-то связано с настройками графики в конфигурации ядра в разделе Драйверы устройств -> Поддержка графики, особенно в настройках буфера кадров. У меня активировано все, что активно в ядре, предоставляемом Ubuntu, за исключением драйверов fb для определенных наборов микросхем, кроме nvidiafb
, так как у меня есть карта Nvidia. Вот включенные настройки:
CONFIG_FB=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
CONFIG_FB_SYS_FOPS=m
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_NVIDIA=m
CONFIG_FB_NVIDIA_I2C=y
CONFIG_FB_NVIDIA_BACKLIGHT=y
Интересно, какая настройка ядра отвечает за текстовую консоль. Моя политика конфигурирования моего собственного ядра состояла в том, чтобы отключить все, что, как я предполагал, мне не нужно, особенно все загружаемые модули ядра для конкретных устройств, которые включены в собственное ядро. Конечно, я оставил много вариантов без изменений, так как понятия не имел, о чем они.
Для своих пользовательских ядер я всегда использовал последний исходный код ядра, зависящий от linux-source
пакет, который в данный момент находится в версии 4.15.0-45.48
с 29 января. Я использую Ubuntu 18.04 LTS.
Обновление: я скомпилировал новое ядро с опцией CONFIG_FRAMEBUFFER_CONSOLE=y
, С этим ядром у меня есть текстовая консоль, однако проприетарный драйвер Nvidia, который я использовал, не загружен. Что мне нужно сделать, чтобы иметь этот драйвер для моего нового ядра?
1 ответ
Оно работает! Мне пришлось включить опцию ядра
CONFIG_FRAMEBUFFER_CONSOLE=y
Однако после загрузки нового ядра проприетарный драйвер Nvidia отсутствовал. Я должен был сделать
dpkg-reconfigure nvidia-dkms-390
для того, чтобы построить этот драйвер для моего ядра. Это также построить модуль nvidia.ko
для общего ядра, что меня удивляет, так как это ядро уже использовало драйвер nvidia
, Теперь мне интересно, где этот модуль ядра был расположен, если не был в /lib/modules/4.15.0-45-generic/updates/dkms/nvidia.ko
?