Cuprins:

Lenovo T420 Coreboot W / Raspberry Pi: 13 pași (cu imagini)
Lenovo T420 Coreboot W / Raspberry Pi: 13 pași (cu imagini)

Video: Lenovo T420 Coreboot W / Raspberry Pi: 13 pași (cu imagini)

Video: Lenovo T420 Coreboot W / Raspberry Pi: 13 pași (cu imagini)
Video: Installing Coreboot on my Thinkpad T430... In a forest 2024, Noiembrie
Anonim
Lenovo T420 Coreboot W / Raspberry Pi
Lenovo T420 Coreboot W / Raspberry Pi

Coreboot este un înlocuitor de bios open source. Acest ghid va descrie pașii necesari pentru instalarea acestuia pe un Lenovo T420.

Înainte de a începe, ar trebui să vă simțiți confortabil folosind un terminal Linux și dezasamblând laptopul.

Există șansa ca acest lucru să vă împiedice laptopul și faceți acest lucru pe propriul risc.

Provizii

  • Clip de test Ponoma 5250 - Pentru conectarea la cipul bios.
  • Cabluri jumper de la pâine de la femeie la femeie - De asemenea, cunoscute sub numele de fire Dupont.
  • Surubelnita Phillips
  • Cleste mici, sau bit hexagonal de 5,0 mm.
  • Compus termic
  • Alcool izopropilic
  • Betisoare de vata
  • Lenovo T420
  • Calculator care rulează Linux. „PC principal”
  • Raspberry Pi (3 sau 4) - care rulează cea mai recentă versiune sau Raspberry Pi OS - Instrucțiunile de instalare pot fi găsite aici.
  • Manual de întreținere hardware T420

Pasul 1: Actualizați controlerul încorporat pe T420

Este o idee bună să actualizați controlerul încorporat la cea mai recentă versiune. Cel mai simplu mod de a face acest lucru este să instalați cea mai recentă versiune a biosului din fabrică. Coreboot nu poate atinge EC. Nu veți putea să-l actualizați după ce clipiți, cu excepția cazului în care reveniți la bios-ul din fabrică.

Pasul 2: Pregătiți Raspberry Pi pentru intermitent. (ON RPI)

Pregătiți Raspberry Pi pentru intermitent. (ON RPI)
Pregătiți Raspberry Pi pentru intermitent. (ON RPI)
Pregătiți Raspberry Pi pentru intermitent. (ON RPI)
Pregătiți Raspberry Pi pentru intermitent. (ON RPI)

Pentru a citi / scrie pe cipul bios trebuie să activați unele module kernel.

Accesați utilitarul de configurare raspberry pi.

sudo raspi-config

În opțiunile de interfață activați:

  • P2 SSH - dacă veți rula pi fără cap
  • P4 SPI
  • P5 I2C
  • P8 Remote GPIO - Dacă utilizați ssh pentru a vă conecta la pi

Pasul 3: Pregătiți computerul „Principal” pentru construirea Coreboot (Pe computerul principal)

Primul lucru de făcut este să instalați dependențele necesare pentru a construi coreboot.

Pentru un sistem bazat pe Debian

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

Pentru un sistem bazat pe Arch

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

Creați un director în directorul de acasă pentru a lucra. Pentru acest exemplu, îl voi numi „funcționează”. De asemenea, veți dori un director pentru a stoca imaginile din fabrică. Voi numi acel director „roms” Puteți face acest lucru într-o singură linie pentru a economisi timp

mkdir -p ~ / work / roms

Mutați în directorul de lucru

cd ~ / lucru

Descărcați cea mai recentă versiune a ME_Cleaner de pe github

git clone

Descărcați cea mai recentă versiune a Coreboot

git clone

Mutați-vă în directorul coreboot

cd ~ / work / coreboot

Descărcați submodulele necesare

git submodule update --init --checkout

Creați un director pentru a conține unele fișiere specifice T420-ului dvs. va fi necesar mai târziu.

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

Construiți instrumentul ifd. Aceasta va fi folosită pentru a împărți biosul fabricii în diferite regiuni.

cd ~ / work / coreboot / utils / ifdtool

face

Pasul 4: conectați clipul

Wire Up Clip
Wire Up Clip

Utilizați cele 6 fire de la mamă la mamă pentru a conecta clipul la 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

Pinii 3 și 7 de pe Bios nu sunt utilizați.

Pasul 5: Accesați Bios Chip

Accesați cipul Bios
Accesați cipul Bios
Accesați Bios Chip
Accesați Bios Chip
Accesați cipul Bios
Accesați cipul Bios
Accesați Bios Chip
Accesați Bios Chip

Cipul bios este situat sub cușca de rulare. Pentru a-l accesa va trebui să scoateți placa de bază.

Manualul de întreținere a hardware-ului poate oferi instrucțiuni dacă întâmpinați probleme.

Am inclus imaginile mele de dezmembrare. Nu suntem niciodată destinate vizionării publice (scrierea de mână îmi pare îngrozitoare), dar ce naiba pot ajuta.

Pasul 6: Conectați clipul la cipul Bios

Conectați clipul la Bios Chip
Conectați clipul la Bios Chip
Conectați clipul la cipul Bios
Conectați clipul la cipul Bios
Conectați clipul la cipul Bios
Conectați clipul la cipul Bios

Cu dispozitivul Pi pornit, conectați clema la cipul bios.

Pasul 7: Citiți Flash Chip (pe RPI)

