Кажется, что наконец я достиг разумной framebuffer
конфигурации. Это соответствующие настройки внутри моего ядра .config
:
CONFIG_AGP=y CONFIG_AGP_INTEL=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y CONFIG_FIRMWARE_EDID=y CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_VESA=y CONFIG_VGA_CONSOLE=y CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=640 CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y CONFIG_LOGO=y CONFIG_LOGO_LINUX_MONO=y CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_CLUT224=y
и это diff
между старой и новой framebuffer
конфигурацией:
#> diff oldcfg.txt newcfg.txt --- oldcfg.txt 2012-10-01 17:30:01.000000000 +0200 +++ newcfg.txt 2012-10-01 17:29:43.000000000 +0200 @@ -2,20 +2,14 @@ CONFIG_AGP_INTEL=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 -CONFIG_DRM=y -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_I915=y -CONFIG_DRM_I915_KMS=y CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y -CONFIG_FB_MODE_HELPERS=y CONFIG_FB_VESA=y -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_VGA_CONSOLE=y CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=640
Эта конфигурация производит Knoppix
похожий на вывод загрузки. Я до сих пор не понимаю, кто или что очищает экран непосредственно перед появлением приглашения на вход в систему, но сейчас я вполне доволен. Я обновлю этот ответ, если смогу точно определить виновника.
РЕДАКТИРОВАТЬ: обнаружил (два) виновного (ых).
После нескольких часов поисков я нашел решение в этой теме и в этом вопросе . Эта процедура работает Ubuntu 12.04.1 LTS
так же, как описано здесь, но она не должна сильно отличаться для других дистрибутивов.
Во-первых, добавьте console=tty1
в свой GRUB_CMDLINE_LINUX
(я также предлагаю добавить noplymouth
запретить plymouth
и его бесполезный экран-заставку).
#> sudo vi /etc/default/grub GRUB_CMDLINE_LINUX="console=tty1 noplymouth"
Это вынуждает печатать журнал ядра tty1
вместо tty7
и избегать tty
переключения перед приглашением входа в систему.
Тогда просто зайдите в /etc/init
и редактировать один или несколько tty1.conf
, tty2.conf
, tty3.conf
, tty4.conf
, tty5.conf
, tty6.conf
или console.conf
. Я отредактировал их все, добавив --noclear
опцию в getty
команду. Например, редактирование tty1.conf
:
#> sudo vi /etc/init/tty1.conf
вам придется заменить:
respawn exec /sbin/getty -8 38400 tty1
с:
respawn exec /sbin/getty -8 38400 --noclear tty1
Вот и все, теперь ваша система должна загрузиться в одном, tty
не очищая его.