Раскладка клавиатуры игнорируется в initramfs начиная с ядра 4.4.0-34. Как использовать неамериканский макет?

Я использую немецкую раскладку клавиатуры и жесткий диск с шифрованием luks на моем обновленном 16.04. Я мог без проблем ввести свой пароль luks, используя немецкую раскладку клавиатуры, пока не установил последнее обновление ядра 4.4.0-34-generic. Теперь макет en_US для cryptsetup при загрузке, но после этого он полностью немецкий (например, для входа в систему).

Я все еще могу выбрать загрузку старого ядра 4.4.0-31-generic и использовать раскладку немецкой клавиатуры в cryptsetup.

Я попытался добавить «KEYMAP = y» в мой /etc/initramfs-tools/initramfs.conf и пересоздать мои initramfs с помощью «sudo update-initramfs -u», но это не помогло.

Как настроить раскладку клавиатуры в cryptsetup с новейшим ядром?

2
задан 12 August 2016 в 01:21

2 ответа

KEYMAP=y Debian только механизм и поэтому только применимый в Debian. Это передается в /usr/share/initramfs-tools/hooks/keymap расположенный в initramfs-tools пакет и генерирует позже используемый /etc/boottime.kmap.gz.

initramfs-tools в Ubuntu обеспечивает совершенно различные рычаги, и они не используют KEYMAP=y. Но те сценарии всегда пытаются загрузить настроенную локальную контурную карту. /usr/share/initramfs-tools/hooks/console_setup скопирует существующее /etc/console-setup/cached.kmap.gz в маленькую busybox среду. Позже /usr/share/initramfs-tools/scripts/init-top/console_setup затем загрузит эту контурную карту.

Btw. это кажется тому /usr/share/initramfs-tools/scripts/init-top/keymap, также попытается загрузиться таким же образом /etc/boottome.kmap.gz, но этот файл не существует (это использовалось в старину).

Однако /usr/share/initramfs-tools/hooks/console_setup не генерируют /etc/console-setup/cached.kmap.gz и просто используют существующий, в отличие от Debian. Я предполагаю, что поколение должно сделать однажды право, и затем оно должно работать снова и затем назвать Вґupdate-initramfs-u'.

Однако это кажется, я не смог сделать его правильно в той точке. То, что работало, немного неутешительно: Я должен был установить целую ОС снова. Удостоверьтесь, что Вы выбрали свою корректную раскладку клавиатуры во время процесса установки и выполнили Вґupdate-initramfs-u' в chroot среде новой системы после процесса установки, но прежде, чем загрузиться в новую установленную систему (я протестировал это btw.)

0
ответ дан 12 August 2016 в 01:21
  • 1
    Я удалил закрытый ключ, но didn' t касаются открытого ключа. – Tejas Virpariya 30 March 2018 в 00:26

У меня была та же проблема на новой установке* человечности 17.10.

Этот бит информации F.Raab был доказан очень полезным:

Однако/usr/share/initramfs-tools/hooks/console_setup не генерируйте/etc/console-setup/cached.kmap.gz и просто используйте существующий, в отличие от Debian. Я предполагаю, что поколение должно сделать однажды право, и затем оно должно работать снова и затем назвать ´обновление-initramfs-u'.

Это кажется файлом /etc/console-setup/cached.kmap.gz отсутствовал в моей системе, и по-видимому, ответственные программы не создают ее.

Шаги, которые действительно работали над моей системой:

  1. cd /etc/console-setup
  2. Найдите, что файл использует в качестве шаблона: ls | grep kmap (поиск имен файлов, содержащих 'kmap' в текущей папке). Я выбираю cached_UTF-8_del.kmap.gz.
  3. Создайте дубликат шаблонного файла и назовите его cached.kmap.gz: sudo cp cached_UTF-8_del.kmap.gz cached.kmap.gz(кроме NVIDIA драйверы включили с помощью программного обеспечения и обновлений и личинки тихий всплеск, отключенный из-за ошибки завершения работы),
  4. выполненный sudo update-initramfs -u так cached.kmap.gz может быть интегрирован в последовательности начальной загрузки.

(Я протестировал это cached.kmap.gz whas быть используемым путем выполнения stat cached.kmap.gz прежде и после шага 4 и сравнения меток времени доступа.)

После перезагрузки cryptsetup принял бы мой пароль LUKS в моей предпочтительной раскладке клавиатуры вместо QUERTY.

(Который означает cached_UTF-8_del.kmap.gz уже содержавший корректное расположение. Если выше метода не работает на Вас, можно попытать счастья с одной из команд в раскладке клавиатуры Изменения (английская Великобритания) на командной строке в английские США или https://apps.ubuntu.com/cat/applications/language-selector-gnome/),

Я нахожусь на ядре 4.13.0-32-generic' (check usinguname-r'). Обновление ядра могло бы смягчить проблему также, но я не хотел делать это, поскольку я боялся, что это приведет к конфликтам с драйвером NVIDIA снова. (Почему я должен был оставить Fedora; почти после каждого обновления ядра моя система стала бы нестабильной снова, и у меня нет навыков и время для решения этого.)

* кроме драйверов NVIDIA включил с помощью программного обеспечения и обновлений и личинки тихий всплеск, отключенный из-за ошибки завершения работы

2
ответ дан 16 April 2019 в 23:44

Другие вопросы по тегам:

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