projekte:libreboot
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Vorherige Überarbeitung | |||
— | projekte:libreboot [2021/01/17 01:06] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Libreboot Thinkpad X200s ====== | ||
+ | ---- datatemplateentry project ---- | ||
+ | template | ||
+ | # Kurzer Name des Projekts | ||
+ | name : Libreboot Thinkpad | ||
+ | shortdesc | ||
+ | |||
+ | # Bilddateiname relativ zum Ordner projekte: | ||
+ | # Wenn (noch) kein Bild vorhanden, bitte none.png lassen | ||
+ | imgname_img90 | ||
+ | |||
+ | # Links zu Seiten der Mitglieder, die am Projekt beteiligt sind, also intern: | ||
+ | person_pages | ||
+ | |||
+ | # Start- und Enddatum im Format JJJJ-MM-TT | ||
+ | start_dt | ||
+ | end_dt | ||
+ | |||
+ | # Aktueller Status des Projekts, z.B. fertig, in Arbeit, eingestellt, | ||
+ | status_ | ||
+ | ---- | ||
+ | Libreboot ist ein Ersatz für das proprietäre Hersteller-BIOS von ausgewählten IBM/Lenovo Thinkpads. Es ist ein Fork von [[http:// | ||
+ | |||
+ | ===== Beweggründe ===== | ||
+ | |||
+ | Es war schon länger im Gespräch mit einem alternativen FLOSS Bios zu experimentieren. | ||
+ | Wir haben uns für Libreboot entschieden, | ||
+ | |||
+ | Intel AMT kann wie ein Trojaner agieren und hat auf die Hardware des Geräts sogar Zugriff, wenn dieses ausgeschaltet ist. Auf dieses " | ||
+ | |||
+ | Außerdem wird die TPM Funktionalität eingeschränkt und die Whitelist für Wireless-LAN Netzwerkkarten entfernt. Man also jede beliebige NW-Karte benutzen, auch wenn diese von Lenovo nicht auf die Whitelist gesetzt wurde. | ||
+ | |||
+ | Wenn das Ziel ist einem Bad-Bios zu entgehen, ist libreboot aufgrund seiner kompletten quelloffenheit wohl die Beste alternative Firmware für Laptops. Leider gibt es Libreboot nur für Geräte von 2 Herstellern (IBM/ | ||
+ | |||
+ | ===== Unterstützte Geräte ===== | ||
+ | Leider ist Libreboot nur für wenige Geräte verfügbar. | ||
+ | |||
+ | * IBM Thinkpad X60 | ||
+ | * IBM Thinkpad T60 | ||
+ | * Lenovo Thinkpad X200 | ||
+ | * Lenovo Thinkpad X200s | ||
+ | * Lenovo Thinkpad X200t | ||
+ | * Apple MacBook 1,1 | ||
+ | * Apple MacBook 2,1 | ||
+ | |||
+ | |||
+ | ===== Demontieren des Laptops ===== | ||
+ | |||
+ | {{ projekte: | ||
+ | |||
+ | Das demontieren unseres X200s ging relativ schnell, auf der Lenovo Seite kann man sich das [[http:// | ||
+ | |||
+ | Wir haben nur das Mainboard entfernt, damit wir einfacher an den BIOS-Chip kommen. Der sitzt auf der Unterseite des Boards, man muss also das Baord komplett ausbauen, um problemlos daran arbeiten zu können. Das Display muss eigentlich nicht von der Base-Unit entfernt werden, genauso wie der Express-Card-Slot und die kleine Platine unten Rechts in der Ecke, auf der sich die Speicherkarte, | ||
+ | |||
+ | |||
+ | ===== Herstellen der SPI-Verbindung ===== | ||
+ | |||
+ | Um das BIOS auf den SO-Chip flashen zu können, muss ein Gerät das lesend und schreibend über SPI zugreifen kann mit dem Chip verbunden werden. | ||
+ | Wir hatten uns im voraus eine SOIC-8 Klemme besorgt, die leider komplett nutzlos war, da die Pins des Chips ungewöhnlich klein waren und wir deswegen mit der Klemme keinen Kontakt herstellen konnten. | ||
+ | |||
+ | |||
+ | |||
+ | Was allerdings erst später aufgefallen ist, auf der Seite von libreboot, wird explizit davon gesprochen, dass man beim X200s löten MUSS, da der Chip nicht kompatibel mit Standard SOIC-8 Klemmen/ | ||
+ | Also wurde der Chip mit Drähten versehen. | ||
+ | |||
+ | |||
+ | {{projekte: | ||
+ | {{projekte: | ||
+ | |||
+ | |||
+ | FIXME Schaltplan | ||
+ | |||
+ | ==== Verbinden mit dem Raspi ==== | ||
+ | === Erster Versuch === | ||
+ | {{ projekte: | ||
+ | {{projekte: | ||
+ | Als Flash Device haben wir uns für einen RasberryPI mit rasbian und flashrom entschieden. Das ist nur eine von vielen Möglichkeiten, | ||
+ | Das Gerät der Wahl sollte nur SPI unterstützen. | ||
+ | |||
+ | Trotz Warnungen auf anderen Seiten, dass die Länge der Kabel eine direkte Auswirkung auf den Erfolg des Vorgangs hat, probierten wir Kroko-Klemmen als Verbindunsgstücke zwischen den GPIO's des RasPI und dem Chip des X200s aus. | ||
+ | Es sah nicht nur chaotisch aus, flashrom erkannte den Chip auch nicht. Wir wurden verunsichert ob wir den Chip eventuell beschädigt hatten. | ||
+ | |||
+ | **Versuch eines Verbindungsaufbaus: | ||
+ | ./flashrom -p linux_spi: | ||
+ | |||
+ | |||
+ | **Fehlerausgabe: | ||
+ | Calibrating delay loop... OK. | ||
+ | No EEPROM/ | ||
+ | Note: flashrom can never write if the flash chip isn't found automatically. | ||
+ | |||
+ | === Zweiter Versuch === | ||
+ | {{ projekte: | ||
+ | Nachdem die Krokoklemmen nicht die Lösung unseres Verbindunsgproblems waren, kürzten wir die Kabel und löteten diese eine Schaltleiste. Im Vergleich zu anderen Coreboot/ | ||
+ | |||
+ | **Versuch eines Verbindungsaufbaus: | ||
+ | ./flashrom -p linux_spi: | ||
+ | |||
+ | **Fehlerausgabe: | ||
+ | Calibrating delay loop... OK. | ||
+ | No EEPROM/ | ||
+ | Note: flashrom can never write if the flash chip isn't found automatically. | ||
+ | | ||
+ | klonfish hatte den Einfall, eine geringere SPI-Geschwindigkeit zu wählen. Und tatsächlich hat es mit spispeed=128 funktioniert! | ||
+ | |||
+ | **Versuch eines Verbindungsaufbaus: | ||
+ | ./flashrom -p linux_spi: | ||
+ | |||
+ | **Versuch eines Verbindungsaufbaus: | ||
+ | Calibrating delay loop... OK. | ||
+ | Found Macronix flash chip " | ||
+ | Found Macronix flash chip " | ||
+ | Found Macronix flash chip " | ||
+ | Multiple flash chip definitions match the detected chip(s): " | ||
+ | Please specify which chip definition to use with the -c < | ||
+ | |||
+ | Wir vermuten das duch die Länge der Kabel Übertragungsfehler auftreten, die von der Fehlererkennung von SPI nicht ausgeglichen werden können und die niedrige Rechenleistug des Raspi auch direkten Einfluss auf die read/write Geschwindigkeit hat. | ||
+ | |||
+ | |||
+ | ==== Backup der factory-ROM ==== | ||
+ | FIXME | ||
+ | |||
+ | ==== Übertragen der neuen ROM ==== | ||
+ | |||
+ | root@raspilug:/ | ||
+ | | ||
+ | flashrom v0.9.8-rc1-r1885 on Linux 3.18.7+ (armv6l) | ||
+ | flashrom is free software, get the source code at http:// | ||
+ | | ||
+ | Calibrating delay loop... OK. | ||
+ | Found Macronix flash chip " | ||
+ | Reading old flash chip contents... | ||
+ | | ||
+ | done. | ||
+ | Erasing and writing flash chip... FAILED at 0x00000000! Expected=0xff, | ||
+ | ERASE FAILED! | ||
+ | Reading current flash chip contents... | ||
+ | | ||
+ | done. Looking for another erase function. | ||
+ | | ||
+ | | ||
+ | FAILED at 0x00010000! Expected=0xff, | ||
+ | ERASE FAILED! | ||
+ | Reading current flash chip contents... | ||
+ | | ||
+ | done. Looking for another erase function. | ||
+ | | ||
+ | | ||
+ | FAILED at 0x00000000! Expected=0xff, | ||
+ | ERASE FAILED! | ||
+ | Reading current flash chip contents... | ||
+ | | ||
+ | | ||
+ | done. Looking for another erase function. | ||
+ | | ||
+ | | ||
+ | FAILED at 0x00000000! Expected=0xff, | ||
+ | ERASE FAILED! | ||
+ | Looking for another erase function. | ||
+ | No usable erase functions left. | ||
+ | FAILED! | ||
+ | Uh oh. Erase/write failed. Checking if anything has changed. | ||
+ | Reading current flash chip contents... done. | ||
+ | Apparently at least some data has changed. | ||
+ | Your flash chip is in an unknown state. | ||
+ | Please report this on IRC at chat.freenode.net (channel #flashrom) or | ||
+ | mail flashrom@flashrom.org, | ||
+ | | ||
+ | real 74m20.917s | ||
+ | user 0m3.610s | ||
+ | sys 0m9.910s | ||
+ | | ||
+ | ============================================================================ |