LINUX.ORG.RU

История изменений

Исправление SakuraKun, (текущая версия) :

1) Если я правильно понимаю, CMOS-память хранится в NVRAM - которая прячется внутри Southbridge у новых компов вроде G505S. Хотя некоторые коребутчики и включают CMOS для coreboot, и потом меняют какие-то настройки в дополнении nvramcui (список/работоспособность которых зависит от твоей платы) - в большинстве случаев этого разумеется не требуется, и в примерных конфигах для G505S и других плат, предоставляемых скриптом ./csb_patcher.sh для AMD, этого не делают.

сравнивая все адресное пространство чипа

Если не включать CMOS в конфигах coreboot, вся «сравниваемая память» будет лежать в БИОС-чипе, и причём она будет оставаться неизменной при использовании компа, расхождений не будет. Но это на AMD, и что там например у интеловских G41M-ES2L - я не знаю (у них же ME есть, пусть и старая версия которая работает без прошивок)

2)

Можно ли программатором как-то залить оригинальный BIOS, который предлагается на сайте производителя? Его нужно как-то конвертировать во что-то перед передачей утилите flashrom ?

В этом репозитории есть «чистый» (т.е. без серийников) образ оригинального БИОСа, извлечённый из официального установщика. Однако, по крайней мере вначале, просто так его использовать не следует: ведь официальный установщик UEFI, помимо его самого, ещё и обновляет прошивку мультиконтроллера EC KB9012 чтобы улучшить алгоритмы зарядки и т.д. А перепрошить KB9012 самому при помощи flashrom, хоть и возможно - но придётся знатно попердолиться (изготовить кастомный переходник) и я не знаю, готов ли ты к этому. Поэтому, возможно тебе придётся воспользоваться этим офиц.установщиком, и временно накатить винду чтобы запустить его.

3)

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

А что тебе даст эта неперепрошиваемость, если может там в самом БИОСе изначально бэкдоры сидят? Если он проприетарный...

использовать такой PXE сервер для загрузки других компов?

если их UEFI проприетарный, да ещё и Intel ME / AMD PSP имеется, то сетевая загрузка OS не сильно поможет. Все компы должны быть защищены одинаково хорошо, и если это действительно так, то и неперепрошиваемость не особо требуется

Насколько фатален для такой загрузки BLOB в сетевой карточке?

Попробуй отыскать безблобовую сетевую карточку, такие есть. По крайней мере, Ethernet-контроллер у G505S блобов не требует, и я сомневаюсь что у него есть своя собственная память с блобом - по крайней мере, если не учитывать возможный встроенный ROM в сам сетевой чип.

Если брать совсем уж самые древние карты из 90-х?

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

А BLOB в сетевухе одноплатника Beaglebone Black?

с одноплатниками вообще всё грустно, нет ни одного свободного (т.е. безблобового) помимо EOMA68 - да и тот всё никак не выйдет. Для прошивки лучше использовать CH341A - он поддерживается опенсорсным софтом flashrom, и памяти у него своей нет, только несколько конфигурационных регистров

4)

Никто не пробовал просто пообкусать флэш чипы и подпаять на проводах колодки? Ведь ножек у таких чипов совсем мало?

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

Исходная версия SakuraKun, :

1) Если я правильно понимаю, CMOS-память хранится в NVRAM - которая прячется внутри Southbridge у новых компов вроде G505S. Хотя некоторые коребутчики и включают CMOS для coreboot, и потом меняют какие-то настройки в дополнении nvramcui (список/работоспособность которых зависит от твоей платы) - в большинстве случаев этого разумеется не требуется, и в примерных конфигах для G505S и других плат, предоставляемых скриптом ./csb_patcher.sh для AMD, этого не делают.

сравнивая все адресное пространство чипа

Если не включать CMOS в конфигах coreboot, вся «сравниваемая память» будет лежать в БИОС-чипе, и причём она будет оставаться неизменной при использовании компа, расхождений не будет. Но это на AMD, и что там например у интеловских G41M-ES2L - я не знаю (у них же ME есть, пусть и старая версия которая работает без прошивок)

2)

Можно ли программатором как-то залить оригинальный BIOS, который предлагается на сайте производителя? Его нужно как-то конвертировать во что-то перед передачей утилите flashrom ?

В этом репозитории есть «чистый» (т.е. без серийников) образ оригинального БИОСа, извлечённый из официального установщика. Однако, по крайней мере вначале, просто так его использовать не следует: ведь официальный установщик UEFI, помимо его самого, ещё и обновляет прошивку мультиконтроллера EC KB9012 чтобы улучшить алгоритмы зарядки и т.д. А перепрошить KB9012 самому при помощи flashrom, хоть и возможно - но придётся знатно попердолиться (изготовить кастомный переходник) и я не знаю, готов ли ты к этому. Поэтому, возможно тебе придётся воспользоваться этим офиц.установщиком, и временно накатить винду чтобы запустить его.

3)

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

А что тебе даст эта неперепрошиваемость, если может там в самом БИОСе изначально бэкдоры сидят? Если он проприетарный...

использовать такой PXE сервер для загрузки других компов?

если их UEFI проприетарный, да ещё и Intel ME / AMD PSP имеется, то сетевая загрузка OS не сильно поможет. Все компы должны быть защищены одинаково хорошо, и если это действительно так, то и неперепрошиваемость не особо требуется

Насколько фатален для такой загрузки BLOB в сетевой карточке?

Попробуй отыскать безблобовую сетевую карточку, такие есть. По крайней мере, Ethernet-контроллер у G505S блобов не требует, и я сомневаюсь что у него есть своя собственная память с блобом - по крайней мере, если не учитывать возможный встроенный ROM в сам сетевой чип.

Если брать совсем уж самые древние карты из 90-х?

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

А BLOB в сетевухе одноплатника Beaglebone Black?

с одноплатниками вообще всё грустно, нет ни одного свободного (т.е. безблобового) помимо EOMA68 - да и тот всё никак не выйдет. Для прошивки лучше использовать CH341A - он поддерживается опенсорсным софтом flashrom, и памяти у него своей нет, только несколько конфигурационных регистров

4) Никто не пробовал просто пообкусать флэш чипы и подпаять на проводах колодки? Ведь ножек у таких чипов совсем мало?

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