Když se přihlásím pomocí LightDM na svém notebooku s Debian Unstable, nedávno začal asi 2 minuty viset, dokud journalctl
zobrazí zprávu kernel: random: crng init done
. Když na klávesnici stisknu náhodné klávesy, když visí, přihlásí se rychleji (asi 10 sekund). Než jsem tento problém neměl, existuje způsob, jak jej mohu opravit?
Upravit:pomocí linux-image-4.15.0-3-amd64
místo linux-image-4.16.0-1-amd64
funguje, ale nechci používat starší jádro.
Přijatá odpověď:
Vypadá to, že nějaká součást vašeho systému blokuje při pokusu o získání náhodných dat z jádra (tj. čtení z /dev/urandom
nebo volání getrandom()
) z důvodu nedostatečné dostupné entropie (náhodnosti).
Nemám připravené vysvětlení, proč problém závisí na konkrétní verzi jádra nebo která komponenta ve vašem systému skutečně blokuje, ale bez ohledu na hlavní příčinu,
Ve skutečnosti, jak poukázal Bigon ve své odpovědi, zdá se, že jde o chybu jádra zavedenou v 4.16:
Tato chyba je zavedena změnou „crng_init> 0“ až „crng_init> 1“
v tomto potvrzení:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux. git/commit/?id=43838a23a05fbd13e47d750d3dfd77001536dd33Tato změna neúmyslně ovlivní urandom_read, což způsobí, že stav
crng_init==1 bude považován za neinicializovaný a způsobí zablokování urandom
, přestože tento stav existuje konkrétně pro podporu
nekryptografických potřeb při spouštění:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c# n1863Vrácení 43838a23a05f (“random:fix crng_ready() test”) opravuje chybu
(testováno s 4.16.5-1), ale to může způsobit bezpečnostní problémy
(CVE-2018-1108 je zmíněno v 43838a23a05f ). Testuji více
lokalizovanou opravu, která by měla být příjemnější pro upstream.
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572#82)
…Přesto můžete zkusit použít haveged
nebo rng-tools
rychleji shromáždit entropii.