Citiți Flash Chip (pe RPI)
Citiți Flash Chip (pe RPI)
Citiți Flash Chip (pe RPI)
Citiți Flash Chip (pe RPI)

Porniți Pi

Creați un director ROM și treceți la el.

mkdir -p ~ / work / roms

cd ~ / work / roms

Pentru a citi și scrie cipul, va trebui să utilizați un program numit Flashrom. Mai întâi asigurați-vă că este instalat

sudo apt instalează flashrom

Folosiți flashrom pentru a testa cipul și asigurați-vă că este conectat

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

Citiți bioul din fabrică de pe cip de 3 ori și salvați-le ca factory1.rom factory2.rom factory3.rom

Utilizați opțiunea -c pentru a specifica cipul dvs. flash. Asigurați-vă că introduceți totul între ghilimele

Fiecare citire va dura ceva timp, în funcție de cip, ar putea fi între 30-45 de minute fiecare citire. Nu vă faceți griji dacă se pare că pi-ul este atârnat.

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

Pasul 8: comparați cele 3 fișiere (pe RPI)

Comparați cele 3 fișiere (pe RPI)
Comparați cele 3 fișiere (pe RPI)

Apoi doriți să comparați cele 3 fișiere pentru a vă asigura că ați avut o citire / conexiuni bune

sha512sum factory *.rom

Dacă toate se potrivesc, copiați-le pe computerul principal din directorul ~ / work / roms.

Opriți Pi. Puteți lăsa clipul conectat.

Pasul 9: Curățați ME (pe computerul principal)

Curățați ME (pe computerul principal)
Curățați ME (pe computerul principal)

Mutați la ~ / work / roms

cd ~ / work / roms

Romurile din fabrică nu trebuie editate. Faceți o copie a uneia dintre ele pentru a curăța.

cp factory1.rom cleaned.rom

Curățați IME pe.rom curățat

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

Pasul 10: împarte imaginea Rom. (Pe computerul principal)

Împarte imaginea Rom. (Pe computerul principal)
Împarte imaginea Rom. (Pe computerul principal)

Cipul bios este împărțit în 4 regiuni. Trebuie să împărțiți imaginea cleaned.rom în diferitele sale regiuni cu instrumentul ifd furnizat de coreboot

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

Aceasta va produce 4 fișiere. Trebuie să redenumim 3 dintre ele și putem șterge 1

Redenumiți regiunea descriptorului

mv flashregion_0_flashdescriptor.bin descriptor.bin

Ștergeți regiunea bios - va fi înlocuită cu coreboot.

rm flashregion_1_bios.bin

Redenumiți regiunea GBE

mv flashregion_2_gbe.bin gbe.bin

Redenumiți regiunea ME

mv flashregion_3_me.bin me.bin

Copiați fișierele în directorul coreboot

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

Pasul 11: Configurați imaginea Coreboot. (Pe computerul principal)

Configurați imaginea Coreboot. (Pe computerul principal)
Configurați imaginea Coreboot. (Pe computerul principal)
Configurați imaginea Coreboot. (Pe computerul principal)
Configurați imaginea Coreboot. (Pe computerul principal)
Configurați imaginea Coreboot. (Pe computerul principal)
Configurați imaginea Coreboot. (Pe computerul principal)
Configurați imaginea Coreboot. (Pe computerul principal)
Configurați imaginea Coreboot. (Pe computerul principal)

Mutați în directorul coreboot

cd ~ / work / coreboot

Configurați coreboot.

face nconfig

Aceasta va afișa editorul de configurare Coreboot. Majoritatea setărilor implicite sunt bune, dar există câteva care pot fi adăugate. Aceasta este o configurație de bază. Sunt disponibile opțiuni mai avansate, cum ar fi splash screen, vga roms, sarcini utile alternative. Aceste opțiuni depășesc sfera acestui ghid.

Configurare generală

Utilizați CMOS pentru valorile de configurare

Placă de bază

  • Furnizorul plăcii principale >>> Selectați >> Lenovo
  • Modelul mainboard >>> Selectați >>> T420

Chipset

  • Adăugați fișierul descriptor.bin Intel
  • Adăugați firmware-ul Intel ME / TXE
  • Adăugați configurație Ethernet gigabit

Dispozitive

  • Activați PCIe Clock Power Management
  • Activați substatul PCIe ASPM L1

Driver generic

Inițierea tastaturii PS / 2

Pasul 12: Construiți Coreboot (pe computerul principal)

E timpul să compilăm!

Mai întâi a construit lanțul de instrumente gcc

faceți crossgcc-i386 CPUS = X

X = numărul de fire pe care CPU le are.

Construiți coreboot

face iasl

face

Aceasta va produce un fișier ~ / work / coreboot / build / coreboot.rom.

Porniți Pi și copiați fișierul în directorul dvs. ~ / work / roms.

Pasul 13: Scrieți Coreboot pe T420 (pe RPI)

Scrieți Coreboot pe T420 (pe RPI)
Scrieți Coreboot pe T420 (pe RPI)
Scrieți Coreboot pe T420 (pe RPI)
Scrieți Coreboot pe T420 (pe RPI)
Scrieți Coreboot pe T420 (pe RPI)
Scrieți Coreboot pe T420 (pe RPI)

Mutați în directorul roms

cd ~ / work / roms

Sondați cipul pentru a vă asigura că este detectat

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

Scrieți imaginea coreboot. Acest lucru va dura mai mult decât citirea imaginii.

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

După verificarea scrierii, opriți pi. Scoateți clema și reasamblați T420.

Felicitări, tocmai ai lansat Coreboot.

Recomandat: