Neuer Artikel: BIOS mittels Flashrom programmieren
Neuer Artikel: BIOS mittels Flashrom programmieren
Ich bin dabei, eine Anleitung zum flashen des BIOS mittels Flashrom zu schreiben [1].
Das kommt ja doch mal häufig vor. Und viele wissen vllt. gar nichts von der mächtigen Alternative.
Was noch alles rein soll, weiß ich selbst noch nicht so genau.
Kritik, Anregungen, Erweiterungen usw. kann alles hier diskutiert werden.
[1] BIOS und andere Flashspeicher mit Flashrom programmieren
Das kommt ja doch mal häufig vor. Und viele wissen vllt. gar nichts von der mächtigen Alternative.
Was noch alles rein soll, weiß ich selbst noch nicht so genau.
Kritik, Anregungen, Erweiterungen usw. kann alles hier diskutiert werden.
[1] BIOS und andere Flashspeicher mit Flashrom programmieren
Zuletzt geändert von cirrussc am 20.12.2011 15:16:38, insgesamt 1-mal geändert.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
- LessWire
- Beiträge: 558
- Registriert: 21.11.2004 04:36:04
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bavaria
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Sehr ausführliche Beschreibung - besten Dank!
Die Verwendung für Notebooks wird nicht empfohlen.
Das bedeutet für mich, daß ein Chip evtl. korrekt erkannt wird, der Programmiervorgang aber trotzdem zumindest fehlerhaft verläuft - möglicherweise ein irreparabler Inhalt zurückbleibt ?
Schade, denn gerade für ein Notebook könnte ich es derzeit brauchen.
VG, LW.
Die Verwendung für Notebooks wird nicht empfohlen.
Das bedeutet für mich, daß ein Chip evtl. korrekt erkannt wird, der Programmiervorgang aber trotzdem zumindest fehlerhaft verläuft - möglicherweise ein irreparabler Inhalt zurückbleibt ?
Schade, denn gerade für ein Notebook könnte ich es derzeit brauchen.
VG, LW.
at ~ now.
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Sehr schön!!!
'7z x blafoo'
(dessen unzip ist irgendwie besser umgesetzt)
Bis auf neuere msi-Dateien (mittlerweile viele) klappt eigentlich immerIn den meisten Fällen handelt es sich um eine Zip-Datei oder um eine selbst entpackende Exe-Datei, welche sich mit Debianpackage.png unzip oder Debianpackage.png unp entpacken lässt. Wenn dies nicht der Fall ist:
user@debian:~$ file mb_bios_ga-ma790xt-ud4p_f8*
mb_bios_ga-ma790xt-ud4p_f8.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit
bleibt nichts anderes übrig als diese mittels Debianpackage.png wine oder unter einem Windows entpacken zu lassen.
'7z x blafoo'
(dessen unzip ist irgendwie besser umgesetzt)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Super, danke für diese Anleitung. Werd ich mal demnächst ausprobieren
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Das ist einem Empfehlung der Entwickler. Es gibt einige wenige (kann man an 5 Fingern abzählen), die unterstützt werden.LessWire hat geschrieben:Die Verwendung für Notebooks wird nicht empfohlen.
Das bedeutet für mich, daß ein Chip evtl. korrekt erkannt wird, der Programmiervorgang aber trotzdem zumindest fehlerhaft verläuft - möglicherweise ein irreparabler Inhalt zurückbleibt ?
Die aktuelle Hardwareunterstützung ist hier [1] komplett aufgelistet. Und im Teil für Notebooks sieht es noch mager aus. Woran liegt das?
Notebooks unterscheiden sich in sofern, dass hier alles etwas spezieller ist. Dann gibt es zusätzlich System-Controller, die sich dazwischen (zwischen Flash und Chipsatz) hängen (Schreibschutz und so was); Sicherheitsangelegenheiten wie TPM und die Tatsache, dass sich dafür kaum Dokumentation findet. Für die Entwickler bereitet auch Schwierigkeiten bei der Erweiterung, dass die Chips auf dem Mainboard im Notebook aufgelötet sind und dieser bei Fehlern und Notfällen geöffnet werden müsste. Auf normalen Mainboards ist das weniger problematisch. Da kommt man gut ran und kann mit passendem Equipment schnell eine Notoperation durchführen Genanntes schmälert natürlich den Helferkreis bei Notebooks.
Mein Thinkpad A31p scheint unterstützt zu werden. Aber selbst ich habe mir hier noch keine Schreiboperation getraut, obwohl ich mir zu 60% sicher bin, dass dies klappen könnte
flashrom
Calibrating delay loop... OK.
No coreboot table found.
Found chipset "Intel ICH3-M", enabling flash write... OK.
Found chip "ST M50FW080" (1024 KB) at physical address 0xfff00000.
===
This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE
Please email a report to flashrom@coreboot.org if any of the above operations
work correctly for you with this flash part. Please include the full output
from the program, including chipset found. Thank you for your help!
===
No operations were specified.
Danke!rendegast hat geschrieben:Bis auf neuere msi-Dateien (mittlerweile viele) klappt eigentlich immer
'7z x blafoo'
(dessen unzip ist irgendwie besser umgesetzt)
Solche Hinweise sind immer gut
Dabei ist das nur die Gute-Wetter-GrundanwendungTRex hat geschrieben:Super, danke für diese Anleitung. Werd ich mal demnächst ausprobieren
Mit Flashrom ist noch mehr möglich. Mainboards, Netztwerkkarten, Raidkarten usw. lassen sich als Programmer umfunktionieren. Wenn man damit ein bisschen zu tun hat, weiß man, dass professionelle entweder sehr teur zu beschaffen sind oder DIY gebastelt werden müssen.
Auch wenn die automatisch Chiperkennung nicht funktioniert, kann es trotzdem möglich sein, dass dieser bereits unterstützt wird. Werd ich noch irgendwie einbauen + halt noch ein wenig Hintergrundgebrabbel, was wahrscheinlich niemanden interessiert
[1] http://flashrom.org/Supported_hardware
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
- LessWire
- Beiträge: 558
- Registriert: 21.11.2004 04:36:04
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bavaria
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Danke für die Infos!cirrussc hat geschrieben: ...
Mein Thinkpad A31p scheint unterstützt zu werden. Aber selbst ich habe mir hier noch keine Schreiboperation getraut, obwohl ich mir zu 60% sicher bin, dass dies klappen könnte
...
60 % + Ersatzchip + SMD Lötspezialist = 100 %
at ~ now.
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
hi,
oder wo willst du den Ersatzchip programmieren, wenn das Notebook nicht mehr bootet? Sockel einlöten und im laufenden Betrieb den Chip tauschen könnte bei einem Notebook auch knifflig werden (Platzmangel).
+ ProgrammiergerätLessWire hat geschrieben:60 % + Ersatzchip + SMD Lötspezialist = 100 %
oder wo willst du den Ersatzchip programmieren, wenn das Notebook nicht mehr bootet? Sockel einlöten und im laufenden Betrieb den Chip tauschen könnte bei einem Notebook auch knifflig werden (Platzmangel).
Beware of programmers who carry screwdrivers.
- LessWire
- Beiträge: 558
- Registriert: 21.11.2004 04:36:04
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bavaria
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
@cosmac: So todernst hatte ich es nicht gemeint, aber Du hast natürlich völlig recht - perfekt für 100 % war das meinerseits nicht.
Danke für die Vervollständigung!
Danke für die Vervollständigung!
at ~ now.
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Ich habe eines, aber selbst das reicht noch nicht. Bei SMD Gehäusen bräuchte man dann erst einmal einen Adapter, um den mit dem Programmer zu verbinden. Bei 8-beinigen SPI kompatiblen mag das noch funktionieren...cosmac hat geschrieben:+ Programmiergerät
oder wo willst du den Ersatzchip programmieren, wenn das Notebook nicht mehr bootet? Sockel einlöten und im laufenden Betrieb den Chip tauschen könnte bei einem Notebook auch knifflig werden (Platzmangel).
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Und für so ein TSSOP-Gehäuse kostet so ein Adapter mal eben über 200€
Aber jetzt hab' ich endlich was gefunden, was man an dem Wikiartikel evt. noch verbessern könnte: eine Liste mit Programmierservice-Anbietern, drei hätte ich schon:
Aber jetzt hab' ich endlich was gefunden, was man an dem Wikiartikel evt. noch verbessern könnte: eine Liste mit Programmierservice-Anbietern, drei hätte ich schon:
- segor
- cirrussc?
- cosmac (für Alix-Boards; evt. für PLCC-32-Chips)
Beware of programmers who carry screwdrivers.
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Jap. Und dann hol dir mal welche für 40, 48, 56 und 64 polige Mein Programmer (Galep 4) kann ohne speziellen Adapter bloß bis 40-pol, also gibt's da auch noch spezielle Preisecosmac hat geschrieben:Und für so ein TSSOP-Gehäuse kostet so ein Adapter mal eben über 200€
... da gibt's sicher noch viel zu verbessern/ergänzen. Aber die Idee ist gar nicht schlecht, das sollte man aufgreifen; von Segor kannte ich das noch gar nicht.cosmac hat geschrieben:Aber jetzt hab' ich endlich was gefunden, was man an dem Wikiartikel evt. noch verbessern könnte: eine Liste mit Programmierservice-Anbietern, drei hätte ich schon:
Sockel drauf gelötetcosmac hat geschrieben:cosmac (für Alix-Boards; evt. für PLCC-32-Chips)
Ich brauch eigentlich nur noch so einen tollen Gas-Lötkolben mit dem man ohne Spitze solche plattgedrückten Vielfüßer (SMD) gut auslöten kann. Und nen zum Reflow-Ofen umgebauten Pizzaofen
Ob, was und wie ich da noch rein setzten will/sollte, da bin ich mir immer noch unschlüssig ...
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
noch einfacher: http://pcengines.ch/lpc1a.htmcirrussc hat geschrieben:Sockel drauf gelötetcosmac hat geschrieben:cosmac (für Alix-Boards; evt. für PLCC-32-Chips)
sowas sollte es für jedes Board geben...
Beware of programmers who carry screwdrivers.
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Ah ok. Das funktioniert natürlich nur mit kompatiblen LPC-Flash.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
- Profbunny
- Beiträge: 592
- Registriert: 04.04.2004 11:12:29
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bautzen
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
bei mir hat es tadellos funktioniert, hab auch zufällig den gleiche rom chip wie im Beispiel, nur ein anderes Board.
Interessant wären noch andere Nutzungsmöglichkeiten, kann ich z.B ein neues Rom auf mein Android Handy flashen?
Interessant wären noch andere Nutzungsmöglichkeiten, kann ich z.B ein neues Rom auf mein Android Handy flashen?
Rechner / Server Debian sid
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Das ist momentan wohl nicht möglich. Flashrom ist noch auf den klassischen PC angewiesen, denk ich. Das wäre für die Zukunft sicher mal interessant (obwohl auch problematisch wegen der vielen versch. Anbieter und Systeme).Profbunny hat geschrieben:Interessant wären noch andere Nutzungsmöglichkeiten, kann ich z.B ein neues Rom auf mein Android Handy flashen?
edit: habe noch etwas im Artikel herum geschraubt ...
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Mir fällt nun nichts weiter ein/auf. Deshalb als fertig/frei zum Review.
Wer mehr weiß, Verbesserungen erwünscht oder nur drüber schauen will, kann sich daran austoben
Wer mehr weiß, Verbesserungen erwünscht oder nur drüber schauen will, kann sich daran austoben
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
-
- Beiträge: 455
- Registriert: 19.11.2007 11:17:40
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Hallo.
Auch von mir zunächst noch besten Dank für diesen wirklich hilfreichen Artikel. Vielleicht kurz noch der Hinweis, dass in der Warnung direkt über dem Inhaltsverzeichnis mit 9.4 statt 0.9.4 eine falsche Versionsnummer steht (kenne mich selber mit wikis noch nicht aus).
In der Hauptsache hätte ich aber eine Frage zu DMI:
Was das grundsätzlich ist, habe ich, denke ich, verstanden. Völlig unklar ist mir dagegen die Umsetzung des Konzeptes seitens dem BIOS.
Da gibt es ja diese MIF database genannten kleinen Datenbanken. Werden die selber irgendwo vom / im BIOS abgelegt und wenn ja, wo, auf Flash oder im CMOS?
Dann gibt es z. B. bei Gigabytes Q-Flash utility eine Anfrage, ob man DMI data erhalten will bzw. beim booten diese Meldungen "Verifying DMI pool data". Auch hier ist mir völlig unklar, was da passiert. Wird irgendwie eine bereits existierende Datenbank neu eingelesen und woanders abgespeichert, wenn ja, von wo nach wo? Oder wird irgendwie die Hardware selber noch einmal ausgelesen, wobei auch hier die Frage nach dem Speicherort bestünde?
Wäre schön, wenn Du mir hierzu ein paar Hinweise geben könntest.
Die Frage steht dabei für mich nicht im luftleeren Raum, sondern hat mit einer imho seltsamen Beobachtung zu den Prüfsummen bei flashrom zu tun. Ich glaube allerdings, dass mir dazu erst mal das mit DMI klarer sein sollte.
Gruß,
schauinsland
Auch von mir zunächst noch besten Dank für diesen wirklich hilfreichen Artikel. Vielleicht kurz noch der Hinweis, dass in der Warnung direkt über dem Inhaltsverzeichnis mit 9.4 statt 0.9.4 eine falsche Versionsnummer steht (kenne mich selber mit wikis noch nicht aus).
In der Hauptsache hätte ich aber eine Frage zu DMI:
Was das grundsätzlich ist, habe ich, denke ich, verstanden. Völlig unklar ist mir dagegen die Umsetzung des Konzeptes seitens dem BIOS.
Da gibt es ja diese MIF database genannten kleinen Datenbanken. Werden die selber irgendwo vom / im BIOS abgelegt und wenn ja, wo, auf Flash oder im CMOS?
Dann gibt es z. B. bei Gigabytes Q-Flash utility eine Anfrage, ob man DMI data erhalten will bzw. beim booten diese Meldungen "Verifying DMI pool data". Auch hier ist mir völlig unklar, was da passiert. Wird irgendwie eine bereits existierende Datenbank neu eingelesen und woanders abgespeichert, wenn ja, von wo nach wo? Oder wird irgendwie die Hardware selber noch einmal ausgelesen, wobei auch hier die Frage nach dem Speicherort bestünde?
Wäre schön, wenn Du mir hierzu ein paar Hinweise geben könntest.
Die Frage steht dabei für mich nicht im luftleeren Raum, sondern hat mit einer imho seltsamen Beobachtung zu den Prüfsummen bei flashrom zu tun. Ich glaube allerdings, dass mir dazu erst mal das mit DMI klarer sein sollte.
Gruß,
schauinsland
Re: Neuer Artikel: BIOS mittels Flashrom programmieren
Oft gelesen, aber nie aufgefallen, Danke!schauinsland hat geschrieben:Auch von mir zunächst noch besten Dank für diesen wirklich hilfreichen Artikel. Vielleicht kurz noch der Hinweis, dass in der Warnung direkt über dem Inhaltsverzeichnis mit 9.4 statt 0.9.4 eine falsche Versionsnummer steht (kenne mich selber mit wikis noch nicht aus).
Zu DMI und den MIF Tabellen weiß ich selbst nicht mehr.
In einem Kommentar zu dieser DMI Frage [1] gibt jemand als Antwort:
Da der CMOS aber flüchtig ist, und nach dessen Löschen der PC immer normal startet, muss der "DMI-pool" doch irgendwie aus dem persistenten BIOS Flash kommen/generiert/geladen-werden. In der englischen WP Seite zum BIOS [2] ist rechts ein DMI Block im Boot Block abgebildet, was auch immer man damit anfangen soll.The DMI pool is the information kept by the Bios of your current hardware configuration. It's kept in the CMOS. It can sometimes be corrupted by a failing motherboard battery. But hardware changes can also occasionally get it messed up.
Ich habe die DMI 2.0 Spezifikation [3] nur sehr grob überflogen und dabei keine Informationen über die physikalischen Orte der DMI Daten finden können. Zur MIF steht unter 11.1.4:
Ob der verwirrenden DMI Details denke ich, dass die "DMI Daten" (ich nenne es einfach mal so) irgendwo im BIOS Image, entweder integriert oder als separater Block, hinterlegt sind und vielleicht beim Start in den Speicher (und/oder den CMOS?) geblendet, oder erst "generiert" werden.Since the policy is stored in the MIF database, it is necessary to protect the database. The contents of the MIF
database are persistent across reboots and, therefore, the MIF database must be kept in some type of persistenstorage, typically a file.
In der dmidecode Manpage steht: "As you run it, dmidecode will try to locate the DMI table." In der Verbindung mit dem angegebenen /dev/mem würde es die Vermutung mit dem Speichereinblendung bestätigen.
Mit flashrom kann man sich eine Layout-Datei erstellen, in/aus der man Bereiche separiert behandeln kann (flashen, vergleichen...). Das wären die Optionen --layout und --image. Damit ließe sich wohl ein z.B. ein hypothetischer DMI Block getrennt behandeln, wie es wohl auch Gigabyt's Q-Flash handhaben kann?
Möglicherweise findet sich in den Kernel Quellen/Docs etwas dazu.
Wenn Du mal erleuchtendes heraus finden solltest, dann wäre es nicht uninteressant
[1] http://www.computing.net/answers/hardwa ... 43193.html
[2] http://en.wikipedia.org/wiki/BIOS#IBM_P ... BIOS_chips
[3] http://www.dmtf.org/sites/default/files ... SP0005.pdf
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl