Inhaltsverzeichnis:

Lenovo T420 Coreboot mit Himbeer-Pi - Gunook
Lenovo T420 Coreboot mit Himbeer-Pi - Gunook

Video: Lenovo T420 Coreboot mit Himbeer-Pi - Gunook

Video: Lenovo T420 Coreboot mit Himbeer-Pi - Gunook
Video: Обзор Coreboot 2023 | Безопасная Open Source прошивка CoreBoot для ноутбуков 2024, Juli
Anonim
Lenovo T420 Coreboot W/Raspberry Pi
Lenovo T420 Coreboot W/Raspberry Pi

Coreboot ist ein Open-Source-Bios-Ersatz. In dieser Anleitung werden die Schritte beschrieben, die zur Installation auf einem Lenovo T420 erforderlich sind.

Bevor Sie beginnen, sollten Sie sich mit der Verwendung eines Linux-Terminals sowie dem Zerlegen Ihres Laptops vertraut machen.

Es besteht die Möglichkeit, dass Ihr Laptop dadurch beschädigt wird. Sie tun dies auf eigene Gefahr.

Lieferungen

  • Ponoma 5250 Test Clip - Zum Anschluss an den Bios-Chip.
  • Breadboard-Überbrückungskabel von Buchse zu Buchse - Auch als Dupont-Drähte bekannt.
  • Kreuzschlitzschraubendreher
  • Kleine Zange oder 5,0 mm Sechskantbit.
  • Wärmeleitpaste
  • Isopropylalkohol
  • Wattestäbchen
  • Lenovo T420
  • Computer mit Linux. "Haupt-PC"
  • Raspberry Pi (3 oder 4) - mit der neuesten Version oder Raspberry Pi OS - Anweisungen zur Installation finden Sie hier.
  • T420 Hardware-Wartungshandbuch

Schritt 1: Aktualisieren Sie den Embedded Controller auf dem T420

Es empfiehlt sich, den Embedded Controller auf die neueste Version zu aktualisieren. Am einfachsten ist es, die neueste Version des Werksbios zu installieren. Coreboot kann das EC nicht berühren. Sie können es nach dem Flashen nicht aktualisieren, es sei denn, Sie kehren zum Werksbios zurück.

Schritt 2: Bereiten Sie den Raspberry Pi zum Flashen vor. (AUF RPI)

Bereiten Sie den Raspberry Pi zum Flashen vor. (AUF RPI)
Bereiten Sie den Raspberry Pi zum Flashen vor. (AUF RPI)
Bereiten Sie den Raspberry Pi zum Flashen vor. (AUF RPI)
Bereiten Sie den Raspberry Pi zum Flashen vor. (AUF RPI)

Um den Bios-Chip lesen/schreiben zu können, müssen Sie einige Kernel-Module aktivieren.

Greifen Sie auf das Raspberry Pi-Konfigurationsdienstprogramm zu.

sudo raspi-config

Aktivieren Sie unter Schnittstellenoptionen:

  • P2 SSH - wenn Sie den Pi kopflos ausführen
  • P4 SPI
  • P5 I2C
  • P8 Remote GPIO - Wenn Sie ssh verwenden, um eine Verbindung zum pi. herzustellen

Schritt 3: Vorbereiten des Hauptcomputers zum Erstellen von Coreboot (auf dem Haupt-PC)

Als erstes müssen Sie die Abhängigkeiten installieren, die zum Erstellen von Coreboot erforderlich sind.

Für ein Debian-basiertes System

sudo apt install git build-essential gnat flex bison libncurses5-dev wget zlib1g-dev

Für ein Arch-basiertes System

sudo pacman -S base-devel gcc-ada flex bison ncurses wget zlib git

Erstellen Sie ein Verzeichnis in Ihrem Home-Verzeichnis, in dem Sie arbeiten können. Für dieses Beispiel nenne ich es 'Arbeit'. Sie möchten auch ein Verzeichnis zum Speichern der Factory-Images. Ich werde dieses Verzeichnis 'roms' nennen Sie können dies in einer Zeile tun, um Zeit zu sparen

mkdir -p ~/work/roms

In das Arbeitsverzeichnis wechseln

cd ~/arbeit

Laden Sie die neueste Version von ME_Cleaner von github herunter

git-Klon

Laden Sie die neueste Version von Coreboot herunter

git-Klon

In das Coreboot-Verzeichnis wechseln

cd ~/work/coreboot

Laden Sie die erforderlichen Untermodule herunter

git submodul update --init --checkout

