Table des matières:

Lenovo T420 Coreboot W/Raspberry Pi : 13 étapes (avec photos)
Lenovo T420 Coreboot W/Raspberry Pi : 13 étapes (avec photos)

Vidéo: Lenovo T420 Coreboot W/Raspberry Pi : 13 étapes (avec photos)

Vidéo: Lenovo T420 Coreboot W/Raspberry Pi : 13 étapes (avec photos)
Vidéo: Installing Libreboot on a W500 with Quad Core Mod 2024, Juillet
Anonim
Lenovo T420 Coreboot avec Raspberry Pi
Lenovo T420 Coreboot avec Raspberry Pi

Coreboot est un remplacement du bios open source. Ce guide décrira les étapes nécessaires pour l'installer sur un Lenovo T420.

Avant de commencer, vous devez être à l'aise avec un terminal Linux ainsi qu'avec le démontage de votre ordinateur portable.

Il est possible que cela brise votre ordinateur portable, vous le faites à vos risques et périls.

Fournitures

  • Clip de test Ponoma 5250 - Pour se connecter à la puce bios.
  • Câbles cavaliers femelle à femelle - Également connus sous le nom de fils Dupont.
  • Tournevis cruciforme
  • Petites pinces ou embout hexagonal de 5,0 mm.
  • Pâte thermique
  • Alcool isopropylique
  • Cotons-tiges
  • Lenovo T420
  • Ordinateur sous Linux. "PC principal"
  • Raspberry Pi (3 ou 4) - exécutant la dernière version ou Raspberry Pi OS - Les instructions d'installation sont disponibles ici.
  • Manuel de maintenance du matériel T420

Étape 1: mettre à jour le contrôleur intégré sur le T420

C'est une bonne idée de mettre à jour le contrôleur embarqué vers la dernière version. Le moyen le plus simple de le faire est d'installer la dernière version du bios d'usine. Coreboot est incapable de toucher l'EC. Vous ne pourrez pas le mettre à jour après le flash, sauf si vous revenez au bios d'usine.

Étape 2: préparez le Raspberry Pi pour le flashage. (SUR RPI)

Préparez le Raspberry Pi pour le flashage. (SUR RPI)
Préparez le Raspberry Pi pour le flashage. (SUR RPI)
Préparez le Raspberry Pi pour le flashage. (SUR RPI)
Préparez le Raspberry Pi pour le flashage. (SUR RPI)

Afin de lire/écrire sur la puce bios, vous devez activer certains modules du noyau.

Accédez à l'utilitaire de configuration Raspberry Pi.

sudo raspi-config

Sous les options d'interface activez:

  • P2 SSH - si vous utilisez le pi sans tête
  • P4 SPI
  • P5 I2C
  • P8 Remote GPIO - Si vous utilisez ssh pour vous connecter au pi

Étape 3: préparer l'ordinateur « principal » pour la création de Coreboot (sur le PC principal)

La première chose à faire est d'installer les dépendances nécessaires pour compiler coreboot.

Pour un système basé sur Debian

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

Pour un système basé sur Arch

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

Créez un répertoire dans votre répertoire personnel pour y travailler. Pour cet exemple, je l'appellerai « travail ». Vous aurez également besoin d'un répertoire pour stocker les images d'usine. J'appellerai ce répertoire 'roms' Vous pouvez le faire en une seule ligne pour gagner du temps

mkdir -p ~/work/roms

Se déplacer dans le répertoire de travail

cd ~/travail

Téléchargez la dernière version de ME_Cleaner depuis github

git clone

Téléchargez la dernière version de Coreboot

git clone

Déplacer dans le répertoire coreboot

cd ~/travail/coreboot

Téléchargez les sous-modules requis

mise à jour du sous-module git --init --checkout

Créez un répertoire pour contenir certains fichiers spécifiques à votre T420 dont vous aurez besoin plus tard.

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

Construisez l'outil ifd. Cela sera utilisé pour diviser le bios de l'usine en différentes régions.

cd ~/work/coreboot/utils/ifdtool

Fabriquer

Étape 4: Câblez le clip

Câblez le clip
Câblez le clip

Utilisez le fil 6 femelle à femelle pour connecter le clip au Pi

Bios 1 > Pi 24

Bios 2 > Pi 21

Bios 4 > Pi 25

Bios 5 > Pi 19

Bios 7 > Pi 23

Bios 8 > Pi 17

Les broches 3 et 7 du Bios ne sont pas utilisées.

Étape 5: Accéder à la puce Bios

Accéder à la puce Bios
Accéder à la puce Bios
Accéder à la puce Bios
Accéder à la puce Bios
Accéder à la puce Bios
Accéder à la puce Bios
Accéder à la puce Bios
Accéder à la puce Bios

La puce bios est située sous la cage de sécurité. Pour y accéder, vous devrez retirer la carte mère.

Le manuel de maintenance du matériel peut fournir des instructions si vous rencontrez des difficultés pour le comprendre.

J'ai inclus mes images de démontage. Elles ne sont jamais destinées au public (mon écriture est horrible désolé) mais qu'est-ce qu'elles peuvent aider.

Étape 6: connectez le clip à la puce Bios

Connectez le clip à la puce Bios
Connectez le clip à la puce Bios
Connectez le clip à la puce Bios
Connectez le clip à la puce Bios
Connectez le clip à la puce Bios
Connectez le clip à la puce Bios

Avec le Pi hors tension, connectez le clip à la puce bios.

Étape 7: Lire la puce Flash (sur RPI)

Lire la puce Flash (sur RPI)
Lire la puce Flash (sur RPI)
Lire la puce Flash (sur RPI)
Lire la puce Flash (sur RPI)

