Freie initiale Firmware
Zum Ersatz von (üblicher Weise leider) nicht freier initialer Firmware (BIOS, UEFI & Co) gibt es freie Software, wie #coreboot (oder gar #Libreboot).
coreboot
Hardware für die Anwendung coreboot
- Desktop
- Laptop
-
- Siehe auch
- …
- Lenovo ThinkPad X230
- Lenovo ThinkPad T440p
- …
- Server
Betriebssystem für die Anwendung coreboot
Debian für die Anwendung coreboot
- (aktuelles) Debian 9
pauschales Aktualisieren der Pakete
apt upgrade -y
Installieren vom Paket git, da ansonsten nicht einfach (per git
) aus der Quelle von coreboot der Code für coreboot bezogen werden kann
apt install -y git
Beziehen vom Code bei der Quelle von coreboot
git clone https://review.coreboot.org/coreboot
Wechseln in das Verzeichnis mit dem Code für coreboot
cd coreboot/
Installieren von (für das Kompilieren von coreboot benötigten) Paketen, da ansonsten nicht kompiliert werden kann
apt install -y m4 bison flex clang zlib1g-dev gnat automake libncurses5-dev
make crossgcc CPUS=$(nproc)
die ROM chip size erhält man mit flashrom
apt install -y flashrom
flashrom --programmer internal
Enter the Mainboard menu.
make menuconfig
- In Mainboard vendor select the vendor of your board.
- In Mainboard model select your exact mainboard name.
- In ROM chip size select the exact size of the flash ROM chip you want to flash the coreboot image on. (see output of flashrom command)
FreeBSD für die Anwendung coreboot
- Testen!
pauschales Aktualisieren der Pakete
pkg upgrade -y
Installieren vom Paket git, da ansonsten nicht einfach (per git
) aus der Quelle von coreboot der Code für coreboot bezogen werden kann
pkg install -y git
Beziehen vom Code bei der Quelle von coreboot
git clone https://review.coreboot.org/coreboot
Wechseln in das Verzeichnis mit dem Code für coreboot
cd coreboot/
Installieren von (für das Kompilieren von coreboot benötigten) Paketen, da ansonsten nicht kompiliert werden kann
pkg install -y bison m4 flex clang zlib1g-dev automake libncurses5-dev
- gnat
- gcc6-aux
- gnat
gmake crossgcc
coreboot anwenden
BIOS durch coreboot ersetzen
- Grundsätzliches
- Klammern nur an den Rechner, wenn es vom Strom getrennt ist.
- Vorbereitung
- Rahmenbedingen (fürs beschriebene Vorgehen)
- (aktuelles) Debian 9
ThinkPad T520- Board (via USB am Rechner von dem aus geschrieben werden soll und zum Anschließen der Klammern, die am Rechner hängen, der beschrieben werden soll)
- Typ?
- WCH CH341A SPI programmer
- Klammern
- Typ?
- (optionale) Sicherung vom bestehenden BIOS
- ein erstes Mal auslesen
- ein weiteres Mal auslesen
- die beiden (oder auch noch weiter Sicherungen) miteinander vergleichen, um sicherzustellen, dass nicht fehlerbehaftet Ausgelesen wurde
coreboot ändern
- Rahmenbedingen (fürs beschriebene Vorgehen)
- (aktuelles) Debian 9
- ThinkPad T520
Libreboot
Hardware
#Hardware meint hier nicht die Geräte, die die freie initiale Firmware installiert bekommen sollen, sondern die #Hardware, die für das Installieren genutzt wird.
Im HQ gibt es (2019-09) eine Box EEPROM (ttyUSB)
- …
- Klammer
- Controller (USB-Anschluss)
- USB-TTL USB-STC-ISP PL2303
- 3 Stück
- …
- USB-TTL USB-STC-ISP PL2303
- Kabel
- …
Controller PL2303
- Anschließen
(mit einem Fedora 30)
dmesg
[20854.366314] usb 1-2: new full-speed USB device number 12 using xhci_hcd [20854.493877] usb 1-2: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 3.00 [20854.493884] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [20854.493888] usb 1-2: Product: USB-Serial Controller [20854.493892] usb 1-2: Manufacturer: Prolific Technology Inc. [20854.498017] pl2303 1-2:1.0: pl2303 converter detected [20854.499556] usb 1-2: pl2303 converter now attached to ttyUSB0
Chromebox
Chromebook
Chromebooks sind Laptops und Tablets, die standardmäßig mit ChromeOS ausgeliefert werden. ChromeOS ist ein von Google entwickeltes Betriebssystem und daher nicht sehr nutzbar und unfreundlich zur Privatsphäre. Zum Glück können Chromebooks mithilfe von veränderter Firmware zu normalen Laptops umgewandelt werden, auf denen dann Linux, BSDs und andere herkömmliche Betriebssysteme installiert werden können. Wie das funktioniert wird auf folgenden Seiten beschrieben:
SuzyQable
Da Firmware flashen generell immer ein gewisses Risiko birgt, kann es sein, dass nach einem Flash der Laptop nicht mehr funktioniert, d.h. er ist gebricked. Allerdings ist das bei Chromebooks kein großes Problem, denn mit einem SuzyQ Debug Cable kann nach einem fehlgeschlagenen Flash ein Backup aufgespielt werden damit der Laptop wieder läuft.
Im Space haben wir so ein Kabel. Es ist im Kästchenschrank neben den Widerständen. Die Anleitung zum Unbricken befindet sich https://docs.chrultrabook.com/docs/unbricking/unbrick-suzyq.html
SuzyQable Tipps und Tricks
Das SuzyQable kommt meistens in den obersten linken USB-C port des Chromebooks, der USB-A Port kommt an einen Rechner, den ihr zum Flashen verwendet. Wenn das SuzyQable richtig verbunden ist sollte bei lsusb
das folgende Gerät 18d1:5014 Google Inc. Cr50
erscheinen. Das SuzyQable ist unidirektional, das heißt wenn es nicht funktioniert, umdrehen. (Das Kabel im Space ist nicht wirklich gut zu drehen, besser ist es das Chromebook umzudrehen.)
In der Anleitung steht man soll folgenden command ausführen:
echo "ccd open" | sudo tee -a /dev/ttyUSB0
. user:Katzenmann empfiehlt allerdings mit
sudo screen /dev/ttyUSB0
zu arbeiten und im screen Fenster
ccd open
einzugeben, da man dann direkt sieht ob es funktioniert und nicht erst beim Flashen merkt, ob etwas falsch ist.
Wenn bei einem Lenovo Thinkpad C13 Chromebook (kann auch bei anderen Modellen funktionieren) nach dem Flashen kein POST screen erscheint, kann die Batterie wieder eingesteckt, ein Ladekabel angesteckt und die Tastenkombination Escape + Reload (F3) + Power Button verwendet werden, um das Gerät zum Laufen zu bringen.