Я разобрался, и есть два решения. Я тестировал оба, на нескольких разных коробках.
Убедитесь, что ваш resolv.conf
содержит ключевое слово «домен» -, например:
# Generated by resolvconf
domain example.org
nameserver 127.0.0.1
Если вы используете dhcpcd.conf
для установки статического IP-адреса, как я, вы должны указать эту недокументированную опцию:
static domain_name=example.org
Наконец, вам нужно удалить строку в /etc/hosts
, содержащую 127.0.1.1 <hostname>
. Это означает, что мой /etc/hosts
теперь содержит:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Добавьте свое полное доменное имя в строку 127.0.1.1 в /etc/hosts
, вот так:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 pi.example.org pi
Однако это означает, что я переопределяю сервер DNS -, что не идеально. Вот почему я предпочитаю и предполагаю, что Решение A лучше.
У меня до сих пор нет прямого ответа на первый из моих точных первоначальных вопросов (как заставить systemd-ask-password
правильно работать в среде busybox ), но я добился того, чего хотел, используя systemd вместо busybox для загрузки. Для этого я изменил следующие строки в файлах:
/etc/mkinitcpio.conf:
[...]
BINARIES=()
[...]
HOOKS=(base systemd autodetect keyboard sd-vconsole modconf block sd-encrypt lvm2 filesystems fsck)
[...]
И теперь он ведет себя именно так, как я хотел. :Когда я ввожу кодовую фразу LUKS, она повторяет каждый символ, который я набираю, как звездочку *
, так что теперь у меня есть желаемая визуальная обратная связь.
Большое спасибо, @fra -san, что указали мне на это решение!