Zum Inhalt springen

MetaFlash: Unterschied zwischen den Versionen

A (Diskussion | Beiträge)
Seite erstellt
 
Pl (Diskussion | Beiträge)
Details: add fancy link
 
(12 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
|involved=[[User:A]]
|involved=[[User:A]]
|startdate=15.03.2014
|startdate=15.03.2014
|status=completed
|status=Gestohlen, Neue Spende willkommen
|wtf=SPI Programmierer
|wtf=SPI Programmierer
|lastupdate=16.03.2014 <!-- if lastupdate is not set manually, the date will be set automatically to the date of the latest wikiapage -->
|lastupdate=16.03.2014 <!-- if lastupdate is not set manually, the date will be set automatically to the date of the latest wikiapage -->
Zeile 11: Zeile 11:
}}
}}


Das MetaLab hat jetzt den MetaFlash, einen aus einem Raspberry Pi & (im Moment) einem Breadboard bestehenden SPI Programmierer. Der MetaFlash befindet sich in der µC Programmer-Lade im [[WhateverLab]]. Bisherig einziger Anwendungszweck: BIOS/UEFI SPI Chips neu programmieren. Im Moment können damit nur 8-pin DIP SPI Chips programmiert werden.
Das MetaLab <s>hat jetzt den MetaFlash</s>'''wurde gestohlen''', einen aus einem Raspberry Pi (Rev B) & (im Moment) einem Breadboard bestehenden SPI Programmierer. Der MetaFlash befindet sich in der µC programmers-Lade im [[WhateverLab]]. Bisherig einziger Anwendungszweck: BIOS/UEFI SPI Chips neu programmieren. Im Moment können damit nur 8-pin DIP SPI Chips programmiert werden. Als in Wien lebender Mensch ist man nun also nicht mehr an kommerzielle Anbieter gebunden um sein BIOS flashen zu können.
 
[[Datei:MetaFlash-PCB.png|miniatur|rechts|Erstes PCB für die Schaltung.]]


= Anschlüsse, Verdrahtung, Spezifikationen =
= Anschlüsse, Verdrahtung, Spezifikationen =
Zeile 54: Zeile 56:


