Índice:

Lenovo T420 Coreboot com Raspberry Pi: 13 etapas (com imagens)
Lenovo T420 Coreboot com Raspberry Pi: 13 etapas (com imagens)
Anonim
Lenovo T420 Coreboot com Raspberry Pi
Lenovo T420 Coreboot com Raspberry Pi

Coreboot é um substituto do BIOS de código aberto. Este guia descreverá as etapas necessárias para instalá-lo em um Lenovo T420.

Antes de começar, você deve se sentir confortável para usar um terminal Linux e também para desmontar seu laptop.

Há uma chance de que isso bloqueie seu laptop, você faz isso por sua própria conta e risco.

Suprimentos

  • Ponoma 5250 Test Clip - Para conectar ao chip do BIOS.
  • Cabos de jumper de placa de ensaio fêmea para fêmea - também conhecidos como fios Dupont.
  • Chave Phillips
  • Alicate pequeno ou broca hexagonal de 5,0 mm.
  • Composto térmico
  • Álcool isopropílico
  • Cotonetes
  • Lenovo T420
  • Computador com Linux. "PC Principal"
  • Raspberry Pi (3 ou 4) - executando a versão mais recente ou Raspberry Pi OS - As instruções de instalação podem ser encontradas aqui.
  • Manual de manutenção de hardware T420

Etapa 1: Atualizar o controlador incorporado no T420

É uma boa ideia atualizar o controlador incorporado para a versão mais recente. A maneira mais fácil de fazer isso é instalar a versão mais recente do BIOS de fábrica. Coreboot não consegue tocar no EC. Você não poderá atualizá-lo após o flash, a menos que reverta para o BIOS de fábrica.

Etapa 2: Prepare o Raspberry Pi para piscar. (ON RPI)

Prepare o Raspberry Pi para piscar. (ON RPI)
Prepare o Raspberry Pi para piscar. (ON RPI)
Prepare o Raspberry Pi para piscar. (ON RPI)
Prepare o Raspberry Pi para piscar. (ON RPI)

Para ler / gravar no chip do BIOS, você precisa habilitar alguns módulos do kernel.

Acesse o utilitário de configuração raspberry pi.

sudo raspi-config

Nas opções de interface, habilite:

  • P2 SSH - se você for executar o pi sem cabeça
  • P4 SPI
  • P5 I2C
  • P8 GPIO remoto - se estiver usando ssh para se conectar ao pi

Etapa 3: preparar o computador 'principal' para construir o Coreboot (no PC principal)

A primeira coisa a fazer é instalar as dependências necessárias para construir o coreboot.

Para um sistema baseado em Debian

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

Para um sistema baseado em Arch

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

Crie um diretório em seu diretório inicial para trabalhar. Neste exemplo, irei chamá-lo de 'trabalho'. Você também vai querer um diretório para armazenar as imagens de fábrica. Vou chamar esse diretório de 'roms' Você pode fazer isso em uma linha para economizar tempo

mkdir -p ~ / work / roms

Mova para o diretório de trabalho

cd ~ / trabalho

Baixe a última versão do ME_Cleaner do github

git clone

Baixe a última versão do Coreboot

git clone

Mova para o diretório coreboot

cd ~ / work / coreboot

Baixe os submódulos necessários

git submodule update --init --checkout

Crie um diretório para armazenar alguns arquivos específicos para o seu T420 que serão necessários mais tarde.

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

Crie a ferramenta ifd. Isso será usado para dividir o BIOS da fábrica em suas diferentes regiões.

cd ~ / work / coreboot / utils / ifdtool

faço

Etapa 4: conecte o clipe

Ligue o clipe
Ligue o clipe

Use o fio 6 fêmea para fêmea para conectar o clipe ao 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

Os pinos 3 e 7 no BIOS não são usados.

Etapa 5: Acesse o Chip do BIOS

Acesse o Bios Chip
Acesse o Bios Chip
Acesse o Bios Chip
Acesse o Bios Chip
Acesse o Bios Chip
Acesse o Bios Chip
Acesse o Bios Chip
Acesse o Bios Chip

O chip do BIOS está localizado sob a gaiola de proteção. Para acessá-lo, você precisará remover a placa-mãe.

O Manual de manutenção de hardware pode fornecer instruções se você estiver tendo problemas para descobri-lo.

Eu incluí minhas imagens de desmontagem. Elas nunca foram destinadas à exibição pública (minha caligrafia é horrível, desculpe), mas que diabos elas podem ajudar.

Etapa 6: Conecte o clipe ao chip do BIOS

Conecte o clipe ao chip do BIOS
Conecte o clipe ao chip do BIOS
Conecte o clipe ao chip do BIOS
Conecte o clipe ao chip do BIOS
Conecte o clipe ao chip do BIOS
Conecte o clipe ao chip do BIOS

Com o Pi desligado, conecte o clipe ao chip do BIOS.

Etapa 7: Leia o Flash Chip (no RPI)

Leia o Flash Chip (em RPI)
Leia o Flash Chip (em RPI)
Leia o Flash Chip (em RPI)
Leia o Flash Chip (em RPI)

