Замена прошивки далеко не простая, по крайней мере, как правило. Проблема в том, что прошивка обязательно написана специально для одной материнской платы или хотя бы одного чипсета - прошивка для чипсета А скорее всего зависнет или, по крайней мере, будет работать плохо, если установлена на чипсете B. У меня нет точного считайте, но за эти годы было произведено сотни (может быть, тысячи) наборов микросхем для ПК. Выполняя поиск в NewEgg, я вижу, что они перечисляют 20 наборов микросхем для доступных в настоящее время материнских плат Intel и еще 12 для доступных в настоящее время материнских плат AMD.
На данный момент лучшим решением для замены прошивки с открытым исходным кодом (или близкой к нему) является CoreBoot. Это обеспечивает инструментарий для создания простого ядра для инициализации оборудования, поверх которого вы можете использовать любую из нескольких "полезных нагрузок" для обеспечения функциональности - например, BIOS с открытым исходным кодом, UEFI с открытым исходным кодом, GRUB или ядро Linux. Список поддерживаемых материнских плат CoreBoot невелик по сравнению с общей историей компьютеров x86. (Конечно, CoreBoot, вероятно, будет работать на более широком спектре аппаратного обеспечения, чем официально поддерживаемый список, но вы будете поражены, если захотите попробовать его на чем-то, чего нет в списке.)
Это, конечно, проблема для тех, кто, например, Ричард Столлман, идеологически настроен против проприетарного программного обеспечения; большинство компьютеров зависят от проприетарной прошивки, даже если они работают под управлением ОС с открытым исходным кодом и стека приложений. Хотя CoreBoot является опцией для некоторых, она достаточно непонятна, достаточно непроверена и достаточно ограничена на поддерживаемых компьютерах, что серьезно ограничит ваш выбор оборудования и, вероятно, потребует значительных дополнительных усилий, если вы будете настаивать на его использовании. Большинство людей не заботятся о том, чтобы избавиться от проприетарной прошивки. Для тех, кто это делает, ограничения CoreBoot являются проблемой; вы не можете просто вставить CoreBoot в качестве замены, как вы можете перенести Linux на компьютер в качестве замены для Windows.