Der Programmierer wurde nach einer Anleitung von [http://www.win-raid.com/t58f16-Guide-Recover-from-failed-BIOS-flash-using-Raspberry-PI.html win-raid.com] zusammengestöpselt, welche auf der [http://flashrom.org/RaspberryPi Raspberry Pi Doku von flashrom.org] basiert.
Der Programmierer wurde nach einer Anleitung von [http://www.win-raid.com/t58f16-Guide-Recover-from-failed-BIOS-flash-using-Raspberry-PI.html win-raid.com] zusammengestöpselt, welche auf der [http://flashrom.org/RaspberryPi Raspberry Pi Doku von flashrom.org] basiert.
Es gibt [https://github.com/bibanon/Coreboot-ThinkPads/wiki/Hardware-Flashing-with-Raspberry-Pi  hier] eine Auflistung der Pinouts "gängiger" Embedded Boards


= Anleitung =
= Anleitung =
Zeile 61: Zeile 64:
== Raspberry/MetaFlash Vorbereitung ==
== Raspberry/MetaFlash Vorbereitung ==


# Raspberry Pi mit MetaFlash verdrahten (sollte bereits der Fall sein)
# Raspberry Pi GPIO Pins mit MetaFlash Breadboard verdrahten (sollte bereits der Fall sein)
# Raspbian auf eine SD Karte einspielen
# Raspbian auf eine SD Karte einspielen
# Ethernet anschließen
# Ethernet anschließen
Zeile 83: Zeile 86:
== ROM Binary Vorbereitung ==
== ROM Binary Vorbereitung ==


# UEFI bzw. BIOS ROM Datei organisieren. Zum Beispiel vom der Mainboard Hersteller.
# UEFI bzw. BIOS ROM Datei organisieren. Zum Beispiel von der Homepage des Mainboard Herstellers.
# Mit [http://forums.mydigitallife.info/threads/48979-UEFITool-UEFI-firmware-image-viewer-and-editor UEFITool] sicherstellen dass das ROM das Format "Intel image" oder "XX region has intersection with YY region" (Bei Gigabyte Mainboards) hat.
# Mit [http://forums.mydigitallife.info/threads/48979-UEFITool-UEFI-firmware-image-viewer-and-editor UEFITool] sicherstellen dass das ROM das Format "Intel image" oder "XX region has intersection with YY region" (Bei Gigabyte Mainboards) hat.
# Wenn nein, mittels "Extract body" in UEFITool den capsule header entfernen, dann nochmal überprüfen.
# Wenn nein, mittels "Extract body" in UEFITool den capsule header entfernen, dann nochmal überprüfen.
Zeile 92: Zeile 95:
== ROM flashen ==
== ROM flashen ==


# Raspberry Pi vom Strom nehmen
# Der SPI Chip muss mit dem MetaFlash Breadboard verbunden werden. Der Pin 1 des SPI Chips sollte dabei mit dem Steckplatz 1e am Breadboard verbunden sein und der Pin 5 mit dem Steckplatz 4f. (Die restlichen 6 Verbindungen sollten somit logisch sein: 2-->2e, 3-->3e, 4-->4e, 7-->2f, 6-->3f)
# Der SPI Chip muss mit dem MetaFlash Breadboard verbunden werden. Der Pin 1 des SPI Chips sollte dabei mit dem Steckplatz 1e am Breadboard verbunden sein und der Pin 5 mit dem Steckplatz 4f. (Die restlichen 6 Verbindungen sollten somit logisch sein: 2-->2e, 3-->3e, 4-->4e, 7-->2f, 6-->3f)
# Dazu gibt es 2 Möglichkeiten:
# Dazu gibt es 2 Möglichkeiten:
Zeile 100: Zeile 104:
# <code>modprobe spidev</code>
# <code>modprobe spidev</code>
# Man KÖNNTE jetzt den Inhalt des Chips mittels <code>sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0</code> löschen, das sollte aber ''nicht'' notwendig sein. Es sei hier nur erwähnt.
# Man KÖNNTE jetzt den Inhalt des Chips mittels <code>sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0</code> löschen, das sollte aber ''nicht'' notwendig sein. Es sei hier nur erwähnt.
# Stromversorgung sicherstellen, Stoßgebete an alle zuhörenden Mächte des Universums absenden & den Flash Vorgang starten: sudo flashrom -w /foo/bar/YOUR_ROM_GOES.HERE -V -p linux_spi:dev=/dev/spidev0.0
# Stromversorgung sicherstellen, Stoßgebete an alle zuhörenden Mächte des Universums absenden & den Flash Vorgang starten: <code>sudo flashrom -w /foo/bar/YOUR_ROM_GOES.HERE -V -p linux_spi:dev=/dev/spidev0.0</code>
# It's NOT hung. Flash+Verify brauchen approximately forever.
# It's NOT hung. Flash+Verify brauchen approximately forever.
# You're done. <code>sudo shutdown now</code>, Chip entnehmen bzw. Verbindung trennen, testen.
# You're done. <code>sudo shutdown now</code>, Strom abstecken, Chip entnehmen bzw. Verbindung trennen, testen.
# Wer bei einem ASRock Mainboard jetzt durch eine fehlende Firewire GUID belästigt wird, schaut bitte [https://www.youtube.com/watch?v=XWA7LaFut1c hier]
# Wer bei einem ASRock Mainboard jetzt durch eine fehlende Firewire GUID belästigt wird, schaut bitte [https://www.youtube.com/watch?v=XWA7LaFut1c hier]


= Potential MetaFlash Improvements / TODO =
= Potential MetaFlash Improvements / TODO =
<strike>* Der MetaFlash muss neu etikettiert werden, das alte Label wurde noch erstellt als der MetaFlash namenlos war</strike>
** Erledigt -[[Benutzer:A|A]] ([[Benutzer Diskussion:A|Diskussion]]) 20:55, 18. Mär. 2014 (CET)
* Der MetaFlash verfügt momentan über keine dezidierte SD Karte, dadurch muss sich jeder Raspbian immer neu aufsetzen.
* Der MetaFlash verfügt momentan über keine dezidierte SD Karte, dadurch muss sich jeder Raspbian immer neu aufsetzen.
* Aus dem vorherig genannten Punkt ergibt sich dass der MetaFlash keine statische IP im Metalab hat. Das ist auch lästig, weil man dadurch immer Monitor & Tastatur jagen muss, oder nach zur MAC gehörenden IP fahnden muss.
* Aus dem vorherig genannten Punkt ergibt sich dass der MetaFlash keine statische IP im Metalab hat. Das ist auch lästig, weil man dadurch immer Monitor & Tastatur jagen muss, oder nach der zur MAC gehörenden IP fahnden muss.
* Die Oberseite des Gehäuses des Raspberry Pi der für den MetaFlash verwendet wird hat keine Aussparung für den Raspberry Pi GPIO Anschluss & kann dadurch nicht verwendet werden. Sollte sich (sofern das Material geeeignet ist) via [[CNC-Fräse|Geil-o-mat]], [[Laser|Lazzor]] oder ansonsten via Handarbeit beheben lassen.
* Die Oberseite des Gehäuses des Raspberry Pi der für den MetaFlash verwendet wird hat keine Aussparung für den Raspberry Pi GPIO Anschluss & kann dadurch nicht verwendet werden. Sollte sich (sofern das Material geeeignet ist) via [[CNC-Fräse|Geil-o-mat]], [[Laser|Lazzor]] oder ansonsten via Handarbeit beheben lassen.
* Die Entkopplung via Elko ist zwar funktionsfähig, aber nicht perfekt. Eigentlich sollte hier ein Elko in Parallelschaltung mit einem Keramik Kondensator verwendet werden. Ist aber eigentlich wurscht.
* Die Entkopplung via Elko ist zwar funktionsfähig, aber nicht perfekt. Eigentlich sollte hier ein Elko in Parallelschaltung mit einem Keramik Kondensator verwendet werden. Ist aber eigentlich wurscht.
Zeile 113: Zeile 119:
* Der MetaFlash kann momentan nur 8-pin DIP SPI Chips flashen. Eigentlich sollte sich das aber auf beliebige Chip-Dimensionen erweitern lassen.
* Der MetaFlash kann momentan nur 8-pin DIP SPI Chips flashen. Eigentlich sollte sich das aber auf beliebige Chip-Dimensionen erweitern lassen.
* Der MetaFlash verwendet momentan direkt Jumper-Drähte zum Anschluss an den Raspberry Pi. Ein Header wäre hier hübscher.
* Der MetaFlash verwendet momentan direkt Jumper-Drähte zum Anschluss an den Raspberry Pi. Ein Header wäre hier hübscher.
* Ein SOIC Clip wäre für fix verlötete/nicht gesockelte Chips praktisch.
<strike>* Ein SOIC Clip wäre für fix verlötete/nicht gesockelte Chips praktisch.</strike>
** [[Benutzer:Mzeltner|m]] besitzt einen solchen, könnte man auf Anfrage borgen


[[Kategorie:Inventar]]
[[Kategorie:Inventar]]
[[Kategorie:WhateverLab]]
[[Kategorie:WhateverLab]]
[[Kategorie:Projekte]]
[[Kategorie:Projekte]]