Ligue o Pi

Crie um diretório roms e vá para ele.

mkdir -p ~ / work / roms

cd ~ / work / roms

Para ler e gravar o chip, você precisará usar um programa chamado Flashrom. Primeiro certifique-se de que está instalado

sudo apt install flashrom

Use o flashrom para sondar o chip e certifique-se de que ele está conectado

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

Leia o BIOS de fábrica do chip 3 vezes e salve-o como factory1.rom factory2.rom factory3.rom

Use a opção -c para especificar seu chip flash. Certifique-se de inserir tudo entre as aspas

Cada leitura levará algum tempo, dependendo do chip, podendo durar entre 30-45 minutos cada leitura. Não se preocupe se parecer que o pi está pendurado.

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

Etapa 8: Compare os 3 arquivos (no RPI)

Compare os 3 arquivos (em RPI)
Compare os 3 arquivos (em RPI)

Em seguida, você deseja comparar os 3 arquivos para se certificar de que teve uma boa leitura / conexões

sha512sum factory *.rom

Se todos corresponderem, copie-os para o computador principal no diretório ~ / work / roms.

Desligue o Pi. Você pode deixar o clipe conectado.

Etapa 9: Limpe o ME (no PC principal)

Limpe o ME (no PC principal)
Limpe o ME (no PC principal)

Mover para ~ / work / roms

cd ~ / work / roms

As ROMs de fábrica não devem ser editadas. Faça uma cópia de um deles para limpar.

cp fábrica1.rom limpo.rom

Limpe o IME em.rom limpo

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

Etapa 10: Divida a imagem Rom. (No PC principal)

Divida a imagem Rom. (No PC principal)
Divida a imagem Rom. (No PC principal)

O chip do BIOS é dividido em 4 regiões. Você precisa dividir a imagem cleaning.rom em suas diferentes regiões com a ferramenta ifd fornecida pelo coreboot

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

Isso produzirá 4 arquivos. Precisamos renomear 3 deles e podemos excluir 1

Renomeie a região do descritor

mv flashregion_0_flashdescriptor.bin descriptor.bin

Exclua a região do BIOS - ela será substituída por coreboot.

rm flashregion_1_bios.bin

Renomear a região GBE

mv flashregion_2_gbe.bin gbe.bin

Renomear a região ME

mv flashregion_3_me.bin me.bin

Copie os arquivos para o diretório coreboot

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

Etapa 11: Configurar a imagem Coreboot. (No PC principal)

Configure a imagem do Coreboot. (No PC principal)
Configure a imagem do Coreboot. (No PC principal)
Configure a imagem do Coreboot. (No PC principal)
Configure a imagem do Coreboot. (No PC principal)
Configure a imagem do Coreboot. (No PC principal)
Configure a imagem do Coreboot. (No PC principal)
Configure a imagem do Coreboot. (No PC principal)
Configure a imagem do Coreboot. (No PC principal)

Mova para o diretório coreboot

cd ~ / work / coreboot

Configure o coreboot.

make nconfig

Isso abrirá o editor de configuração do Coreboot. A maioria das configurações padrão está correta, mas há algumas que podem ser adicionadas. Esta é uma configuração muito básica. Opções mais avançadas, como telas iniciais, vga roms e cargas úteis alternativas, estão disponíveis. Essas opções estão além do escopo deste guia.

Configuração geral

Use CMOS para valores de configuração

Placa-mãe

  • Fornecedor da placa-mãe >>> Selecione >> Lenovo
  • Modelo da placa-mãe >>> Selecione >>> T420

Chipset

  • Adicionar arquivo descritor.bin da Intel
  • Adicionar firmware Intel ME / TXE
  • Adicionar configuração Gigabit Ethernet

Dispositivos

  • Habilitar gerenciamento de energia do clock PCIe
  • Ativar Subestado PCIe ASPM L1

Driver Genérico

PS / 2 teclado init

Etapa 12: construir o Coreboot (no PC principal)

É hora de compilar!

Construiu primeiro o conjunto de ferramentas gcc

make crossgcc-i386 CPUS = X

X = o número de threads que sua CPU possui.

Construir coreboot

fazer iasl

faço

Isso produzirá um arquivo ~ / work / coreboot / build / coreboot.rom.

Ligue o Pi e copie esse arquivo para o diretório ~ / work / roms.

Etapa 13: Grave Coreboot para T420 (no RPI)

Escreva Coreboot para T420 (em RPI)
Escreva Coreboot para T420 (em RPI)
Escreva Coreboot para T420 (em RPI)
Escreva Coreboot para T420 (em RPI)
Escreva Coreboot para T420 (em RPI)
Escreva Coreboot para T420 (em RPI)

Mover para o diretório roms

cd ~ / work / roms

Sondar o chip para certificar-se de que foi detectado

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

Escreva a imagem coreboot. Isso vai demorar mais do que ler a imagem.

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

Depois que a gravação for verificada, desligue o pi. Remova o clipe e monte novamente o T420.

Parabéns, você acabou de atualizar o Coreboot.

Recomendado: