2023-07-10 15:43:08 +00:00
|
|
|
|
---
|
|
|
|
|
title: Прошивка ThinkPad X200 вперше
|
|
|
|
|
x-toc-enable: true
|
|
|
|
|
...
|
|
|
|
|
|
extreme cleanup / grandiose gesture
make canoeboot a truly GNU FSDG compliant coreboot distro,
by removing all overly positive reference to Libreboot;
what remains is technical in nature, so as to provide
historical context since Canoeboot is a fork of Libreboot.
I've stated before that I wish to take a more neutral tone
toward the FSF, in contrast to the *coldboot war* of 2023
when GNU Boot started.
Canoeboot was heavily linking to Libreboot, even going so far
as to call itself "inferior" and tell the reader to use
Libreboot.
From now on, Canoeboot will be maintained as though I actually
believed in FSF propoganda. I don't, but its users do. Treat
them with respect. My reason for providing Canoeboot is
precisely that I wish for such people to have a high quality
coreboot distro, much unlike the inferior *GNU Boot* project;
inferior because to this day, it's still based on very old
Libreboot, with not much changed (of any real substance)
relative to the Libreboot 20220710 release on which it forked.
In general, I've also found a lot of stragglers from when
Canoeboot started, where paragraphs referred to Libreboot that
should have actually referred to Canoeboot, or paragraphs
with Libreboot-specific information that does not make sense
in the Canoeboot project e.g. references to vendor scripts.
The resulting canoeboot.org will now look no different to any
typical reader than a typical FSF-aligned project.
There is a next stage to this, which will become apparent to
everyone if I have my way.
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-10 02:12:44 +00:00
|
|
|
|
NOTE: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
2024-01-27 22:35:38 +00:00
|
|
|
|
now, as of 3 May 2024, which is a fork of flashrom.
|
|
|
|
|
|
2023-07-10 15:43:08 +00:00
|
|
|
|
**If you haven't bought an X200 yet: the [Dell Latitude
|
2024-08-29 22:54:48 +00:00
|
|
|
|
E6400](latitude.md) is much easier to flash; no disassembly required,
|
2023-10-26 00:10:41 +00:00
|
|
|
|
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
|
2023-07-10 15:43:08 +00:00
|
|
|
|
same hardware generation (GM45), with same CPUs, video processor, etc.**
|
|
|
|
|
|
2023-10-26 00:10:41 +00:00
|
|
|
|
Цей посібник призначений для тих, хто бажає Canoeboot на своєму ThinkPad X200,
|
2023-07-10 15:43:08 +00:00
|
|
|
|
поки у нього все ще є оригінальний Lenovo BIOS в наявності. Цього керівництва також можна
|
|
|
|
|
дотримуватися (адаптувати), якщо ви перетворили ваш X200 на цеглину, щоб знати, як його відновити.
|
|
|
|
|
|
|
|
|
|
Якщо у вас виконується оригінальна мікропрограма Lenovo, вам потрібно буде зняти
|
|
|
|
|
клавіатуру та підставку для рук, щоб мати доступ до мікросхеми флеш-пам'яті, яка знаходиться прямо
|
|
|
|
|
під підставкою для рук. Потім ви підключите зовнішній програматор SPI, щоб
|
|
|
|
|
повторно прошити мікросхему зовні, коли вона вимкнена та акумулятор висунуто.
|
|
|
|
|
|
|
|
|
|
ПРИМІТКА: Цей посібник стосується лише звичайного X200. Для перепрошивки X200S та X200 Tablet,
|
2023-10-26 00:10:41 +00:00
|
|
|
|
будь-ласка прочитайте інші посібники, доступні на Canoeboot
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Розмір флеш-чіпа
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
Виконайте цю команду на x200, щоб дізнатися модель флеш-чіпа та його розмір:
|
|
|
|
|
|
2024-01-27 22:35:38 +00:00
|
|
|
|
flashprog -p internal
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
MAC адреса
|
|
|
|
|
===========
|
|
|
|
|
|
|
|
|
|
Зверніться до [mac\_address.md](../hardware/mac_address.md).
|
|
|
|
|
|
|
|
|
|
Процедура
|
|
|
|
|
-------------
|
|
|
|
|
|
|
|
|
|
Цей розділ стосується X200. Цей не стосується X200S або X200
|
|
|
|
|
Tablet (для цих систем потрібно повністю видалити материнську плату,
|
|
|
|
|
оскільки мікросхема флеш-пам'яті знаходиться з іншого боку плати).
|
|
|
|
|
|
|
|
|
|
Викрутіть ці гвинти:\
|
2023-10-26 00:10:41 +00:00
|
|
|
|
![](https://av.canoeboot.org/x200/disassembly/0003.jpg)
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Обережно притисніть клавіатуру до екрана, потім підніміть її та за бажанням
|
|
|
|
|
від'єднайте від плати:\
|
2023-10-26 00:10:41 +00:00
|
|
|
|
![](https://av.canoeboot.org/x200/disassembly/0004.jpg)
|
|
|
|
|
![](https://av.canoeboot.org/x200/disassembly/0005.jpg)
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Від'єднайте кабель пристрою для зчитування відбитків пальців, а потім потягніть упор для рук,
|
|
|
|
|
піднявши його ліву та праву сторону:\
|
2023-10-26 00:10:41 +00:00
|
|
|
|
![](https://av.canoeboot.org/x200/disassembly/0006.1.jpg)
|
|
|
|
|
![](https://av.canoeboot.org/x200/disassembly/0006.jpg)
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Тут показано розташування мікросхеми флеш-пам'яті, для обох SOIC-8 та SOIC-16:\
|
2023-10-26 00:10:41 +00:00
|
|
|
|
![](https://av.canoeboot.org/x200/x200_soic16.jpg)
|
|
|
|
|
![](https://av.canoeboot.org/x200/x200_soic8.jpg)
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Підніміть стрічку, яка закриває частину флеш-пам'яті, а потім
|
|
|
|
|
приєднайте затискач:\
|
2023-10-26 00:10:41 +00:00
|
|
|
|
![](https://av.canoeboot.org/x200/disassembly/0008.jpg)
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
2023-10-26 00:10:41 +00:00
|
|
|
|
Тепер ви повинні бути готові до встановлення Canoeboot.
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Зверніться до [інструкцій програмування SPI](spi.md).
|
|
|
|
|
|
|
|
|
|
Закінчивши, знову зберіть систему. Якщо вона не завантажується, спробуйте інші
|
|
|
|
|
модулі оперативної пам'яті, тому що raminit дуже ненадійний на цій платформі (в coreboot).
|
|
|
|
|
|
|
|
|
|
Пам'ять
|
|
|
|
|
======
|
|
|
|
|
|
|
|
|
|
У машинах DDR3 з Cantiga (GM45/GS45/PM45), північний міст потребує стіків,
|
|
|
|
|
які працюватимуть як PC3-8500 (швидші стіки PC3/PC3L можуть працювати як PC3-8500).
|
|
|
|
|
Пари, що не збігаються, можуть не працювати. Один модуль (тобто один із слотів
|
|
|
|
|
буде порожнім) наразі працюватиме лише в слоті 0.
|
|
|
|
|
|
|
|
|
|
ПРИМІТКА: згідно зі звітами користувачів, у деяких випадках невідповідні пари ( 1+2 ГБ) можуть
|
|
|
|
|
працювати в деяких випадках.
|
|
|
|
|
|
|
|
|
|
Переконайтесь, що оперативна пам'ять, яку ви купуєте, має конфігурацію 2Rx8, купуючи стіки по 4 ГБ
|
|
|
|
|
(Іншими словами: максимально 2 ГБ на ранг, 2 ранга на картку).
|
|
|
|
|
|
|
|
|
|
На цьому фото встановлено 8 ГБ оперативної пам'яті (2x4ГБ):
|
|
|
|
|
|
2023-10-26 00:10:41 +00:00
|
|
|
|
![](https://av.canoeboot.org/x200/disassembly/0018.jpg)
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Завантажуйтесь!
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Ви маєте побачити щось подібне цьому:
|
|
|
|
|
|
2023-10-26 00:10:41 +00:00
|
|
|
|
![](https://av.canoeboot.org/x200/disassembly/0019.jpg)
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
2023-07-17 15:45:56 +00:00
|
|
|
|
Тепер [встановлюйте GNU+Linux](../gnulinux/).
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Користувачі X200S та X200 Tablet: трюк GPIO33 не спрацює.
|
|
|
|
|
--------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
sgsit дізнався про контакт під назвою GPIO33, який можна заземлити,
|
|
|
|
|
щоб вимкнути захист прошивки за допомогою дескриптора та зупинити ME від
|
|
|
|
|
запуску (який сам по собі перешкоджає спробам прошивки). Теорія була
|
|
|
|
|
доведена правильною; однак на практиці це все одно марно.
|
|
|
|
|
|
|
|
|
|
Подивіться трохи вище 7 у TP37 (це GPIO33):
|
|
|
|
|
|
2023-10-26 00:10:41 +00:00
|
|
|
|
![](https://av.canoeboot.org/x200/gpio33_location.jpg)
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
2024-01-27 22:35:38 +00:00
|
|
|
|
Це замовчуванням ми побачимо це в lenovobios, під час спроби flashprog -p
|
2023-07-10 15:43:08 +00:00
|
|
|
|
internal -w rom.rom:
|
|
|
|
|
|
|
|
|
|
FREG0: Warning: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
|
|
|
|
|
FREG2: Warning: Management Engine region (0x00001000-0x005f5fff) is locked.
|
|
|
|
|
|
|
|
|
|
Коли GPIO33 було заземлено під час завантаження, це вимкнуло захист флеш-пам'яті,
|
|
|
|
|
встановлений дескриптором, і зупинило запуск ME. Результат змінився
|
|
|
|
|
на:
|
|
|
|
|
|
|
|
|
|
The Flash Descriptor Override Strap-Pin is set. Restrictions implied by
|
|
|
|
|
the Master Section of the flash descriptor are NOT in effect. Please note
|
|
|
|
|
that Protected Range (PR) restrictions still apply.
|
|
|
|
|
|
|
|
|
|
Частина, виділена жирним шрифтом, - це те, що нас дістало. Це все ж спостерігалось:
|
|
|
|
|
|
|
|
|
|
PR0: Warning: 0x007e0000-0x01ffffff is read-only.
|
|
|
|
|
PR4: Warning: 0x005f8000-0x005fffff is locked.
|
|
|
|
|
|
|
|
|
|
Насправді ці засоби захисту можна відключити. Lenovobios робить це,
|
|
|
|
|
під час оновлення BIOS (пропрієтарного). Одним із можливих способів вирішити цю проблему
|
|
|
|
|
було б відлагодити утиліту оновлення BIOS від Lenovo, для віднаходження,
|
|
|
|
|
як вона вимикає ці засоби захисту. Додаткові дослідження доступні
|
|
|
|
|
тут:
|
|
|
|
|
<http://www.coreboot.org/Board:lenovo/x200/internal_flashing_research>
|
|
|
|
|
|
|
|
|
|
Звичайно, ймовірно, що Lenovo BIOS перевіряє якийсь біт в пам'яті,
|
|
|
|
|
який говорить йому не вимикати перепрошивку, а потім він не встановлює регістри PRx. Принцип
|
|
|
|
|
роботи програми оновлення BIOS Lenovo полягає в тому, що вона спочатку виконується в Windows,
|
|
|
|
|
а потім відбувається перезавантаження, ініціюючи перепрошивку під час раннього завантаження. Ймовірно,
|
|
|
|
|
це встановлює щось у пам'яті та завантажує ROM, плюс програму корисного навантаження,
|
|
|
|
|
яка виконує перепрошивання; тоді Lenovo BIOS, ймовірно, бачить це та запускає це замість
|
|
|
|
|
встановлення PRx і переходу до нормального завантаження. Теоретично можливо, що ми
|
|
|
|
|
зможемо дізнатися, як це працює, налагодивши утиліту оновлення BIOS Lenovo (у
|
2023-07-17 15:45:56 +00:00
|
|
|
|
Windows), а потім відтворивши її дії за допомогою якогось інструменту для GNU+Linux,
|
2024-01-27 22:35:38 +00:00
|
|
|
|
а потім завантаживши двійковий файл flashprog в пам'ять та ROM для прошивки (для BIOS
|
2023-07-10 15:43:08 +00:00
|
|
|
|
регіона). Ви б зробили це з заземленням GPIO33, і програма корисного навантаження
|
2023-10-26 00:10:41 +00:00
|
|
|
|
фактично прошиє весь чіп, лише звичайним образом Canoeboot.
|
2023-07-10 15:43:08 +00:00
|
|
|
|
|
|
|
|
|
Це можливо. Ймовірно, це єдиний спосіб роботи програми оновлення BIOS Lenovo.
|
|
|
|
|
Отже, якщо ми дізнаємося, як саме це зробити, тоді ви можете просто підключити кілька
|
|
|
|
|
контактів pogo для заземлення GPIO33, потім завантажитися, запустити програмне забезпечення
|
|
|
|
|
(яке потрібно було б написати), яке виконує вищезазначене.
|
|
|
|
|
|
2023-10-26 00:10:41 +00:00
|
|
|
|
У зв'язку з цим у Canoeboot є утиліта, яка може допомогти
|
2023-07-10 15:43:08 +00:00
|
|
|
|
розслідувати це:
|
|
|
|
|
[ich9utils.md#demefactory](ich9utils.md#demefactory)
|