Boot Probleme mit aktuellem Intel Microcode auf Core i7 6800K (Broadwell E)

Hinweis: In dem Thema Boot Probleme mit aktuellem Intel Microcode auf Core i7 6800K (Broadwell E) gibt es 19 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo,


    Bin neu - als Schreiber - hier im Forum, wollte aber mal kurz zu einem Problem was schreiben, welches mich den halben Abend beschäftigte.


    Im Rahmen der aktuellen kernel und Microcode Updates habe ich heute mein OpenSUSE 42.3 geupdatet. Also folgende Pakete:

    • kernel : 4.4.104-39.1
    • ucode-intel : 20170707-13.1

    Anschließend konnte ich nicht mehr meinen Rechner booten! Er kam immer noch zum Grub2 Menü und anschließend erschien das üblich "loading initil ramdisk" .... und blieb dort unendlich hängen (auch alle Eingaben weg - d.h. Tastaur aus etc.)


    Nach längerem hin-und-her recherchieren wurde ich auf einige Threads aufmerksam, welche als Idee angaben, man möge den kernel Parameter "dis_ucode_ldr" mal ausprobiere.
    Und schon konnte ich wieder ganz normal booten!


    Nun habe ich mit verschiedenen ucode Versionen hin-und-her experimentiert und habe herausgefunden, dass - so scheint es zumindest bis jetzt nach einigen reboots - bei mir nur die Version hier läuft:

    • ucode-intel : 20170511-8.1

    Also falls jemand ähnliche Probleme hat, könnte das helfen.




    Aber richtig "spannend" finde ich , was in den verschiedenen microcode Paketen alles für Microcode Versionen angeboten werden. Denn das erscheint mir auf den ersten Blick recht merkwürdig. Ich habe mir das mal mit dem iucode_tool rausgesucht 8und vorher mein CPU Model bestimmen lassen).


    Als laut iucode_tool habe ich folgende CPU:

    • iucode_tool: system has processor(s) with signature 0x000406f1


    Das aktuelle ucode Pakete für OpenSUSE Leap 42.3 .... also ucode-intel-20170707-13.1.x86_64.rpm bietet dabei folgende Microcode Revisionen (interessant, dass das paket noch 20170707 heißt, aber ein ucode von 2017-11-18 anbietet!):

    Code
    085/001: sig 0x000406f1, pf_mask 0xef, 2017-03-01, rev 0xb000021, size 26624
      085/002: sig 0x000406f1, pf_mask 0xef, 2017-03-01, rev 0xb000021, size 26624
      085/003: sig 0x000406f1, pf_mask 0xef, 2017-11-18, rev 0xb000025, size 27648


    Ein alternatives ucode Paket aus der Repository (home:Sauerland) ucode-intel-20171117-18.1.x86_64.rpm bietet folgende (das hier heiß zwar 20171117 ... beinhaltet aber nur 2017-03-01-er ucodes ??? 8| :(


    Code
    089/001: sig 0x000406f1, pf_mask 0xef, 2017-03-01, rev 0xb000021, size 26624
      089/002: sig 0x000406f1, pf_mask 0xef, 2017-03-01, rev 0xb000021, size 26624

    Und nun zuletzt gehe ich direkt zu Intel (dem aktuellen Meltdown Artikel von news.opensuse.org folgend: Security Vulnerability: "Meltdown" and "Spectre" side channel attacks against modern CPUs. | Support | SUSE ) um den aktuellen ucode mal zu laden. Dort findet man auch das latest tgz Paket: Download Linux* Processor Microcode Data File



    Aber da bekommt man dann nur noch (also im 20171117-er paket bieten die offiziell für meiner CPU nur 2017-03-01-er ucode an =O ) :


    Code
    089/001: sig 0x000406f1, pf_mask 0xef, 2017-03-01, rev 0xb000021, size 26624


    Thja, daraus soll man mal schlau werden.


    Übrigens habe ich aktuell - was eben scheinbar zumindest beim Booten funktioniert - aus dem ucode-intel-20170511-8.1.rpm folgendes:

    Code
    048/001: sig 0x000406f1, pf_mask 0xef, 2017-03-01, rev 0xb000021, size 26624
      048/002: sig 0x000406f1, pf_mask 0xef, 2017-03-01, rev 0xb000021, size 26624

    Also nur mal so eine Vermutung. Könnte es es sein, dass dieser 2017-11-18-er ucode womöglich Probleme macht? Und Intel es womöglich schon aus dem offiziellen paket wieder entfernt hat und nur die offizielle OpenSUSE Repository ... das woher ich ucode-intel-20170707-13.1.x86_64.rpm habe ... es noch nicht mitbekommen hat??


    Also falls jemand etwas Erhellendes dazu beitragen könnte, wäre ich sehr dankbar (denn womöglich bin ich auf dem falschen Dampfer und habe nur per Zufall mein System wieder zum Laufen gebracht).


    Ansonsten hoffe ich, dass es wenigstens anderen Hilft, die in die selbe "Boot hängt mit Initial ramdisk" Falle getappt sind.

    Für den Inhalt des Beitrages 116501 haftet ausdrücklich der jeweilige Autor: alpilotx

  • Wie?

    • Warum bist du in diese Falle getappt?
    • Was ist "microcode"?
    • Warum ist das irgendwie irgendwas Microsoftiges?


    So!

    • Weil du mal wieder irgendwie, irgendwas installiert hast, was irgendwie im Internetz stand, und deshalb die reine Wahrheit sein muss.
      Noch dazu unter Verwendung von Homerepos, wovon man immer die Finger lassen sollte.
    • Ein (Firmware) Abbild des tatsächlichen Hardwareprozessor.
      Das muss verdammt genau zu dem tatsächlich auf dem Board eingestöpselten Prozessor passen,
      oder es führt direkt in göttliche absolute Stille.
    • Weil Microsoft schon ziemlich lange mit Computern und so rummacht.
      Sie haben viele Standards (mit)geschafffen, die dann halt auch (unter jedem OS) so heißen.


    Weil die "sachverständigen Medien" gerade einen Riesenbohei um diese "Lücke" machen, muss man natürlich sofort irgendwie irgendwas unternehmen.
    Das schafft ja auch tatsächlich Abhilfe. Eine Kiste, die nicht bootet, macht keinen Ärger.


    Ist man etwas sachkundiger kennt man diese "Lücke" schon ein paar Jahre.
    Die ist nun wirklich nicht neu.


    Und das Gute daran ist, dass Otto-Normal-Linuxer nichts anderes tun kann und sollte, als auf Updates diesbezüglich zu warten.
    War die Kiste bisher sauber, wohlgepflegt und immer auf dem aktuellen Stand, läuft sie einfach schön stabil weiter ohne von Malware infiziert zu sein.
    War sie nicht sauber, ist es eh egal.
    (Da wäre der absolute Stillstand sogar ein Heilmittel)
    Jetzt in sinnloser Panik irgendwas zu basteln, führt wahrscheinlich zu einer größeren Lücke. Mit viel Glück nur zum Stillstand.


    Dass sich da ganz komische Versionen mit vogelwilden Versionsnummern finden, ist ebenfalls normal.
    Das Zeuchs ist so tief vergraben, und der Linuxkernel so ubiquitär, dass es zig Versionen geben muss und gibt.
    Jede Distri kocht da an der ein- und anderen Stelle ihr Süppchen.
    Und das noch mit zum Teil völlig verschiedenen Toolchains (compiler, precompiler, linker, assembler usw.)


    Mag Version 10.12 von übermorgen für die einen korrekt sein, ist für andere die Version 0.3 von übergestern aktuell.
    Es mag oft funktionieren (hauptsächlich bei "schlichten" Paketen) nach der Versionsnummer zu schielen. Sinnvoll wird das aber erst, wenn man die von den verschiedenen Gruppen verwendeten Versionierungssysteme ineinander übersetzen kann.
    Ich traue mir sowas nicht zu. Nicht mal ansatzweise.


    Der Teufel steckt, wie immer, im Detail.


    Du hast also schlicht Glück gehabt.

  • Zitat

    man möge den kernel Parameter "dis_ucode_ldr" mal ausprobiere

    Das hindert ja auch den Kernel, den micocode zu laden.........


    PS:
    Was Intel da in den Paketen hat, hat mich noch nie interessiert........
    Ich baue es halt.


    Und hab seit gestern auf einen Patch gewartet....
    Den ich jetzt eingebaut habe, aber das Paket ist noch nicht veröffentlicht.......

    Für den Inhalt des Beitrages 116504 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Ein bisschen weniger Polemik hätte es auch getan ;) .


    Bin zwar sicher kein Linux-Guru, aber auch seit über 20 Jahren in der IT tätig und seit über über 12-Jahren auch - male mehr, mal weniger - intensiv mit Linux in Berührung (auf jeden Fall seit dieser Zeit privat mit SUSE/OpenSUSE unterwegs). Sprich, ich kenne durchaus was eine "Falle" ist (bin in viele rein getappt :D ), was "microcode" ist (das habe ich sogar vor laaanger Zeit mal im Studium gehabt) und was Microsoft ist (durfte die halbe Woche zuschauen und mitbetreuen wie Microsoft wegen dieser "Riesenbohei" Problematik im Azure Cloud eine große Serverinstallation meiner Firma komplett neu re-deployed hat ... weil sie es wohl nicht für sooo banal halten ... es sah eher bisschen nach Panik bei einem der größten Cloud Dienstleister aus). Ich behaupte auch mal vorsichtig, dass ich dieses "Riesenbohei" Thema durchaus zu einem nicht unwesentlichen Teil verstanden habe .... und nein, ich würde es lieber nicht verharmlosen (auch eine - wirklich - alter Prozessor Profi, Andreas Stiller aus den alten Zeiten der C't bezeichnet es als Security-Supergau : Analyse zur Prozessorlücke: Meltdown und Spectre sind ein Security-Supergau |
    heise online
    ).


    Außerdem möchte ich vorsichtig darauf hinweisen, dass mein Problem nach einem ganz normalen Systemupdate entstanden, bei dem der Kernel und die Microcodes NICHT aus irgendwelchen fadenscheinigen Repos stammten sondern aus der offiziellen Repository für OpenSUSE Leap 42.3 (die ganzen anderen Versionen habe ich nur angeschaut um zu verstehen wo die Unterschiede liegen könnten). Also durchaus eine Quelle aus der auch andere User schnell, ohne groß etwas "Unsauberes" zu machen ein update bekommen könnten (und dann womöglich auf dem Trockenen sitzen).


    Auch war die "Lösung", also der Rücksprung auf eine alte Version aus der offiziellen Leap 42.3 Repository.


    Kurz: ja, sicher bin ich nicht Unschuldig wenn man mal verschieden Repos für die Installation von ausgefalleneren Paketen aufnimmt, aber zumindest im Bereich Kernel / Microcodes habe ich mir - zumindest definitiv nicht Bewusst - keine "Unreinheiten" erlaubt.

    Für den Inhalt des Beitrages 116505 haftet ausdrücklich der jeweilige Autor: alpilotx

  • Das hindert ja auch den Kernel, den micocode zu laden.........

    Das ist mir absolut klar, nur wäre ich jetzt mal aus dem Stand nie auf die Idee gekommen, dass mir das hier den Tag rettet. Weil ich selber erst mal keinen Verdacht auf dem Microcode hatte ... und erst dieser - erfolgreiche - Workaround brachte mir den verdacht.


    Das ist mir auch klar (war also in keinster Weise ein Vorwurf) ... Ich habe auch nur einfach mal einen Quärcheck gemacht welche unterschiedliche Versionen denn so im Umlauf sind. Auch - wie gesagt - um überhaupt einen Plan zu bekommen wo das Problem liegen könnte.

    Für den Inhalt des Beitrages 116506 haftet ausdrücklich der jeweilige Autor: alpilotx

  • In der Cloud gelten andere Gesetze.
    Die sind für Otto-Normal-Linuxer völlig uninteressant.
    Es ist deren Problem, dass, wenn ich einen Barebone kontrolliere, alles kontrollieren kann.
    Da lohnt sich ein Angriff.


    Für Privatanwender bleibt das irrelevant.
    Man hostet nicht irgendwelche Admins samt ihren wie auch immer virtualisierten VMs auf der eigenen Kiste.


    Zudem sind es zwei Lücken, die da letztlich vorliegen.
    Beide sind schon länger bekannt. (und wurden auch schon einzeln ausgenutzt).


    Es ist halt nun mal so, dass bestimmte Lücken ein Riesenbohei hervorrufen, andere (manchmal sogar schlimmere) einfach still gefixt werden.
    Die tatsächliche Möglichkeit mit diesen beiden Lücken wirklich an "verbotene Infos" zuzugreifen, ist gering, da die mögliche Datenübertraguns- Geschwindigkeit sehr, sehr niedrig ist.


    Völlig abseits steht derzeit die Tatsache, dass diese zwei Lücken zwei ziemlich verschiedene Code/Hardwareteile betreffen.


    Um es aus dem Fazit deines verlinkten Artikels zu zitieren:
    "Klar, wer irgendeiner Software Administratorrechte einräumt, hat sowieso verloren, denn dann kann diese Kernel-Treiber (unter Windows via Atsiv sogar unsignierte) laden, die nicht nur alles ausspionieren, sondern auch patchen können. Dann brauchen Angreifer die komplizierten Out-of-Order-Tricks nicht.
    Ist damit Out-of-Order out of Order? Nein, aber Prozessor- und Betriebsystem-Hersteller müssen zügig einiges ändern. Erste Microcode-Updates stehen jetzt schon an."


    Und selbstverständlich ist es ein SuperGAU, aber weniger für Anwender, denn für Programmierer und Cloudprovider.
    Selbstverständlich ist ein Urgestein von der (vormals seriösen) Ct ernster zu nehmen, als die Realität. (ich lese nur noch iX aus dem gleichen Hause)
    Reißerische Überschriften sind ja in Magazinen prinzipiell unmöglich.


    Wer sein System bisher sicher hielt, kann getrost auf die Patches warten.
    Wer schon infiziert war, richtet jetzt auch nichts mehr.


    Mehr Geschrei, als Brei.
    Dass es M$ härter trifft, finde ich gar nicht mal soo schlecht.


    Es ist ähnlich viel Geschrei, wie bei Heartbleed usw.
    Die Phonzahl war dort auch wesentlich höher, als es wirklich Betroffene gab. Gefixt war es relativ schnell, bekannt ebenfalls schon seit Jahren.


    Es ist zudem ziemlich unklug den erstmöglichen Patch sofort einzuspielen, falls man nicht vorher sorgfältig testet.
    Neue Software bringt zuallererst neue Fehler.

  • Danke .... Ich liebe Kunst, und das ist schon fast Kunst ;)


    (auf jeden Fall "erzählen" deine Beiträge mehr über dich als über die Inhalte die sie zu vermitteln vorgeben)


    Falls jemand dazu noch - rein technisch - was beitragen kann, bin ich daran interessiert (und wenn nicht, ist es besser wenn es unkommentiert bleibt).

    Für den Inhalt des Beitrages 116509 haftet ausdrücklich der jeweilige Autor: alpilotx