O tamanho do console virtual aumentou após a atualização para o RHEL 6.8

1

Após atualizar algumas máquinas virtuais VMware para o RHEL 6.8 (kernel 2.6.32-642), parece que o tamanho do console virtual foi aumentado - é enorme.

Nenhum servidor X está sendo executado no console, ou seja, é um console linux clássico baseado em texto.

Quando efetuo login pelo console virtual, os valores das variáveis LINES e COLUMNS são:

COLUMNS=160
LINES=48

Como posso redimensionar o console?

Thanx antecipadamente

atualização 1

Eu pesquisei esse problema e encontrei muitas soluções usando a opção vga= kernel em grub.conf . Eu tentei isso, mas não funciona; embora essa opção apareça em /proc/cmdline após a reinicialização - ela não é ignorada.

Encontrei estas duas linhas na dmesg output:

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

mas muitas linhas abaixo, eu encontrei:

[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

Você pode ver como o módulo drm configura o tamanho de tela gráfico ( 1280x768@32 ) e o tamanho de tela de texto ( 160x48 ) . Eu não sei nada sobre este módulo drm . A seguinte linha de comando mostra algo sobre isso:

# 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

Eu procurarei informações sobre o módulo drm .

atualização 2

Confirmo que esse problema foi introduzido no RHEL 6.8. Atualizei uma caixa RHEL 6.1 para o RHEL 6.7 e o tamanho do console não sofreu alteração.

Mais tarde, quando eu tiver atualizado para o RHEL 6.8, o console se tornou enorme.

    
por Jdamian 13.07.2016 / 10:22

2 respostas

2

Resumindo:

Tente desabilitar o driver% framebuffer da VMware. Tive a mesma alteração na resolução e descobri que o framebuffer foi ativado após uma atualização em uma das minhas máquinas virtuais.

Agora, para a resposta longa ...

Me deparei com sua pergunta em busca de uma resposta para o problema mesmo exato , embora no meu caso a resolução da tela tenha mudado quando fiz uma reinicialização após atualizações automáticas em um dispositivo TurnKey Linux -Sediada). Vamos chamar isso de vm1 .

Depois de vasculhar o log do kernel ( svgadrmfb ) e compará-lo ao log de outra VM, vm2 (que ainda tinha a resolução original), encontrei vm1 tinha as seguintes linhas adicionais.

[    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

Eu verifiquei vm2 e confirmei que ele não havia carregado o driver dmesg (da ausência de svgadrmfb ).

Eu encontrei o seguinte artigo sobre como desabilitar o framebuffer: link

Eu testei os parâmetros sugeridos de inicialização do kernel:

  • /dev/fb0
  • vga=normal
  • nofb
  • nomodeset (Na verdade, tentei video=vesafb:off , mas não funcionou mesmo assim.)
  • video=svgadrmfb:off

No meu caso, foi i915.modeset=0 que funcionou para mim. Uma vez que fiz esta descoberta, tornei-a permanente como segue (desviei da etapa 4 na página vinculada). Depois de olhar para o arquivo nomodeset , percebi que a variável /etc/grub.d/10_linux em GRUB_CMDLINE_LINUX_DEFAULT era tudo que precisava mudar. (Também sugerido em AskUbuntu # 19486 .)

No meu caso, a variável foi:

GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"

Alterei esta linha para:

GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0 nomodeset"

Após fazer essa alteração, atualize a configuração do GRUB:

sudo update-grub

Em seguida, emita um /etc/default/grub para reinicializar.

Se o seu sistema anteriormente não estava carregando init 6 , a resolução da tela agora deve retornar quando o buffer de quadros está desativado.

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

Além disso, assim que o sistema for inicializado, você poderá verificar o comando efetivo de inicialização do kernel:

root@server:~# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/turnkey-root ro consoleblank=0 nomodeset
    
por 25.07.2016 / 05:53
2

Eu abri esta postagem na discussão da RedHat e um membro de suporte me sugeriu este outro post . Eu tentei as diferentes soluções mostradas e adicionando a opção do kernel

vmwgfx.enable_fbdev=0

no arquivo de configuração grub funcionou.

Obrigado a todos.

    
por 28.07.2016 / 13:45