Мы можем собрать toolchain для сборки coreboot, чтоб результат был воспроизводим не только на нашем устройстве (или чтоб собрать образ, сидя на другой архитектуре, например, на малине):
Мы можем собрать toolchain для сборки coreboot, чтоб результат был воспроизводим не только на нашем устройстве (или чтоб собрать образ, сидя на другой архитектуре, например, на малине):
```
```
nihonium@delta/~/T530/coreboot$ make crossgcc-i386 CPUS=$(nproc)
nihonium@delta/~/T530/coreboot$ make crossgcc-i386 CPUS=$(nproc)
```
```
Но я собирал, используя системный toolchain, пользуясь тем, что в Artix все пакеты свежие (вот и пригодился Arch-based!). Очевидно, собрать на малине таким образом образ для ThinkPad'а не выйдет, так что там обязателен данный шаг!
Но я собирал, используя системный toolchain, пользуясь тем, что в Artix все пакеты свежие (вот и пригодился Arch-based!). Очевидно, собрать на малине таким образом образ для ThinkPad'а не выйдет, так что там обязателен данный шаг!
### Знакомимся с CH341A
### Знакомимся с CH341A
@ -119,18 +119,18 @@ Found Macronix flash chip "MX25L6406E/MX25L6408E" (8192 kB, SPI) on ch341a_spi.
Found Macronix flash chip "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E" (8192 kB, SPI) on ch341a_spi.
Found Macronix flash chip "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E" (8192 kB, SPI) on ch341a_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L6405", "MX25L6405D", "MX25L6406E/MX25L6408E", "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E"
Multiple flash chip definitions match the detected chip(s): "MX25L6405", "MX25L6405D", "MX25L6406E/MX25L6408E", "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E"
Please specify which chip definition to use with the -c <chipname> option.
Please specify which chip definition to use with the -c <chipname> option.
```
```
Наш чип - "MX25L6406E/MX25L6408E", дальше подставляем эту строку при считывании/записи.
Наш чип - "MX25L6406E/MX25L6408E", дальше подставляем эту строку при считывании/записи.
![Крепление прищепки к чипу](https://nekoea.red/wrfreely-images/clip.cleaned.jpg)
![Крепление прищепки к чипу](https://nekoea.red/wrfreely-images/clip.cleaned.jpg)
Если чип стабильно читается, то идем в каталог bios-backup и считываем левый чип (SPI1):
Если чип стабильно читается, то идем в каталог bios-backup и считываем левый чип (SPI1):
Так же сверяем суммы, если все совпадает - идем дальше.
Так же сверяем суммы, если все совпадает - идем дальше.
Снимаем программатор, **папку bios-backup сохраняем в надежном месте.**
Снимаем программатор, **папку bios-backup сохраняем в надежном месте.**
@ -246,14 +246,14 @@ nihonium@delta/~/T530/coreboot$ make nconfig
- Add a payload (Tianocore coreboot payload package)
- Add a payload (Tianocore coreboot payload package)
- Tianocore payload (CorebootPayload)
- Tianocore payload (CorebootPayload)
- Secondary Payloads (None)
- Secondary Payloads (None)
```
```
Особое внимание следует уделить параметру payloads/Tianocore payload.
Особое внимание следует уделить параметру payloads/Tianocore payload.
Тут необходимо выбрать именно этот пункт, т.к. [иные версии Tianocore чаще всего не работают на ThinkPad'ах](https://www.reddit.com/r/coreboot/comments/rilew7/tianocore_upstream_vs_uefipayload_vs/). Но из-за "старости" кода в данном варианте, нам надо поставить python2 и разрулить пару проблем с gcc.
Тут необходимо выбрать именно этот пункт, т.к. [иные версии Tianocore чаще всего не работают на ThinkPad'ах](https://www.reddit.com/r/coreboot/comments/rilew7/tianocore_upstream_vs_uefipayload_vs/). Но из-за "старости" кода в данном варианте, нам надо поставить python2 и разрулить пару проблем с gcc.