Размер виртуальной консоли увеличился после обновления до RHEL 6.8

После обновления некоторых виртуальных машин VMware до RHEL 6.8 (ядро 2.6.32-642) выяснилось, что размер виртуальной консоли увеличено - оно огромно.

В консоли не запущен X-сервер, т.е. это классическая текстовая консоль Linux.

Когда я вхожу в систему через виртуальную консоль, значения переменных LINES и COLUMNS :

COLUMNS=160
LINES=48

Как я могу изменить размер консоли?

Спасибо заранее

обновление 1

Я погуглил эту проблему и нашел множество решений с использованием параметра ядра vga = в grub.conf . Я пробовал это, но это не работает; хотя эта опция появляется в / proc / cmdline после перезагрузки - она ​​не игнорируется.

Я нашел эти две строки в выводе dmesg :

Console: colour VGA+ 80x25
console [tty0] enabled

но Я обнаружил много строк ниже:

[drm] DMA map mode: Using physical TTM page addresses.
[drm] Capabilities:
[drm]   Rect copy.
[drm]   Cursor.
[drm]   Cursor bypass.
[drm]   Cursor bypass 2.
[drm]   8bit emulation.
[drm]   Alpha cursor.
[drm]   Extended Fifo.
[drm]   Multimon.
[drm]   Pitchlock.
[drm]   Irq mask.
[drm]   Display Topology.
[drm]   GMR.
[drm]   Traces.
[drm]   GMR2.
[drm]   Screen Object 2.
[drm]   Command Buffers.
[drm] Max GMR ids is 64
[drm] Max number of GMR pages is 65536
[drm] Max dedicated hypervisor surface memory is 163840 kiB
[drm] Maximum display memory size is 8192 kiB
[drm] VRAM at 0xd8000000 size is 8192 kiB
[drm] MMIO at 0xd0800000 size is 256 kiB
[drm] global init.
[TTM] Zone  kernel: Available graphics memory: 8167096 kiB
[TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[TTM] Initializing pool allocator
[TTM] Initializing DMA pool allocator
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.
[drm] Screen Objects Display Unit initialized
[drm] width 1280
[drm] height 768
[drm] bpp 32
[drm] Fifo max 0x00040000 min 0x00001000 cap 0x0000077f
[drm] Using command buffers with DMA pool.
[drm] DX: no.
fbcon: svgadrmfb (fb0) is primary device
Console: switching to colour frame buffer device 160x48
[drm] Initialized vmwgfx 2.9.0 20150810 for 0000:00:0f.0 on minor 0

Вы можете увидеть, как модуль drm устанавливает размер графического экрана (

COLUMNS=160
LINES=48

Как изменить размер консоли?

Заранее спасибо

обновление 1

Я искал эту проблему в Google и нашел множество решений с использованием параметра ядра vga = в grub.conf . Я пробовал это, но это не работает; хотя эта опция появляется в / proc / cmdline после перезагрузки - она ​​не игнорируется.

Я нашел эти две строки в выводе dmesg :

Console: colour VGA+ 80x25
console [tty0] enabled

но Я обнаружил много строк ниже:

[drm] DMA map mode: Using physical TTM page addresses.
[drm] Capabilities:
[drm]   Rect copy.
[drm]   Cursor.
[drm]   Cursor bypass.
[drm]   Cursor bypass 2.
[drm]   8bit emulation.
[drm]   Alpha cursor.
[drm]   Extended Fifo.
[drm]   Multimon.
[drm]   Pitchlock.
[drm]   Irq mask.
[drm]   Display Topology.
[drm]   GMR.
[drm]   Traces.
[drm]   GMR2.
[drm]   Screen Object 2.
[drm]   Command Buffers.
[drm] Max GMR ids is 64
[drm] Max number of GMR pages is 65536
[drm] Max dedicated hypervisor surface memory is 163840 kiB
[drm] Maximum display memory size is 8192 kiB
[drm] VRAM at 0xd8000000 size is 8192 kiB
[drm] MMIO at 0xd0800000 size is 256 kiB
[drm] global init.
[TTM] Zone  kernel: Available graphics memory: 8167096 kiB
[TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[TTM] Initializing pool allocator
[TTM] Initializing DMA pool allocator
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.
[drm] Screen Objects Display Unit initialized
[drm] width 1280
[drm] height 768
[drm] bpp 32
[drm] Fifo max 0x00040000 min 0x00001000 cap 0x0000077f
[drm] Using command buffers with DMA pool.
[drm] DX: no.
fbcon: svgadrmfb (fb0) is primary device
Console: switching to colour frame buffer device 160x48
[drm] Initialized vmwgfx 2.9.0 20150810 for 0000:00:0f.0 on minor 0

Вы можете увидеть, как модуль drm устанавливает размер графического экрана (

COLUMNS=160
LINES=48

Как изменить размер консоли?

Заранее спасибо

обновление 1

Я искал эту проблему в Google и нашел множество решений с использованием параметра ядра vga = в grub.conf . Я пробовал это, но это не работает; хотя эта опция появляется в / proc / cmdline после перезагрузки - она ​​не игнорируется.

Я нашел эти две строки в выводе dmesg :

Console: colour VGA+ 80x25
console [tty0] enabled

но Я обнаружил много строк ниже:

[drm] DMA map mode: Using physical TTM page addresses.
[drm] Capabilities:
[drm]   Rect copy.
[drm]   Cursor.
[drm]   Cursor bypass.
[drm]   Cursor bypass 2.
[drm]   8bit emulation.
[drm]   Alpha cursor.
[drm]   Extended Fifo.
[drm]   Multimon.
[drm]   Pitchlock.
[drm]   Irq mask.
[drm]   Display Topology.
[drm]   GMR.
[drm]   Traces.
[drm]   GMR2.
[drm]   Screen Object 2.
[drm]   Command Buffers.
[drm] Max GMR ids is 64
[drm] Max number of GMR pages is 65536
[drm] Max dedicated hypervisor surface memory is 163840 kiB
[drm] Maximum display memory size is 8192 kiB
[drm] VRAM at 0xd8000000 size is 8192 kiB
[drm] MMIO at 0xd0800000 size is 256 kiB
[drm] global init.
[TTM] Zone  kernel: Available graphics memory: 8167096 kiB
[TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[TTM] Initializing pool allocator
[TTM] Initializing DMA pool allocator
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.
[drm] Screen Objects Display Unit initialized
[drm] width 1280
[drm] height 768
[drm] bpp 32
[drm] Fifo max 0x00040000 min 0x00001000 cap 0x0000077f
[drm] Using command buffers with DMA pool.
[drm] DX: no.
fbcon: svgadrmfb (fb0) is primary device
Console: switching to colour frame buffer device 160x48
[drm] Initialized vmwgfx 2.9.0 20150810 for 0000:00:0f.0 on minor 0

Вы можете увидеть, как модуль drm устанавливает размер графического экрана (1280x768 @ 32 ) и размер текстового экрана ( 160x48 ) . Я ничего не знаю об этом модуле drm . Следующая командная строка показывает кое-что об этом:

# lsmod|grep drm
drm_kms_helper        127219  1 vmwgfx
drm                   362893  4 vmwgfx,ttm,drm_kms_helper
i2c_core               29132  3 i2c_piix4,drm_kms_helper,drm

Я буду искать информацию о модуле drm .

обновление 2

Я подтверждаю, что эта проблема появилась в RHEL 6.8. Я обновил RHEL 6.1 до RHEL 6.7, и размер консоли не изменился.

Позже, когда я обновился до RHEL 6.8, консоль стала огромной.

1
задан 19 July 2016 в 10:49
2 ответа

В двух словах:

Попробуйте отключить драйвер буфера кадра svgadrmfb VMware. У меня было такое же изменение разрешения, и я обнаружил, что фреймбуфер стал включенным после обновления на одной из моих виртуальных машин.

Теперь длинный ответ ...

Я наткнулся на ваш вопрос в поисках ответа на та же самая проблема , хотя в моем случае разрешение экрана изменилось, когда я выполнял перезагрузку после автоматических обновлений на устройстве TurnKey Linux (на основе Debian). Назовем это vm1 .

После того, как покопались в журнале ядра ( dmesg ) и сравнили его с журналом другой виртуальной машины, vm2 (которая все еще была исходное разрешение), я обнаружил, что vm1 содержит следующие дополнительные строки.

[    2.033291] [drm] width 1280
[    2.033305] [drm] height 768
[    2.033318] [drm] bpp 32
[    2.050045] [drm] Fifo max 0x00040000 min 0x00001000 cap 0x0000007f
[    2.085691] fbcon: svgadrmfb (fb0) is primary device
[    2.088207] Console: switching to colour frame buffer device 160x48

Я проверил vm2 и подтвердил, что он не загружал драйвер svgadrmfb (из отсутствие / dev / fb0 ).

Я нашел следующую статью о том, как отключить фреймбуфер: http://kb.digium.com/articles/FAQ/How-to-disable-the-Linux-frame-buffer-if-it-s-causing-problems

Я протестировал предлагаемые параметры загрузки ядра. :

  • vga = normal
  • nofb
  • nomodeset
  • video = vesafb: off (На самом деле, я попробовал video = svgadrmfb: off вместо этого, но это не сработало в любом случае.)
  • i915.modeset = 0

В моем случае у меня сработал nomodeset . Сделав это открытие, я сделал его постоянным следующим образом (я отклонился от шага 4 на связанной странице). Посмотрев на файл /etc/grub.d/10_linux , я понял, что переменная GRUB_CMDLINE_LINUX_DEFAULT в / etc / default / grub - это все, что нужно изменить . (Также предлагается в AskUbuntu # 19486 .)

В моем случае переменная была:

GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"

Я изменил эту строку на:

GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0 nomodeset"

После внесения этого изменения обновите конфигурацию GRUB:

sudo update-grub

Затем выполните init 6 для перезагрузки.

Если ваша система ранее также не загружала svgadrmfb , то разрешение экрана теперь должно вернуться, когда фреймбуфер отключен.

root@server:~# tput cols
80
root@server:~# tput lines
25

Также, как только ваша система загрузится, вы можете проверить эффективную команду загрузки ядра:

root@server:~# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/turnkey-root ro consoleblank=0 nomodeset
2
ответ дан 3 December 2019 в 17:36

Я открыл этот пост в обсуждении RedHat, и член службы поддержки предложил мне этот другой пост . Я пробовал различные показанные решения и добавление параметра ядра

vmwgfx.enable_fbdev=0

в файл конфигурации grub сработало.

Всем спасибо.

2
ответ дан 3 December 2019 в 17:36

Теги

Похожие вопросы