Erstellen Sie ein Verzeichnis für einige spezifische Dateien Ihres T420, die später benötigt werden.

mkdir -p ~/work/coreboot/3rdparty/blobs/mainboard/lenovo/t420

Erstellen Sie das ifd-Tool. Dies wird verwendet, um das Werksbios in seine verschiedenen Regionen aufzuteilen.

cd ~/work/coreboot/utils/ifdtool

machen

Schritt 4: Verdrahten Sie den Clip

Verdrahten Sie den Clip
Verdrahten Sie den Clip

Verwenden Sie das 6-Buchse-zu-Buchse-Kabel, um den Clip mit dem Pi. zu verbinden

Bios 1 > Pi 24

Bios 2 > Pi 21

Bios 4 > Pi 25

Bios 5 > Pi 19

Bios 7 > Pi 23

Bios 8 > Pi 17

Pins 3 und 7 im Bios werden nicht verwendet.

Schritt 5: Greifen Sie auf den Bios-Chip zu

Greifen Sie auf den Bios-Chip zu
Greifen Sie auf den Bios-Chip zu
Zugriff auf den Bios-Chip
Zugriff auf den Bios-Chip
Zugriff auf den Bios-Chip
Zugriff auf den Bios-Chip
Zugriff auf den Bios-Chip
Zugriff auf den Bios-Chip

Der Bios-Chip befindet sich unter dem Überrollkäfig. Um darauf zuzugreifen, müssen Sie die Hauptplatine entfernen.

Das Hardware-Wartungshandbuch kann Anweisungen enthalten, wenn Sie Schwierigkeiten haben, es herauszufinden.

Ich habe meine Teardown-Bilder beigefügt. Sie sind nie für die Öffentlichkeit bestimmt (meine Handschrift ist schrecklich, sorry), aber was soll's, sie können helfen.

Schritt 6: Verbinden Sie den Clip mit dem Bios-Chip

Verbinden Sie den Clip mit dem Bios-Chip
Verbinden Sie den Clip mit dem Bios-Chip
Verbinden Sie den Clip mit dem Bios-Chip
Verbinden Sie den Clip mit dem Bios-Chip
Verbinden Sie den Clip mit dem Bios-Chip
Verbinden Sie den Clip mit dem Bios-Chip

Wenn der Pi ausgeschaltet ist, verbinden Sie den Clip mit dem Bios-Chip.

Schritt 7: Lesen Sie den Flash-Chip (auf RPI)

Lesen Sie den Flash-Chip (auf RPI)
Lesen Sie den Flash-Chip (auf RPI)
Lesen Sie den Flash-Chip (auf RPI)
Lesen Sie den Flash-Chip (auf RPI)

Schalten Sie den Pi. ein

Erstellen Sie ein ROM-Verzeichnis und verschieben Sie es.

mkdir -p ~/work/roms

cd ~/arbeit/roms

Um den Chip zu lesen und zu schreiben, benötigen Sie ein Programm namens Flashrom. Stellen Sie zunächst sicher, dass es installiert ist

sudo apt installiere flashrom

Verwenden Sie Flashrom, um den Chip zu prüfen und sicherzustellen, dass er angeschlossen ist

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128

Lesen Sie das Werksbios dreimal vom Chip und speichern Sie es als factory1.rom factory2.rom factory3.rom

Verwenden Sie die Option -c, um Ihren Flash-Chip anzugeben. Stellen Sie sicher, dass Sie alles zwischen den Anführungszeichen eingeben

Jeder Lesevorgang dauert je nach Chip einige Zeit, es kann zwischen 30-45 Minuten pro Lesevorgang dauern. Machen Sie sich keine Sorgen, wenn es so aussieht, als ob das Pi aufgehängt ist.

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128 -c -r factory1.rom

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128 -c -r factory2.rom

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128 -c -r factory3.rom

Schritt 8: Vergleichen Sie die 3 Dateien (auf RPI)

Vergleichen Sie die 3 Dateien (auf RPI)
Vergleichen Sie die 3 Dateien (auf RPI)

Als nächstes möchten Sie die 3 Dateien vergleichen, um sicherzustellen, dass Sie eine gute Lesung / Verbindung hatten

sha512sum Fabrik*.rom

Wenn alle übereinstimmen, kopieren Sie sie auf den Hauptcomputer im Verzeichnis ~/work/roms.

Schalten Sie den Pi aus. Sie können den Clip verbunden lassen.

Schritt 9: Reinigen Sie die ME (auf dem Haupt-PC)

Reinigen Sie das ME (auf dem Haupt-PC)
Reinigen Sie das ME (auf dem Haupt-PC)