Allumez le Pi

Créez un répertoire roms et déplacez-vous dessus.

mkdir -p ~/work/roms

cd ~/travail/roms

Pour lire et écrire la puce, vous devrez utiliser un programme appelé Flashrom. Assurez-vous d'abord qu'il est installé

sudo apt installer flashrom

Utilisez flashrom pour sonder la puce et assurez-vous qu'elle est connectée

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

Lisez le bios d'usine de la puce 3 fois et enregistrez-le sous le nom factory1.rom factory2.rom factory3.rom

Utilisez l'option -c pour spécifier votre puce flash. Assurez-vous de tout saisir entre les guillemets

Chaque lecture prendra un certain temps en fonction de la puce, cela pourrait prendre entre 30 et 45 minutes à chaque lecture. Ne vous inquiétez pas s'il semble que le pi est bloqué.

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

Étape 8: Comparez les 3 fichiers (sur RPI)

Comparez les 3 Fichiers (Sur RPI)
Comparez les 3 Fichiers (Sur RPI)

Ensuite, vous voulez comparer les 3 fichiers pour vous assurer que vous avez eu une bonne lecture / connexions

sha512sum factory*.rom

S'ils correspondent tous, copiez-les sur l'ordinateur principal dans le répertoire ~/work/roms.

Éteignez le Pi. Vous pouvez laisser le clip connecté.

Étape 9: nettoyer le ME (sur le PC principal)

Nettoyer le ME (sur le PC principal)
Nettoyer le ME (sur le PC principal)

Déplacer vers ~/work/roms

cd ~/travail/roms

Les roms d'usine ne doivent pas être modifiées. Faites une copie de l'un d'eux pour le nettoyer.

cp factory1.rom nettoyé.rom

Nettoyer l'IME sur le.rom nettoyé

~/work/me_cleaner/me_cleaner.py -Scleaner.rom

Étape 10: Divisez l'image Rom. (Sur PC principal)

Divisez l'image Rom. (Sur PC principal)
Divisez l'image Rom. (Sur PC principal)

La puce bios est divisée en 4 régions. Vous devez diviser l'image clean.rom en ses différentes régions avec l'outil ifd fourni par coreboot

~/work/coreboot/utils/ifdtool/ifdtool -xclean.rom

Cela produira 4 fichiers. Nous devons en renommer 3 et pouvons en supprimer 1

Renommer la région du descripteur

mv flashregion_0_flashdescriptor.bin descripteur.bin

Supprimez la région du bios - Elle sera remplacée par coreboot.

rm flashregion_1_bios.bin

Renommer la région GBE

mv flashregion_2_gbe.bin gbe.bin

Renommer la région ME

mv flashregion_3_me.bin me.bin

Copiez les fichiers dans le répertoire coreboot

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

Étape 11: Configurez l'image Coreboot. (Sur PC principal)

Configurez l'image Coreboot. (Sur PC principal)
Configurez l'image Coreboot. (Sur PC principal)
Configurez l'image Coreboot. (Sur PC principal)
Configurez l'image Coreboot. (Sur PC principal)
Configurez l'image Coreboot. (Sur PC principal)
Configurez l'image Coreboot. (Sur PC principal)
Configurez l'image Coreboot. (Sur PC principal)
Configurez l'image Coreboot. (Sur PC principal)

Déplacer vers le répertoire coreboot

cd ~/travail/coreboot

Configurez le coreboot.

faire nconfig

Cela fera apparaître l'éditeur de configuration Coreboot. La plupart des paramètres par défaut sont corrects, mais il y en a quelques-uns qui peuvent être ajoutés. C'est une configuration très basique. Des options plus avancées telles que des écrans de démarrage, des roms vga, des charges utiles alternatives sont disponibles. Ces options dépassent le cadre de ce guide.

Configuration générale

Utiliser CMOS pour les valeurs de configuration

Carte mère

  • Fournisseur de la carte mère >>> Sélectionnez >> Lenovo
  • Modèle de carte mère >>> Sélectionnez >>> T420

Jeu de puces

  • Ajouter le fichier Intel descriptor.bin
  • Ajouter le micrologiciel Intel ME/TXE
  • Ajouter une configuration Ethernet gigabit

Dispositifs

  • Activer la gestion de l'alimentation de l'horloge PCIe
  • Activer le sous-état PCIe ASPM L1

Pilote générique

Initialisation clavier PS/2

Étape 12: Build Coreboot (sur le PC principal)

Il est temps de compiler !

D'abord construit la chaîne d'outils gcc

faire crossgcc-i386 CPUS=X

X = le nombre de threads de votre CPU.

Construire le coreboot

faire iasl

Fabriquer

Cela produira un fichier ~/work/coreboot/build/coreboot.rom.

Allumez le Pi et copiez ce fichier dans votre répertoire ~/work/roms.

Étape 13: écrivez Coreboot sur T420 (sur RPI)

Écrire Coreboot sur T420 (sur RPI)
Écrire Coreboot sur T420 (sur RPI)
Écrire Coreboot sur T420 (sur RPI)
Écrire Coreboot sur T420 (sur RPI)
Écrire Coreboot sur T420 (sur RPI)
Écrire Coreboot sur T420 (sur RPI)

Déplacer vers le répertoire roms

cd ~/travail/roms

Sondez la puce pour vous assurer qu'elle est détectée

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

Écrivez l'image coreboot. Cela prendra plus de temps que la lecture de l'image.

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

Une fois l'écriture vérifiée, éteignez le pi. Retirez le clip et réassemblez le T420.

Félicitations, vous venez de flasher Coreboot.

Conseillé: