GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Debian – Wenn ich mich anmelde, bleibt es hängen, bis Crng Init fertig ist?

Wenn ich mich mit LightDM auf meinem Laptop anmelde, auf dem Debian Unstable läuft, fing es vor kurzem an, etwa 2 Minuten lang zu hängen, bis journalctl zeigt die Meldung kernel: random: crng init done . Wenn ich zufällige Tasten auf meiner Tastatur drücke, während sie hängt, meldet sie sich schneller an (ca. 10 Sekunden). Bevor ich dieses Problem nicht hatte, gibt es eine Möglichkeit, es zu beheben?

Bearbeiten:mit linux-image-4.15.0-3-amd64 statt linux-image-4.16.0-1-amd64 funktioniert, aber ich möchte keinen älteren Kernel verwenden.

Akzeptierte Antwort:

Sieht so aus, als ob eine Komponente Ihres Systems blockiert, während sie versucht, zufällige Daten aus dem Kernel zu erhalten (d. h. das Lesen von /dev/urandom oder Aufruf von getrandom() ) aufgrund unzureichender verfügbarer Entropie (Zufälligkeit).

Ich habe keine fertige Erklärung dafür, warum das Problem von einer bestimmten Kernel-Version abhängt oder welche Komponente auf Ihrem System tatsächlich blockiert, aber unabhängig von der eigentlichen Ursache,

Wie Bigon in seiner Antwort darauf hingewiesen hat, scheint es sich tatsächlich um einen Kernel-Fehler zu handeln, der in 4.16 eingeführt wurde:

Dieser Fehler wird durch die Änderung von „crng_init> 0“ zu „crng_init> 1“
in diesem Commit eingeführt:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux. git/commit/?id=43838a23a05fbd13e47d750d3dfd77001536dd33

Diese Änderung wirkt sich unbeabsichtigt auf urandom_read aus, was dazu führt, dass der Zustand
crng_init==1 als nicht initialisiert behandelt wird und urandom
blockiert, obwohl dieser Zustand speziell existiert zur Unterstützung
nicht-kryptografischer Anforderungen beim Booten:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c# n1863

Das Zurücksetzen von 43838a23a05f („random:fix crng_ready() test“) behebt den Fehler
(getestet mit 4.16.5-1), aber dies kann Sicherheitsbedenken verursachen
(CVE-2018-1108 wird in 43838a23a05f erwähnt ). Ich teste einen besser lokalisierten Fix, der
besser für Upstream geeignet sein sollte.

(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572#82)

…Trotzdem können Sie versuchen, haveged zu verwenden oder rng-tools um Entropie schneller zu sammeln.


Debian
  1. Benutzerdefinierte Kernel in Ubuntu/Debian – wie, wann und warum

  2. Erstellen von Linux-Kernels auf Debian-Art

  3. Installation des Deb-Kernels in der Debian-Chroot-Umgebung

  4. Debian – Boot Log in Debian 8 finden (um Autostart-Probleme zu debuggen)?

  5. Debian – Verwenden Sie Aes-ni in Debian?

Zentralisierte Protokollverwaltung durch Installation von rsyslog auf Debian 11!

So installieren Sie den Liquorix-Kernel unter Debian 11 Bullseye

So installieren Sie den XanMod-Kernel unter Debian 11 Bullseye

Installieren/Upgrade von Linux Kernel 5.16 auf Debian 11 Bullseye

So installieren Sie den Linux-Kernel 5.15 unter Debian 11

Debian – Wie reibungslos läuft das Upgrade des Linux-Kernels in Debian 8.5?