Verschiebe nach ~/work/roms

cd ~/arbeit/roms

Die Factory-ROMs sollten nicht bearbeitet werden. Machen Sie eine Kopie von einem davon, um es zu reinigen.

cp factory1.rom clean.rom

Reinigen Sie den IME auf gereinigter.rom

~/work/me_cleaner/me_cleaner.py -S clean.rom

Schritt 10: Teilen Sie das Rom-Image. (Auf dem Haupt-PC)

Teilen Sie das Rom-Image. (Auf dem Haupt-PC)
Teilen Sie das Rom-Image. (Auf dem Haupt-PC)

Der Bios-Chip ist in 4 Regionen aufgeteilt. Sie müssen das clean.rom-Image mit dem von coreboot bereitgestellten ifd-Tool in seine verschiedenen Regionen aufteilen

~/work/coreboot/utils/ifdtool/ifdtool -x clean.rom

Dadurch werden 4 Dateien erstellt. Wir müssen 3 von ihnen umbenennen und können 1 löschen

Benennen Sie die Deskriptorregion um

mv flashregion_0_flashdescriptor.bin descriptor.bin

Löschen Sie die Bios-Region - Sie wird durch Coreboot ersetzt.

rm flashregion_1_bios.bin

Benennen Sie die GBE-Region um

mv flashregion_2_gbe.bin gbe.bin

Benennen Sie die ME-Region um

mv flashregion_3_me.bin me.bin

Kopieren Sie die Dateien in das Coreboot-Verzeichnis

cp descriptor.bin gbe.bin me.bin ~/work/coreboot/3rdparty/blobs/mainboard/lenovo/t420/

Schritt 11: Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)

Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)
Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)
Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)
Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)
Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)
Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)
Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)
Konfigurieren Sie das Coreboot-Image. (Auf dem Haupt-PC)

In das Coreboot-Verzeichnis wechseln

cd ~/work/coreboot

Coreboot konfigurieren.

nconfig machen

Dadurch wird der Coreboot-Konfigurationseditor aufgerufen. Die meisten Standardeinstellungen sind in Ordnung, aber es gibt einige, die hinzugefügt werden können. Dies ist eine sehr einfache Konfiguration. Erweiterte Optionen wie Splash-Screens, VGA-ROMs und alternative Payloads sind verfügbar. Diese Optionen würden den Rahmen dieses Handbuchs sprengen.

Allgemeine Einrichtung

Verwenden Sie CMOS für Konfigurationswerte

Mainboard

  • Mainboard-Hersteller >>> Auswählen >> Lenovo
  • Mainboard-Modell >>> Auswählen >>> T420

Chipsatz

  • Intel descriptor.bin-Datei hinzufügen
  • Intel ME/TXE-Firmware hinzufügen
  • Gigabit-Ethernet-Konfiguration hinzufügen

Geräte

  • PCIe-Takt-Energieverwaltung aktivieren
  • PCIe ASPM L1 SubState aktivieren

Generischer Treiber

PS/2-Tastatur-Init

Schritt 12: Coreboot erstellen (auf dem Haupt-PC)

Zeit zu kompilieren!

Zuerst die gcc-Toolchain erstellt

make crossgcc-i386 CPUS=X

X = die Anzahl der Threads Ihrer CPU.

Coreboot erstellen

iasl machen

machen

Dies erzeugt eine Datei ~/work/coreboot/build/coreboot.rom.

Schalten Sie den Pi ein und kopieren Sie diese Datei in Ihr ~/work/roms-Verzeichnis.

Schritt 13: Coreboot auf T420 schreiben (auf RPI)

Coreboot auf T420 schreiben (auf RPI)
Coreboot auf T420 schreiben (auf RPI)
Coreboot auf T420 schreiben (auf RPI)
Coreboot auf T420 schreiben (auf RPI)
Coreboot auf T420 schreiben (auf RPI)
Coreboot auf T420 schreiben (auf RPI)

In das ROM-Verzeichnis wechseln

cd ~/arbeit/roms

Untersuchen Sie den Chip, um sicherzustellen, dass er erkannt wird

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128

Schreiben Sie das Coreboot-Image. Dies dauert länger als das Lesen des Bildes.

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128 -c -w coreboot.rom

Nachdem der Schreibvorgang überprüft wurde, schalten Sie den Pi aus. Entfernen Sie den Clip und bauen Sie das T420 wieder zusammen.

Herzlichen Glückwunsch, Sie haben gerade Coreboot geflasht.

Empfohlen: