Größe: 4738
Kommentar: Dinge bereinigt, X60s weiter dokumentiert
|
← Revision 6 vom 2017-02-16 00:33:52 ⇥
Größe: 5491
Kommentar: Bild vergrößert
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 3: | Zeile 3: |
Zeile 6: | Zeile 5: |
Status:: Angefangen | Status:: Thinkpad X60s: 1 |
Zeile 11: | Zeile 10: |
= Erstes Treffen 09-03-2016 = * Vorstellungen zu libreboot wurden geaeussert * Vorgehensgedanken: * Informationen sammeln (Gruppenarbeit im Web ;) * https://libreboot.org/docs/install/x200_external.html * https://en.wikipedia.org/wiki/Libreboot * Ansehen in QEMU * Flashen des vorhandenen Test-Geräts (X200) * Beschaeftigen mit der Methodik fuer das eigene Geraet(T400,T61,X200,X60s) * Flashen der eigenen Geräte |
|
Zeile 58: | Zeile 46: |
= Wissensquellen = | = Wissensquellen = |
Zeile 77: | Zeile 65: |
=== Praktische Durchführung === 1. ersten Teil des Flash (bis auf die letzten 64k) überschreiben: {{{ ./flash i945lenovo_firstflash ../libreboot_r20160907_grub_x60/x60_deqwertz_txtmode.rom }}} 2. sich über die scheinbare Fehlermeldung wundern (welche nur einer Besonderheit des Schreibschutzes für en EEPROM-Chips aufgrund des alten Lenovo-BIOS geschuldet ist) 3. ausschalten, kurz warten, wieder anschalten 4. großartige Erleichterung, weil wunderbar flott das neue grub des coreboot-BIOS sichtbar wird 5. auch die letzten 64k des Flash überschreiben: {{{ ./flash i945lenovo_secondflash ../libreboot_r20160907_grub_x60/x60_deqwertz_txtmode.rom }}} 6. ausschalten, kurz warten, wieder anschalten 7. weiterhin läuft alles ganz wunderbar 8. Wechsel vom Text-Modus auf den Vesa-Modus (mehr Buntheit beim Booten): {{{ ./flash update ../libreboot_r20160907_grub_x60/x60_deqwertz_vesafbmode.rom }}} 9. ausschalten, kurz warten, wieder anschalten Fazit: das war ganz schön aufregend - aber die coreboot- und libreboot-Menschen haben den Ablauf wirklich sehr leicht gemacht! [[attachment:libreboot_x60s_vesa.jpg|{{attachment:libreboot_x60s_vesa.jpg||width=50%}}]] |
Info
- Beschreibung
- Libreboot is a free BIOS or UEFI replacement (free as in freedom); libre boot firmware that initializes the hardware and starts a bootloader for your operating system.
- Kategorie
- Basteln / Sicherheit
- Beteiligte
- Status
- Thinkpad X60s: 1
- Start-Datum
- 2016-03
- Letzte Aktivität
- 2017-02
Inhaltsverzeichnis
Projekthintergrund/Motivation
Wir wollen unsere kompatiblen Geraete vom mitgelieferten unfreien BIOS/UEFI befreien und somit die Anzahl an potentiellen Backdoors an unserem Geraet zu reduzieren.
Materialien
- "kaputtes" X200 zum Testen
- ein X60s
- Pomona 5252 (16-Pin)
- Pomona 5250 (8-Pin)
- SPI-Schnittstelle:
- SPI-Host der spi-dev Schnittstelle bereitstellt (z.B. Raspberry-Pi)
- vorhanden: Buspirate v4 -- Nutzbarkeit mit flashrom ist fuer BP v3 gegeben
Ablauf
Mit phyischem Zugang zum EEPROM-Chip
- Gerät ("target") öffnen, Chip freilegen
- auf Überträger ("host") flashrom installieren
- prüfen ob Kommunikation mit EEPROM-Chip möglich ist
- libreboot herunterladen und kompilieren
- libreboot-utils installieren (oder vorhandenes flashrom verwenden)
- Sicherungen:
- alten Flash-Inhalt sichern (mehrach herunterladen und sicherheitshalber vergleichen)
- MACs von allen Netzwerkschnittstellen aufschreiben
- Flashen des Libreboot's
- Freuen!
Software
libreboot-util
flashrom
- Verwendung mit Buspirate ist möglich (als SPI/USB-Umsetzer)
- mindestens Buspirate v3 wird unterstützt
Version 4 geht wohl auch: http://dangerousprototypes.com/forum/viewtopic.php?f=40&t=6668&sid=ae113e6422dbcbc77421faf6ee12c1c5
http://code.coreboot.org/p/flashrom/source/tree/HEAD/trunk/buspirate_spi.c
- mindestens Buspirate v3 wird unterstützt
Wissensquellen
Anleitungen und Erfahrungen
Befreiung eines X60s
Download
download libreboot_src.tar.xz from libreboot.org/download
- Build-Dependencies via $libreboot/resources/scripts/helpers/build/dependencies/{parabola|trisquel7} installieren (als root - oder die Paketliste extrahieren)
extrahieren der Build-Dependencies für Debian/Trisquel: sed -n 's/^.*apt-get .* install//p' resources/scripts/helpers/build/dependencies/trisquel7 | tr '\n' ' '
aktuell (2016) sind es: wget git base-devel libstdc++5 arm-none-eabi-gcc libpciaccess ncurses doxygen iasl gdb flex bison autogen m4 autoconf help2man freetype2 automake fuse fuse-exfat xz gawk device-mapper libtool python bdf-unifont pciutils zlib libftdi libftdi-compat
get all the source code and patch: ./download -y all
EEPROM auslesen
- flashrom -p internal -r original.bin
falls es einen mmap-Fehler gibt, dann folge der flashrom-FAQ: füge zur Kernel-Kommandozeile iomem=relaxed hinzu
da die EEPROM-Flash-Erkennung mit dem Lenovo-Original-BIOS nicht spontan funktioniert, müssen wir entweder das mit libreboot mitgeliefert flashrom verwenden (hier: flashrom/i686/flashrom_lenovosst_macronix) oder die ID manuell angeben: flashrom -f -c MX25L1605
- Schreibzugriff (im X60s direkt) scheint mit dem generischen flashrom-Werkzeug nicht möglich zu sein; mit dem libreboot-flashrom klappt es wohl
Praktische Durchführung
ersten Teil des Flash (bis auf die letzten 64k) überschreiben:
./flash i945lenovo_firstflash ../libreboot_r20160907_grub_x60/x60_deqwertz_txtmode.rom
- sich über die scheinbare Fehlermeldung wundern (welche nur einer Besonderheit des Schreibschutzes für en EEPROM-Chips aufgrund des alten Lenovo-BIOS geschuldet ist)
- ausschalten, kurz warten, wieder anschalten
- großartige Erleichterung, weil wunderbar flott das neue grub des coreboot-BIOS sichtbar wird
auch die letzten 64k des Flash überschreiben:
./flash i945lenovo_secondflash ../libreboot_r20160907_grub_x60/x60_deqwertz_txtmode.rom
- ausschalten, kurz warten, wieder anschalten
- weiterhin läuft alles ganz wunderbar
Wechsel vom Text-Modus auf den Vesa-Modus (mehr Buntheit beim Booten):
./flash update ../libreboot_r20160907_grub_x60/x60_deqwertz_vesafbmode.rom
- ausschalten, kurz warten, wieder anschalten
Fazit: das war ganz schön aufregend - aber die coreboot- und libreboot-Menschen haben den Ablauf wirklich sehr leicht gemacht!
Befreiung eines X200
Eine Anleitung dafür gibt es beim Libreboot-Projekt.
- das X200 muss wohl aufgeschraubt werden, um an das BIOS zu kommen
Spezifika zu X200'ern: https://libreboot.org/docs/hcl/x200.html#x200s
es gibt drei verschiedene BIOS-Chip-Gehäuseformen: SOIC-16, SOIC-8 (Notebook aufschrauben und nachsehen) und WSON (beim X200S und beim X200Tablet)
- bei SOIC-16 und SOIC-8 müssen entsprechende IC-Kontaktierungsklammern verwendet werden
- bei WSON müssen Kabel angelötet werden
unterschiedliche Beschaltung der Klammern mit Signalen vom Flashgerät
als Flashgerät wird in der Anleitung ein Beagle Bone Black (BBB) verwendet – dies muss für seine Aufgabe vorbereitet werden