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= | |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 | 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 | # 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]] |