Вопрос или проблема
Я пытаюсь установить OpenBSD на HP Chromebook 11 G4 с установленным CoreBoot (UEFI) через скрипт firmware-util от MrChromeBox.
Во время начального загрузочного промта (когда вы видите boot>
) я могу легко что-либо ввести (например, войти в конфигурацию ядра пользователя с помощью boot -c
).
Но после загрузки программы установки каждый раз, когда я нажимаю любую клавишу, и я имею в виду буквально любую клавишу, включая кнопку питания или ввод, мне нужно ждать 1-2 секунды, прежде чем Chromebook ответит. Что еще хуже, каждое нажатие клавиши регистрируется/распознаётся несколько раз.
Я уже выяснил, что установка kern.timecounter.hardware=acpihpet0
с помощью sysctl
может помочь, но, к сожалению, я не могу пройти установку (набирать “done” не вариант, и это требуется в некоторых местах из-за неудачной загрузки начальной прошивки iwm0).
Я знаю, что это может быть только верхушка айсберга, но я хотел бы начать с исправления проблемы с нажатиями клавиш во время процесса установки.
Поскольку это, собственно, вопрос, здесь должен быть, по крайней мере, один вопросительный знак. Есть ли способ установить kern.timecounter.hardware=acpihpet0
из UKC или любой другой способ исправить ситуацию с многократными нажатиями клавиш во время установки?
Как заметка: Судя по тому, что я вижу, большинство вещей во время загрузки не настроены (например, acpicpu at acpi0 not configured
или Intel Bay Trail LPC .... not configured
).
О, и я уже пробовал использовать внешнюю клавиатуру безуспешно, так как она не работает во время программы установки по какой-то причине.
Обновление:
Чтобы предвосхитить вопрос, так как я не упомянул это в оригинальном вопросе.
Программа установки не распознает ни один диск, кроме встроенной emmc. Если бы не это, я мог бы просто установить OpenBSD с помощью автоподстановки (несколько “а” считаются как 1 в этом конкретном запросе, и название файла ответа, как “bbbbb”, работает).
Из-за этого и того факта, что у меня есть только встроенное беспроводное соединение, я не могу получить наборы, необходимые для завершения установки. Мне удалось пройти стадию разметки диска, но мне негде взять наборы, так как установочный носитель тоже недоступен.
Обновление 2:
Мне удалось установить OpenBSD через Linux MX с живой USB и установленным VirtualBox.
К сожалению, клавиатура все еще не работает. Любое внешнее USB-устройство также не распознается.
Когда я нажимаю на кнопку питания, я вижу, что есть информация вроде:
pckbc timeout
Я буду обновлять этот вопрос.
Вы можете попробовать отключить acpihpet
в UKC:
UKC> disable acpihpet
Может быть полезно отправить сообщение на [email protected]
список рассылки, чтобы разработчики могли помочь вам. Если это возможно, приложите полный вывод dmesg
, но я понимаю, что это может быть сложно с неработающей клавиатурой. Если у вас есть другая машина (с той же архитектурой, конечно), вы можете попробовать использовать её для установки OpenBSD на USB-накопитель, а затем использовать его для загрузки Chromebook. Таким образом, вы загрузите полное ядро, которое может корректно поддерживать внутреннюю клавиатуру (а, вероятно, и внешнюю). Затем будет легко получить dmesg
.
Способ подключения клавиатуры может быть актуальным (старый AT-стиль через pckbd
, USB через uhid
, I2C через ikbd
и т.д.), а полный dmesg
также покажет/подскажет, почему USB-клавиатура не распознается с ядром установки (которое поддерживает более ограниченный набор оборудования, чем полное).
Обновление:
Что касается внешнего диска: если вам необходимо загрузиться в режиме UEFI на Chromebook, то вам нужно будет сделать UEFI установку на внешнем диске, а не настройку Master Boot Record. Чтобы избежать повторной установки OpenBSD, посмотрите, есть ли у вас что-то вроде опции “наследственной загрузки” в BIOS Chromebook и попробуйте загрузиться с внешнего диска. В противном случае попробуйте сделать UEFI установку на диск, используя запасной компьютер.
Я столкнулся с той же ошибкой на своем ноутбуке Acer (SFX16) с прошивкой Insyde v1.56.
Провел последние два дня, копаясь в этом, и нашел обходной путь, который может сработать:
# wsconsctl keyboard.repeat.del1=0
Хотя это исправляет проблему с множественными нажатиями клавиш, я не уверенн, решает ли это коренную причину или может что-то поломать. И все еще наблюдается заметная задержка при нажатии клавиши.
Linux/FreeBSD хорошо работают с этой встроенной клавиатурой, но NetBSD/illumos не работают ни с ней.
К сожалению, эта ошибка не так тривиальна, как кажется, я потратил много времени, исследуя код драйверов pckbc и pckbd, но ошибка, похоже, заключается в верхнем уровне, в части wscons wskbd_repeat
.
Так как я newcomer к OpenBSD, надеюсь, кто-то, знакомый с wscons, сможет помочь исправить это.
Ответ или решение
Проблема с множественными нажатиями клавиш при установке OpenBSD на HP Chromebook 11 G4 с CoreBoot является достаточно сложной и требует комплексного подхода. В отличие от других операционных систем, OpenBSD может иметь ограничения в поддержке оборудования, что в данном случае приводит к неэффективному взаимодействию с клавиатурой.
Анализ проблемы
-
Ожидание отклика:
Вы отмечаете, что между нажатиями клавиш и откликом системы проходит 1-2 секунды. Это может быть связано с конфигурацией таймеров системы, такими какACPI HPET
(High Precision Event Timer). Ваша попытка установитьkern.timecounter.hardware=acpihpet0
является разумной, однако она может быть недоступна, пока вы не завершите установку. -
Множественные нажатия:
Появление множественных событий при нажатии клавиш может исходить из проблем в драйверах клавиатуры, например, в драйверахpckbc
иwscons
, которые отвечают за обработку ввода. Замеченная вами ошибкаpckbc timeout
также указывает на проблемы с инициализацией клавиатуры.
Возможные решения
-
Отключение ACPI HPET:
В контексте загрузчика (UKC) вы можете попробовать отключитьacpihpet
:UKC> disable acpihpet
Это может улучшить отзывчивость клавиатуры.
-
Конфигурация ключевых параметров:
Также можно попробовать установить параметр, который вы упомянули:# wsconsctl keyboard.repeat.del1=0
Это может устранить проблемы с многократными нажатиями клавиш, хотя важно понимать, что это может не решить корневую проблему.
-
Клавиатура и драйвера:
Внимательно посмотрите на выводdmesg
, когда вы получите доступ к системе, чтобы понять, почему некорректно работают драйвера. Это поможет вам выявить, какие устройства не были правильно инициированы и какие драйвера, возможно, отсутствуют. -
Использование внешней клавиатуры:
Вы пробовали использовать внешнюю клавиатуру, но если она не была распознана в процессе установки, возможно, это связано с ограничениями поддержки USB во время установки. Убедитесь, что ваше UEFI настроено на обход проблем с совместимостью USB. -
Установка с другого устройства:
Так как вы успешно установили OpenBSD через Live USB, используйте этот же метод, чтобы подготовить внешнее устройство для установки. Убедитесь, что установочный USB создан для UEFI, чтобы работать с вашим Chromebook.
Общая рекомендация
Вас также могут направить соответствующие каналы поддержки, такие как список рассылки development ([email protected]
), где разработчики и опытные пользователи могут предложить конкретные решения, основываясь на полных логах и выводе состояния вашего оборудования. Не забывайте предоставлять как можно больше информации о конфигурации вашей системы.
Учеркивая вышеизложенное, важно понимать, что проблемы с оборудованием и драйверами могут быть сложными, и требуют терпения для их решения. Продолжайте экспериментировать с настройками и следить за обновлениями от разработчиков OpenBSD для возможных улучшений поддержки вашего устройства.