Оглавление:

Lenovo T420 Coreboot с Raspberry Pi: 13 шагов (с изображениями)
Lenovo T420 Coreboot с Raspberry Pi: 13 шагов (с изображениями)

Видео: Lenovo T420 Coreboot с Raspberry Pi: 13 шагов (с изображениями)

Видео: Lenovo T420 Coreboot с Raspberry Pi: 13 шагов (с изображениями)
Видео: Закладки в UEFI и BIOS ▲ Немного о Coreboot и Libreboot 2024, Июль
Anonim
Lenovo T420 Coreboot с Raspberry Pi
Lenovo T420 Coreboot с Raspberry Pi

Coreboot - это замена BIOS с открытым исходным кодом. В этом руководстве описаны шаги, необходимые для его установки на Lenovo T420.

Перед тем, как начать, вам должно быть удобно пользоваться терминалом Linux, а также разбирать свой ноутбук.

Есть вероятность, что это приведет к поломке вашего ноутбука, вы делаете это на свой страх и риск.

Запасы

  • Ponoma 5250 Test Clip - для подключения к микросхеме BIOS.
  • Кабели-перемычки между гнездом и гнездом макетной платы - также известные как провода Dupont.
  • Отвертка Филлипс
  • Маленькие плоскогубцы или шестигранник 5,0 мм.
  • Термопаста
  • Изопропиловый спирт
  • Ватные тампоны
  • Lenovo T420
  • Компьютер под управлением Linux. «Главный компьютер»
  • Raspberry Pi (3 или 4) - последняя версия или Raspberry Pi OS - здесь можно найти инструкции по установке.
  • Руководство по техническому обслуживанию оборудования T420

Шаг 1. Обновите встроенный контроллер на T420

Рекомендуется обновить встроенный контроллер до последней версии. Самый простой способ сделать это - установить последнюю версию заводского BIOS. Coreboot не может коснуться EC. Вы не сможете обновить его после перепрошивки, если не вернетесь к заводскому BIOS.

Шаг 2. Подготовьте Raspberry Pi к перепрошивке. (ON RPI)

Подготовьте Raspberry Pi к перепрошивке. (ON RPI)
Подготовьте Raspberry Pi к перепрошивке. (ON RPI)
Подготовьте Raspberry Pi к перепрошивке. (ON RPI)
Подготовьте Raspberry Pi к перепрошивке. (ON RPI)

Для чтения / записи в микросхему BIOS необходимо включить некоторые модули ядра.

Получите доступ к утилите настройки raspberry pi.

sudo raspi-config

Под опциями интерфейса включите:

  • P2 SSH - если вы будете использовать Pi без головы
  • P4 SPI
  • P5 I2C
  • P8 Remote GPIO - при использовании ssh для подключения к пи

Шаг 3. Подготовьте «главный» компьютер к сборке Coreboot (на основном ПК)

Первое, что нужно сделать, это установить зависимости, необходимые для сборки coreboot.

Для системы на основе Debian

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

Для системы на основе Arch

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

Создайте в своем домашнем каталоге каталог для работы. В этом примере я назову его «работа». Вам также понадобится каталог для хранения заводских изображений. Я назову этот каталог "ромы". Это можно сделать одной строкой, чтобы сэкономить время.

mkdir -p ~ / работа / ромы

Перейти в рабочий каталог

cd ~ / работа

Загрузите последнюю версию ME_Cleaner с github

git clone

Загрузите последнюю версию Coreboot

git clone

Перейти в каталог coreboot

cd ~ / работа / coreboot

Загрузите необходимые подмодули

git обновление подмодуля --init --checkout

Создайте каталог для хранения некоторых файлов, относящихся к вашему T420, которые понадобятся позже.

mkdir -p ~ / работа / coreboot / 3rdparty / blobs / материнская плата / lenovo / t420

Создайте инструмент ifd. Это будет использоваться для разделения заводской BIOS на разные регионы.

компакт-диск ~ / работа / coreboot / utils / ifdtool

делать

Шаг 4: Подключите зажим

Подключите зажим
Подключите зажим

Используйте провод 6 гнездо-гнездо для подключения зажима к Pi.

Биос 1> Пи 24

Bios 2> Pi 21

Bios 4> Pi 25

Биос 5> Пи 19

Биос 7> Пи 23

Биос 8> Пи 17

Контакты 3 и 7 на Bios не используются.

Шаг 5. Доступ к чипу Bios Chip

Доступ к чипу Bios
Доступ к чипу Bios
Доступ к чипу Bios
Доступ к чипу Bios
Доступ к чипу Bios
Доступ к чипу Bios
Доступ к чипу Bios
Доступ к чипу Bios

Микросхема bios находится под каркасом безопасности. Чтобы получить к нему доступ, вам нужно будет снять материнскую плату.

Руководство по обслуживанию оборудования может предоставить инструкции, если у вас возникли проблемы с этим.

Я включил свои разборные изображения. Они никогда не предназначены для публичного просмотра (мой почерк ужасный, извините), но какого черта они могут помочь.

Шаг 6: подключите зажим к чипу Bios

Подключите зажим к чипу Bios
Подключите зажим к чипу Bios
Подключите зажим к чипу Bios
Подключите зажим к чипу Bios
Подключите зажим к чипу Bios
Подключите зажим к чипу Bios

При выключенном Pi подключите зажим к микросхеме BIOS.

Шаг 7. Считайте флеш-чип (на RPI)

Прочтите флеш-чип (на RPI)
Прочтите флеш-чип (на RPI)
Прочтите флеш-чип (на RPI)
Прочтите флеш-чип (на RPI)

Включите Pi

Создайте каталог ромов и перейдите в него.

mkdir -p ~ / работа / ромы

компакт-диск ~ / работа / ромы

Для чтения и записи чипа вам понадобится программа под названием Flashrom. Сначала убедитесь, что он установлен

sudo apt установить flashrom

Используйте flashrom, чтобы проверить чип и убедиться, что он подключен

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

Считайте заводской BIOS с чипа 3 раза и сохраните их как factory1.rom factory2.rom factory3.rom

Используйте параметр -c, чтобы указать свой флэш-чип. Обязательно введите все в кавычки

Каждое чтение займет некоторое время, в зависимости от чипа, оно может составлять от 30 до 45 минут каждое чтение. Не волнуйтесь, если кажется, что пи завис.

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

Шаг 8: Сравните 3 файла (по RPI)

Сравните 3 файла (по RPI)
Сравните 3 файла (по RPI)

Затем вы хотите сравнить 3 файла, чтобы убедиться, что у вас хорошее чтение / соединение.

фабрика sha512sum *.rom

Если все они совпадают, скопируйте их на главный компьютер в каталог ~ / work / roms.

Выключите Pi. Вы можете оставить клип подключенным.

Шаг 9: Очистите ME (на основном ПК)

Очистите ME (на основном ПК)
Очистите ME (на основном ПК)

Переместить в ~ / work / roms

cd ~ / работа / ромы

Заводские ромы редактировать не надо. Сделайте копию одного из них, чтобы очистить.

cp factory1.rom cleaned.rom

Почистите IME на очищенном.rom

~ / работа / me_cleaner / me_cleaner.py -S cleaned.rom

Шаг 10: Разделите образ Rom. (На основном ПК)

Разделить изображение Rom. (На основном ПК)
Разделить изображение Rom. (На основном ПК)

Чип BIOS разделен на 4 части. Вам нужно разделить образ cleaned.rom на разные регионы с помощью инструмента ifd, предоставляемого coreboot.

~ / работа / coreboot / utils / ifdtool / ifdtool -x cleaned.rom

Это создаст 4 файла. Нам нужно переименовать 3 из них и можно удалить 1

Переименуйте область дескриптора

mv flashregion_0_flashdescriptor.bin descriptor.bin

Удалите регион BIOS - он будет заменен на coreboot.

rm flashregion_1_bios.bin

Переименуйте регион GBE

mv flashregion_2_gbe.bin gbe.bin

Переименуйте регион ME

mv flashregion_3_me.bin me.bin

Скопируйте файлы в каталог coreboot

cp descriptor.bin gbe.bin me.bin ~ / работа / coreboot / 3rdparty / blobs / mainboard / lenovo / t420 /

Шаг 11: Настройте образ Coreboot. (На основном ПК)

Настройте образ Coreboot. (На основном ПК)
Настройте образ Coreboot. (На основном ПК)
Настройте образ Coreboot. (На основном ПК)
Настройте образ Coreboot. (На основном ПК)
Настройте образ Coreboot. (На основном ПК)
Настройте образ Coreboot. (На основном ПК)
Настройте образ Coreboot. (На основном ПК)
Настройте образ Coreboot. (На основном ПК)

Перейти в каталог coreboot

cd ~ / работа / coreboot

Настроить coreboot.

сделать nconfig

Это вызовет редактор конфигурации Coreboot. Большинство настроек по умолчанию в порядке, но есть некоторые, которые можно добавить. Это очень простая конфигурация. Доступны более продвинутые параметры, такие как заставки, видеоролики vga, альтернативные полезные нагрузки. Эти параметры выходят за рамки данного руководства.

Общие настройки

Используйте CMOS для значений конфигурации

Материнская плата

  • Производитель материнской платы >>> Выбрать >> Lenovo
  • Модель материнской платы >>> Выбрать >>> T420

Набор микросхем

  • Добавьте файл Intel descriptor.bin
  • Добавить прошивку Intel ME / TXE
  • Добавить конфигурацию Gigabit Ethernet

Устройства

  • Включение управления питанием часов PCIe
  • Включить подсостояние PCIe ASPM L1

Универсальный драйвер

PS / 2 клавиатура инициализации

Шаг 12: Создайте Coreboot (на основном ПК)

Пора компилировать!

Сначала построил набор инструментов gcc

сделать crossgcc-i386 CPUS = X

X = количество потоков вашего процессора.

Сборка coreboot

сделать iasl

делать

Это создаст файл ~ / work / coreboot / build / coreboot.rom.

Включите Pi и скопируйте этот файл в каталог ~ / work / roms.

Шаг 13: Запишите Coreboot в T420 (на RPI)

Запись Coreboot в T420 (на RPI)
Запись Coreboot в T420 (на RPI)
Запись Coreboot в T420 (на RPI)
Запись Coreboot в T420 (на RPI)
Запись Coreboot в T420 (на RPI)
Запись Coreboot в T420 (на RPI)

Перейти в каталог ромов

компакт-диск ~ / работа / ромы

Проверьте чип, чтобы убедиться, что он обнаружен.

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

Напишите образ coreboot. Это займет больше времени, чем чтение изображения.

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

После проверки записи выключите пи. Снимите зажим и соберите T420.

Поздравляем, вы только что установили Coreboot.

Рекомендуемые: