hack-hro wiki
  • Kommentare
  • Geschützte Seite
  • Menu
    • Navigation
    • AktuelleÄnderungen
    • SeiteFinden
    • ÜbersichtsKarte
    • Help
    • HilfeInhalt
    • HilfeZurMoinWikiSyntax
    • Anzeige
    • Dateianhänge
    • Info
    • Rohform
    • Druckansicht
    • Actions
    • HoverCraft
    • GraphVizCleanup
    • Editieren
    • Laden
    • Speichern
  • Anmelden

Navigation

  • StartSeite
  • AktuelleÄnderungen
  • SeiteFinden
  • HilfeInhalt

Seiteninhalt hochladen

Sie können für die unten genannte Seite Inhalt hochladen. Wenn Sie den Seitennamen ändern, können Sie auch Inhalt für eine andere Seite hochladen. Wenn der Seitenname leer ist, leiten wir den Seitennamen vom Dateinamen ab.

Datei, aus der der Seiteninhalt geladen wird
Seitenname
Kommentar

Revision 4 vom 2017-02-14 17:39:12
hack-hro wiki:
  • Projekte
  • Libreboot

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

Valy, Johannes, Lars, TomH

Status
Angefangen
Start-Datum
2016-03
Letzte Aktivität
2017-02

Inhaltsverzeichnis

  1. Info
  2. Erstes Treffen 09-03-2016
  3. Projekthintergrund/Motivation
  4. Materialien
  5. Ablauf
    1. Mit phyischem Zugang zum EEPROM-Chip
  6. Software
    1. libreboot-util
    2. flashrom
  7. Anleitungen und Erfahrungen
    1. Befreiung eines X60s
      1. Download
      2. EEPROM auslesen
    2. Befreiung eines X200
    3. Befreiung eines T400

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

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

  1. Gerät ("target") öffnen, Chip freilegen
  2. auf Überträger ("host") flashrom installieren
  3. prüfen ob Kommunikation mit EEPROM-Chip möglich ist
  4. libreboot herunterladen und kompilieren
  5. libreboot-utils installieren (oder vorhandenes flashrom verwenden)
  6. Sicherungen:
    • alten Flash-Inhalt sichern (mehrach herunterladen und sicherheitshalber vergleichen)
    • MACs von allen Netzwerkschnittstellen aufschreiben
  7. Flashen des Libreboot's
  8. 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

= Wissensquellen = https://libreboot.org/docs/

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

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

Befreiung eines T400


KategorieProjekt

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01