Вопрос или проблема
- Новая установка OpenBSD 7.6
- Выбор “нет” в качестве кодировки клавиатуры во время установки – работает
- Клавиатура подключена через KVM
- Перезагрузка -> запрос на вход
- На запросе входа; при нажатии любой клавиши система распознает USB-клавиатуру
- Успешный вход, но с другой/стандартной кодировкой клавиатуры (UK/US)
После входа кодировка клавиатуры успешно изменена с помощью wsconsclt
, и я обновил /etc/wsconsctl.conf
соответственно (keyboard.encoding=no
), однако после перезагрузки настройки кодировки клавиатуры, похоже, теряются.
Есть ли способ сделать так, чтобы настройки кодировки клавиатуры сохранялись, независимо от того, какие клавиатуры подключены, когда происходит загрузка?
Запуск на Dell PowerEdge R210 II.
dmesg:
OpenBSD 7.6 (GENERIC.MP) #338: Пн Сен 30 08:55:35 MDT 2024
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
реальная память = 8539275264 (8143MB)
доступная память = 8257208320 (7874MB)
случайный: хорошее семя из загрузочных блоков
mpath0 на корне
scsibus0 на mpath0: 256 целей
mainbus0 на корне
bios0 на mainbus0: SMBIOS rev. 2.7 @ 0xe66c0 (57 записей)
bios0: производитель Dell Inc. версия "2.10.0" дата 05/24/2018
bios0: Dell Inc. PowerEdge R210 II
acpi0 на bios0: ACPI 4.0
acpi0: спящие состояния S0 S4 S5
acpi0: таблицы DSDT FACP SPMI ASF! HPET APIC MCFG BOOT SSDT ASPT SSDT SPCR HEST ERST BERT EINJ
acpi0: устройства пробуждения P0P1(S4) GLAN(S0) EHC1(S4) EHC2(S4) XHC_(S4) RP01(S5) PXSX(S4) RP02(S5) PXSX(S4) RP03(S5) PXSX(S4) RP04(S5) PXSX(S4) RP05(S5) PXSX(S4) RP06(S5) [...]
acpitimer0 на acpi0: 3579545 Гц, 24 бита
acpihpet0 на acpi0: 14318179 Гц
acpimadt0 на acpi0 addr 0xfee00000: совместимость с PC-AT
cpu0 на mainbus0: apid 0 (процессор загрузки)
cpu0: Intel(R) Xeon(R) CPU E31220 @ 3.10GHz, 1596.40 МГц, 06-2a-07, патч 0000002f
cpu0: cpuid 1 edx=bfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> ecx=17bae3ff<SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX>
cpu0: cpuid 6 eax=75<SENSOR,ARAT> ecx=9<EFFFREQ>
cpu0: cpuid 7.0 edx=9c000400<MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD>
cpu0: cpuid a vers=3, gp=8, gpwidth=48, ff=3, ffwidth=48
cpu0: cpuid d.1 eax=1<XSAVEOPT>
cpu0: cpuid 80000001 edx=28100800<NXE,RDTSCP,LONG> ecx=1<LAHF>
cpu0: cpuid 80000007 edx=100<ITSC>
cpu0: MELTDOWN
cpu0: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line 8-way L2 cache, 8MB 64b/line 16-way L3 cache
cpu0: smt 0, core 0, package 0
mtrr: поддержка MTRR Pentium Pro, 10 переменных диапазонов, 88 фиксированных диапазонов
cpu0: такт APIC работает на 99 МГц
cpu0: mwait min=64, max=64, C-substates=0.2.1.1, IBE
cpu1 на mainbus0: apid 2 (процессор приложения)
cpu1: Intel(R) Xeon(R) CPU E31220 @ 3.10GHz, 1596.42 МГц, 06-2a-07, патч 0000002f
cpu1: smt 0, core 1, package 0
cpu2 на mainbus0: apid 4 (процессор приложения)
cpu2: Intel(R) Xeon(R) CPU E31220 @ 3.10GHz, 1596.41 МГц, 06-2a-07, патч 0000002f
cpu2: smt 0, core 2, package 0
cpu3 на mainbus0: apid 6 (процессор приложения)
cpu3: Intel(R) Xeon(R) CPU E31220 @ 3.10GHz, 1596.42 МГц, 06-2a-07, патч 0000002f
cpu3: smt 0, core 3, package 0
ioapic0 на mainbus0: apid 0 pa 0xfec00000, версия 20, 24 контакта
acpimcfg0 на acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpiprt0 на acpi0: bus 0 (PCI0)
acpiprt1 на acpi0: bus 2 (P0P1)
acpiprt2 на acpi0: bus 1 (RP01)
acpiprt3 на acpi0: bus -1 (RP02)
acpiprt4 на acpi0: bus -1 (RP03)
acpiprt5 на acpi0: bus -1 (RP04)
acpiprt6 на acpi0: bus -1 (RP05)
acpiprt7 на acpi0: bus -1 (RP06)
acpiprt8 на acpi0: bus -1 (RP07)
acpiprt9 на acpi0: bus -1 (RP08)
acpiprt10 на acpi0: bus -1 (PEG0)
acpiprt11 на acpi0: bus -1 (PEG1)
acpiprt12 на acpi0: bus -1 (PEG2)
acpiprt13 на acpi0: bus -1 (PEG3)
acpipci0 на acpi0 PCI0: 0x00000010 0x00000011 0x00000000
"IPI0001" на acpi0 не настроен
acpicmos0 на acpi0
"PNP0A05" на acpi0 не настроен
"PNP0A05" на acpi0 не настроен
com0 на acpi0 UAR3 addr 0x3f8/0x8 irq 4: ns16550a, 16 byte fifo
com1 на acpi0 UAR4 addr 0x2f8/0x8 irq 3: ns16550a, 16 byte fifo
"PNP0C14" на acpi0 не настроен
"PNP0C0B" на acpi0 не настроен
"PNP0C0B" на acpi0 не настроен
"PNP0C0B" на acpi0 не настроен
"PNP0C0B" на acpi0 не настроен
"PNP0C0B" на acpi0 не настроен
acpicpu0 на acpi0: C3(350@104 mwait.1@0x20), C2(500@80 mwait.1@0x10), C1(1000@1 mwait.1)
acpicpu1 на acpi0: C3(350@104 mwait.1@0x20), C2(500@80 mwait.1@0x10), C1(1000@1 mwait.1)
acpicpu2 на acpi0: C3(350@104 mwait.1@0x20), C2(500@80 mwait.1@0x10), C1(1000@1 mwait.1)
acpicpu3 на acpi0: C3(350@104 mwait.1@0x20), C2(500@80 mwait.1@0x10), C1(1000@1 mwait.1)
acpipwrres0 на acpi0: FN00, ресурс для FAN0
acpipwrres1 на acpi0: FN01, ресурс для FAN1
acpipwrres2 на acpi0: FN02, ресурс для FAN2
acpipwrres3 на acpi0: FN03, ресурс для FAN3
acpipwrres4 на acpi0: FN04, ресурс для FAN4
acpitz0 на acpi0: критическая температура = 95 ℃
ipmi на mainbus0 не настроен
cpu0: использование обходного решения VERW MDS (за исключением входа vmm)
pci0 на mainbus0 bus 0
pchb0 на pci0 dev 0 function 0 "Intel Xeon E3-1200 Host" rev 0x09
ehci0 на pci0 dev 26 function 0 "Intel 6 Series USB" rev 0x04: apic 0 int 20
usb0 на ehci0: USB revision 2.0
uhub0 на usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb0 на pci0 dev 28 function 0 "Intel 6 Series PCIE" rev 0xb4: msi
pci1 на ppb0 bus 1
bnx0 на pci1 dev 0 function 0 "Broadcom BCM5716" rev 0x20: apic 0 int 16
bnx1 на pci1 dev 0 function 1 "Broadcom BCM5716" rev 0x20: apic 0 int 17
ehci1 на pci0 dev 29 function 0 "Intel 6 Series USB" rev 0x04: apic 0 int 23
usb1 на ehci1: USB revision 2.0
uhub1 на usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb1 на pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xa4
pci2 на ppb1 bus 2
vga1 на pci2 dev 3 function 0 "Matrox MGA G200eW" rev 0x0a
wsdisplay0 на vga1 mux 1: консоль (80x25, эмуляция vt100)
wsdisplay0: экран 1-5 добавлен (80x25, эмуляция vt100)
pcib0 на pci0 dev 31 function 0 "Intel C202 LPC" rev 0x04
ahci0 на pci0 dev 31 function 2 "Intel 6 Series AHCI" rev 0x04: msi, AHCI 1.3
ahci0: порт 0: 3.0Gb/s
ahci0: порт 1: 3.0Gb/s
ahci0: порт 4: 1.5Gb/s
scsibus1 на ahci0: 32 цели
sd0 на scsibus1 targ 0 lun 0: <ATA, Hitachi HUA72302, MK7O> naa.5000cca223e4d90f
sd0: 1907729MB, 512 bytes/sector, 3907029168 сектора
sd1 на scsibus1 targ 1 lun 0: <ATA, Hitachi HUA72302, MK7O> naa.5000cca223e4e7a9
sd1: 1907729MB, 512 bytes/sector, 3907029168 сектора
cd0 на scsibus1 targ 4 lun 0: <TSSTcorp, DVD+-RW TS-L633J, D250> съемный
ichiic0 на pci0 dev 31 function 3 "Intel 6 Series SMBus" rev 0x04: apic 0 int 19
iic0 на ichiic0
sdtemp0 на iic0 addr 0x19: mcp98243
sdtemp1 на iic0 addr 0x1b: mcp98243
spdmem0 на iic0 addr 0x51: 4GB DDR3 SDRAM ECC PC3-12800 с термодатчиком
spdmem1 на iic0 addr 0x53: 4GB DDR3 SDRAM ECC PC3-12800 с термодатчиком
isa0 на pcib0
isadma0 на isa0
pckbc0 на isa0 port 0x60/5 irq 1 irq 12
pcppi0 на isa0 port 0x61
spkr0 на pcppi0
uhub2 на uhub0 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
uhub3 на uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
uhub4 на uhub3 port 2 configuration 1 interface 0 "QinHeng Electronics WCH.CN" rev 2.00/9.00 addr 3
uhub4: сброс порта 2 не удался
uhub5 на uhub3 port 5 configuration 1 interface 0 "Standard Microsystems product 0x2514" rev 2.00/0.00 addr 4
vscsi0 на корне
scsibus2 на vscsi0: 256 целей
softraid0 на корне
scsibus3 на softraid0: 256 целей
sd2 на scsibus3 targ 1 lun 0: <OPENBSD, SR RAID 1, 006>
sd2: 1907728MB, 512 bytes/sector, 3907028576 сектора
root на sd2a (6824914e7e7bf790.a) swap на sd2b dump на sd2b
bnx0: адрес d0:67:e5:f1:a3:f3
brgphy0 на bnx0 phy 1: BCM5709, rev. 8
bnx1: адрес d0:67:e5:f1:a3:f4
brgphy1 на bnx1 phy 1: BCM5709, rev. 8
uhidev0 на uhub4 port 1 configuration 1 interface 0 "PixArt HP USB Optical Mouse" rev 2.00/1.00 addr 5
uhidev0: iclass 3/1
ums0 на uhidev0: 3 кнопки, Z направление
wsmouse0 на ums0 mux 0
uhidev1 на uhub4 port 2 configuration 1 interface 0 "PixArt HP USB Optical Mouse" rev 2.00/1.00 addr 6
uhidev1: iclass 3/1
ums1 на uhidev1: 3 кнопки, Z направление
wsmouse1 на ums1 mux 0
wsmouse0 отсоединен
ums0 отсоединен
uhidev0 отсоединен
uhidev0 на uhub4 port 1 configuration 1 interface 0 "CHICONY HP Basic USB Keyboard" rev 2.00/1.30 addr 5
uhidev0: iclass 3/1
ukbd0 на uhidev0: 8 переменных клавиш, 6 кодов клавиш
wskbd0 на ukbd0: консольная клавиатура, использующая wsdisplay0
umass0 на uhub5 port 2 configuration 1 interface 0 "General UDisk" rev 2.00/1.00 addr 7
umass0: использование SCSI через Bulk-Only
scsibus4 на umass0: 2 цели, инициатор 0
sd3 на scsibus4 targ 1 lun 0: <General, UDisk, 5.00> съемный
sd3: 1900MB, 512 bytes/sector, 3891200 сектора
sd3 отсоединен
scsibus4 отсоединен
umass0 отсоединен
umass0 на uhub5 port 1 configuration 1 interface 0 "General UDisk" rev 2.00/1.00 addr 7
umass0: использование SCSI через Bulk-Only
scsibus4 на umass0: 2 цели, инициатор 0
sd3 на scsibus4 targ 1 lun 0: <General, UDisk, 5.00> съемный
sd3: 1900MB, 512 bytes/sector, 3891200 сектора
sd3 отсоединен
scsibus4 отсоединен
umass0 отсоединен
umass0 на uhub5 port 2 configuration 1 interface 0 "General UDisk" rev 2.00/1.00 addr 7
umass0: использование SCSI через Bulk-Only
scsibus4 на umass0: 2 цели, инициатор 0
sd3 на scsibus4 targ 1 lun 0: <General, UDisk, 5.00> съемный
sd3: 1900MB, 512 bytes/sector, 3891200 сектора
Мумбо sd3 внизу – это просто часть моего вывода dmesg.
Ответ или решение
Кодировка клавиатуры при загрузке через KVM в OpenBSD 7.6
Введение
Установка и настройка операционной системы, такой как OpenBSD 7.6, на серверном оборудовании Dell PowerEdge R210 II может включать в себя множество нюансов, особенно когда речь идет о кодировке клавиатуры и её взаимодействии с KVM (Keyboard, Video, Mouse). Данная статья подробно освещает проблему кодировки клавиатуры при загрузке системы через KVM, включая возможные решения и рекомендации.
Проблема с кодировкой клавиатуры
По умолчанию, во время установки OpenBSD вам может быть предложено выбрать кодировку клавиатуры. В вашем случае, вы выбрали "no", и установка прошла успешно. Однако при перезагрузке системы вы заметили, что кодировка клавиатуры отличается от той, которую вы установили ранее (например, она изменилась на UK/US), несмотря на возможность ввода через USB клавиатуру и успешный вход в систему.
Анализ ситуации
Некоторые ключевые моменты, о которых стоит упомянуть:
- Клавиатура подключена через KVM. Это может повлиять на распознавание клавиатуры при загрузке, так как KVM может не передавать правильные сигналы о устройстве.
- Настройка wsconsclt. Вы правильно изменили настройки кодировки клавиатуры с помощью команды
wsconsclt
и обновили файл конфигурации/etc/wsconsctl.conf
, добавив строкуkeyboard.encoding=no
. Однако эти настройки сбрасываются при перезагрузке.
Решения
-
Проверка BIOS/UEFI:
- Перейдите в настройки BIOS/UEFI и убедитесь, что там не настроено изменение параметров клавиатуры или USB-устройств. Некоторые системы могут иметь опции, влияющие на поведение KVM или USB-устройств, которые стоит проверить.
-
Клавиатура как основное устройство ввода:
- Убедитесь, что KVM действительно правильно распознаёт клавиатуру в момент загрузки. Попробуйте подключить клавиатуру напрямую к серверу, а не через KVM, и посмотрите, вернётся ли кодировка в норму.
-
Скрипты запуска:
- Рассмотрите возможность создания скрипта, который будет автоматически изменять кодировку клавиатуры при загрузке. Вы можете добавить нужные команды в файл
/etc/rc.local
или создать службу, которая будет запускаться при загрузке.
- Рассмотрите возможность создания скрипта, который будет автоматически изменять кодировку клавиатуры при загрузке. Вы можете добавить нужные команды в файл
-
Проверка файлов консоли:
- Убедитесь, что все необходимые файлы консоли находятся на месте и правильно настроены. Возможно, стоит ознакомиться с документацией OpenBSD по настройке консольных параметров.
-
Обновление KVM:
- Если проблема сохраняется, возможно, стоит обновить прошивку KVM или поменять модель устройства, так как некоторые KVM могут не полностью поддерживать все функции USB-клавиатур.
Заключение
Проблема с кодировкой клавиатуры при загрузке через KVM в OpenBSD 7.6 может быть вызвана множеством факторов, начиная от ошибок в BIOS и заканчивая некорректной работой KVM. Систематический подход к решению этой проблемы, включая проверку оборудования и настроек, может помочь вам обеспечить стабильную работу клавиатуры и избежать повторяющихся настроек после каждой перезагрузки. Если все ещё возникают сложности, рекомендую обратиться к сообществу OpenBSD для получения дополнительной помощи и ресурсов.