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