LINUX.ORG.RU

Создан скрипт restore_agesa, возвращающий в БИОС coreboot удалённые AMD-платы

 , , , ,


2

5

Ранее, в прошлогоднем ноябре - вскоре после выхода БИОСа coreboot версии 4.18 - из него удалили всё AMD-железо семейств 14h/15h/16h, вышедших до появления PSP (Platform Security Processor). В качестве причины прекращения поддержки было объявлено, что опенсорсный код AMD AGESA не удовлетворяет некоторым требованиям, и его присутствие «мешает дальнейшей разработке coreboot» (в особенности корпоративным разработчикам). Но данный аргумент многим членам опенсорсного сообщества показался сомнительным - и в результате Майку Бэнону удалось создать скрипт restore_agesa, возвращающий в БИОС coreboot удалённые AMD-платы путём отката группы «плохих коммитов». В результате выяснилось:

  • с момента удаления AMD'шных плат было выпущено 4266 коммитов
  • из них лишь 38 коммитов (менее 1%) несовместимы с AMD'шным кодом по своей природе - или удаляют его / необходимые ему компоненты или вносят в основную часть исходников coreboot ломающие его изменения - в результате чего и требуется удаление их самих
  • остальные откатываемые 118 коммитов (примерно 2.7%) AMD'шному коду не противоречат - и «попадают под горячую руку» только из-за ошибок git revert'ов, вызванных цепной реакцией при попытке отката 38 «плохих коммитов»

Вчера вышла знаковая версия скрипта restore_agesa, возвращающая AMD-платы в свежевыпущенный coreboot 4.21 и успешно протестированная на ноутбуке Lenovo G505S с процессором A10-5750M (в совокупности со скриптом csb_patcher, применяющем группу неофициальных патчей для AMD платформ). Другие возвращаемые платы, включая ASUS A88XM-E и ASUS AM1I-A, также должны работать т.к. их код весьма похож и успешно собирается

>>> Исходники скрипта restore_agesa + обсуждение

★★★★★

Проверено: hobbit ()
Последнее исправление: Dimez (всего исправлений: 3)

Ответ на: комментарий от X512

Видимо, затем же зачем Microsoft купила Github и IBM купила RedHat - пытаются играть в открытость и всё такое...

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от open-source

IntelME имеет полный доступ к памяти (безо всякого ведома на то родительского ЦПУ) и к TCP/IP-стеку, соответственно может как посылать, так и принимать пакеты независимо от операционной системы, обходя таким образом её брандмауэр.

А тебя не смущает что cpu от той де фирмы intel может делать все то же самое?

cumvillain
()
Ответ на: комментарий от etwrq

если вас интересует Ryzen - в итоге он появится в коребуте судя по этим новостям - 1), 2), 3) - но пожалуй лишь для новых поколений, новее чем R5 5600X. К сожалению, сейчас среди возможных вариантов - или старое AMD которое я перечислял выше (G505S / A88XM-E / AM1I-A), или - при всей моей нелюбви к нему - свежий Intel вроде того что можно поставить на MSI Z690-A DDR4 / DDR5, например i9-12900K двенадцатого поколения. Тут уже коребутный комп NitroPC Pro продают на базе этой свежей интеловской платы

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от cumvillain

Тут проблема не только в сомнительной природе Intel ME - но ещё и в том, что если прошивку БИОСа используемую CPU ещё возможно полностью заменить (пример - абсолютно безблобовый БИОС коребут для старого интела), то прошивку ME заменить на опенсорсную альтернативу попросту невозможно даже если бы такая и существовала в природе. Именно поэтому AMD'шный Lenovo G505S в своё время был в списке Libreboot candidates как в теории способный работать на 100% опенсорсе (до понижения Libreboot'ом стандартов на этот счёт) благодаря отсутствию незаменяемых блобов вроде PSP'шных, а Intel'овский Lenovo X230 - не мог попасть в этот список, так как блоб его ME возможно только урезать при помощи me_cleaner но не заменить

SakuraKun ★★★★★
() автор топика
Последнее исправление: SakuraKun (всего исправлений: 1)

Кто это писал? Тут нужно не исправлять, а полностью переписать. Чем «исходники скрипта» отличаются от непосредственно самого скрипта? Да и зачем нужен какой-то скрипт, если можно было просто сделать форк с откатом неугодных коммитов?

CYB3R ★★★★★
()
Ответ на: комментарий от open-source

IntelME не всегда содержала функции инициализатора, перенесённые в неё несколько лет назад из BIOS’а

Когда появился Intel ME, BIOS уже начали выкидывать на помойку.

компьютеры работали и загружались и до начала внедрения в процессоры Intel подсистемы Intel ME.

Intel ME не является частью процессора. Это часть чипсета.

Ты не поверишь, но компьютеры вообще много без чего загружались. Вон PS5 без проблем без Intel ME и AMD PSP загружается, а там тоже amd64 под капотом.

Помимо этого, Intel заявляет, что главная функция IntelME — это обеспечение максимальной производительности.

Это где Intel такое заявляет? Мне казалось, Intel ME нужен для сервисных функций типа инициализации, управления питанием и так далее.

Таким образом частичная инициализация — это дополнительная функция.

Да нет. Это основная функция: сделать POST, сунуть процессору EFI в зубы и уйти в фон рулить куллерами.

Точный же принцип работы не документирован, а исходный код обфусцирован с помощью кода Хаффмана, таблица для которого хранится непосредственно в аппаратуре, поэтому сама прошивка IntelME не содержит информации для своего раскодирования.

И как же тогда me_cleaner сделали?

Не, то что Штеуд – засранцы и открывают самый минимум, это даже не обсуждается. Тут я всеми ногами согласен. Но пока что все свидетельства о шпионаже через Intel ME заканчиваются на постах типа «ААААА МОЙ ЛЯПТОП ЧТО-ТО ДЕЛАЕТ Я НИЧО НИ ПАНИМАЮ». Где дампы с роутера? Где видео? Где расследования? За 15-то мать его лет можно было пруфов наделать!

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от SakuraKun

Кстати, эта история - один из примеров как корпорации могут негативно влиять на опенсорсный проект, продавливая невыгодные для сообщества решения

Аутисты за рабочими столами с позицией «я не пользуюсь, значит и другим не нужно» ничем не лучше.

Vidrele ★★
()
Ответ на: комментарий от SakuraKun

форки всегда отстают от мастера

Ты не понял, суть в том чтобы постоянно тащить из мастера в этот форк, просто «удалять удаления»

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

постоянно тащить из мастера в этот форк

И это придётся постоянно делать; в случае же скрипта что-то делать придётся лишь периодически

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

форки всегда отстают от мастера

Ты не понял, суть в том чтобы постоянно тащить из мастера в этот форк, просто «удалять удаления»

Он не осилил cron. Всё в порядке.

hateyoufeel ★★★★★
()
Ответ на: комментарий от CYB3R

Одного rebase будет недостаточно, rebase придётся делать постоянно - хоть руками, хоть в цикле - это потребует вычислительных ресурсов и т.д., в то время как со скриптом - просто лежат несколько килобайт текста и есть не просят ;-) P.S. Скрипт не мой, я просто разместил объяву)

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от etwrq

как он работает без intel-ucode.bin

кто «он»? если ты про MSI Z690-A DDR4 / DDR5, она вполне может использовать микрокод лежащий внутри коребута - или как файл, или как hex'овый массив. Кстати, микрокод обязателен не для всех плат: по крайней мере AMD'шный ноут Lenovo G505S может работать и без микрокода, правда со сломанной виртуализацией

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от SakuraKun

Ты наверное не понял суть вопроса, как именно портировали эти материнки с примерами, т.е. какой софт использовали и как, чтобы я мог посмотреть и попробовать тоже самое но только с своей материнкой

SPRATAY
()
Ответ на: комментарий от SakuraKun

микрокод, который .bin, это оперативные фиксы текущей ERRATA, ситуативный monkey-patching

etwrq ★★★★★
()
Ответ на: комментарий от Shadow

Ви так пишите, будто социуму равнозначны апстрим и какой-то скрипт

FTFY

intelfx ★★★★★
()
Ответ на: комментарий от SakuraKun

что примечательно пытаются говорить за «community», притом что само «community» на самом деле не хочет терять платы: хотя бы судя по комментам к новостям о релизах коребута, где в очередной раз выкинули группу плат

Community — это те, кто что-то делает, а не те, кто пишет гневные комменты к новостям о релизах.

intelfx ★★★★★
()
Ответ на: комментарий от SakuraKun

Основной причиной удаления скорее стало отсутствие LEGACY_SMP_INIT, который с виду воплотить значительно сложнее + нет гарантии что на следующем релизе не придерутся к отсутствию какой-то другой «корпоративной фичи»

Какой к лешему корпоративной фичи, когда речь тупо о внутреннем рефакторинге?

но тогда влияние корпораций было не так велико и его удалось отстоять

Как тяжело всё-таки жить, когда за каждым углом влияние корпораций.

🤡🤡🤡

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Сообщество до последнего присылало патчи (из наиболее значимых - для поддержки кастомных таймингов и XMP-профилей) и результаты тестирования новых релизов, даже полные отчёты board_status с риском утечки приватной информации

«корпоративной фичи»

Имеется в виду фича, на обязательном присутствии которой настояли корпорации (просто как повод удаления «мешающих плат») - в то время как вполне можно было бы обойтись несколькими ifdef'ами, чтобы избежать потерь среди поддерживаемого оборудования которого и так немного

внутреннем рефакторинге

Так и до 3.5 поддерживаемых плат можно докатиться, с таким чумовым «рефакторингом»

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от Vidrele

Аутисты за рабочими столами с позицией

Если те кто пишут комменты тут, на (англоязычной) тытрубе и прочих У-комбинаторах это прям п-peak normie - то спасибо, я лучше останусь аутистом.

Andrew-R ★★★★★
()
Ответ на: комментарий от SakuraKun

Прошу прощения, что вклиниваюсь в беседу. Я немного интересуюсь coreboot / libreboot, но в целом скорее не в теме. Есть вопрос.

Собственно, а coreboot для AMDшных FXов вообще не существует? И если нет, то есть ли шансы, что он когда-нибудь появится? Или там какое-то специфическое препятствие?

Просто я, по случаю, прикупил себе несколько лет назад пару 4350 по дешёвке. Про запас, исходя как раз из того, что это последние безPSPшные AMD. Ну и на основном десктопе тоже 8350. Время от времени заглядываю на коребутовские странички, но совместимых плат каждый раз не нахожу.

aeralahthu
()
Ответ на: комментарий от CYB3R

в отличие от форка с кроном, выполнение скрипта требует вычислительных ресурсов однократно - причём на стороне пользователя. К тому же скрипт занимает намного меньше места при хранении и даже лежит на review.coreboot.org , а вот форк там не дали бы захостить ;-)

SakuraKun ★★★★★
() автор топика
Последнее исправление: SakuraKun (всего исправлений: 1)
Ответ на: комментарий от aeralahthu

А на коребутовских страничках не всё написано, особенно после удаления плат из коребута. По поводу FX: пожалуйста посмотри мои 4 сообщения здесь по поиску M5A88-V; если кратко, ситуация с поддержкой FX на коребуте куда хуже чем у AMD'шных плат перечисленных выше, но есть пара плат где это можно попробовать: M5A88-V, m5a99fx-pro r2 и может быть я ещё чего-то забыл

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

Расскажи пожалуйста, как этот вариант будет выглядеть при практическом воплощении? если тоже как скрипт но который тащит «нужные» коммиты вместо удаления «ненужных», то строчек там получится больше

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от SakuraKun

Например, так:

git clone https://review.coreboot.org/coreboot.git
cd coreboot
git remote add restore_agesa https://github.com/SakuraKun/coreboot.git
git fetch restore_agesa
git checkout -b restore_agesa restore_agesa/master
git rebase origin/master
CYB3R ★★★★★
()
Ответ на: комментарий от SakuraKun

если вас интересует Ryzen - в итоге он появится в коребуте

Когда и насколько это реально? С блобами, но coreboot?

Тут уже коребутный комп NitroPC Pro продают на базе этой свежей интеловской платы

Для процессоров Intel ведь ничего не поменялось после микроархитектуры Penryn или микроарх. Broadwell? Так?

например, на POWER9 создали свободную рабочую станцию TALOSII : мощная, но дорогая

К Talos вопросов нет, но ведь это только плата, нужна еще дискретная видеокарта как минимум. Иными словами, есть новые варианты для HDD/SSD open source Firmware, USB controller open source Firmware, LAN open source Firmware, EC open source Firmware, sound card open source Firmware, ROM CPU open source Firmware/microcode. Клавиатуры вроде видел с open source Firmware, мышки не знаю.

Как обстоят дела с open source Firmware для телефонов, для которых есть OC Replicant https://www.replicant.us/ ? Аналогичный вопрос для Google Pixel, начиная с Pixel 5 (5, 5a, 6, 6 Pro, 6a, 7, 7 Pro, 7a, Tablet, Fold)? Прошивка (установка другой ОС) этих телефонов это только замена OC или одновременно и замена всего втроенного ПО?

Что думаете о the open firmware for PinePhone’s LTE modem? Когда прошиваются телефоны, это касается всего встроенного ПО телефона? Ссылки из интернета https://hackaday.com/2022/07/12/open-firmware-for-pinephone-lte-modem-whats-up-with-that/

https://wiki.pine64.org/wiki/PineModems

https://github.com/the-modem-distro/pinephone_modem_sdk/releases

https://github.com/the-modem-distro/pinephone_modem_sdk

https://liliputing.com/hackers-develop-open-source-firmware-for-the-pinephone-modem-use-it-to-make-phone-calls/

https://liliputing.com/open-source-pinephone-modem-firmware-now-supports-audio-gps-and-power-management/

Вы заходите на 4pda.to/forum?

vNoaGzl
()
Последнее исправление: vNoaGzl (всего исправлений: 1)
Ответ на: комментарий от vNoaGzl

если вас интересует Ryzen - в итоге он появится в коребуте

Когда и насколько это реально?

В следующем году, может быть; я не особо слежу за темой, т.к. меня компы с Intel ME / AMD PSP не интересуют

С блобами, но coreboot?

Да, в опенсорсной прошивке coreboot есть некоторое количество блобов: но для разных плат - разные блобы, и блобы блобам рознь. Какие это блобы - их потенциальная опасность, возможность замены, и реальная необходимость - нужно рассматривать отдельно для каждой конкретной платы, т.к. ситуация по блобам может различаться кардинально. Лично меня имеющихся блобы у коребутных AMD'шных плат без AMD PSP - ASUS A88XM-E, Lenovo G505S, ASUS AM1I-A - устраивают, т.к. когда их изучали при попытке создания опенсорсных альтернатив - потенциальной опасности не выявлено: не был проанализирован лишь блоб XHCI для USB 3.0, но он не является обязательным и по умолчанию не добавляется при сборке coreboot, просто без него все USB-порты - и чёрные, и синие - работают в режиме USB 2.0, что вполне терпимо... А вот у других плат могут наблюдаться более «страшные» блобы ME, FSP и т.д., которые меня не устраивают, поэтому и сижу на этом старом AMD: к счастью, его производительности при должной прокачке ( добротная оперативка и т.д., см. [ur]=www.linux.org.ru/search.jsp?range=COMMENTS&user=SakuraKun&sort=DATE]п... по моим старым сообщениям ) - хватает и для современных задач

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от vNoaGzl

Тут уже коребутный комп NitroPC Pro продают на базе этой свежей интеловской платы

Для процессоров Intel ведь ничего не поменялось

Да, там ситуация с блобами куда хуже чем у AMD про которое я только что написал выше, но если позарез нужен максимально быстрый комп то можно рассмотреть и такой вариант: даже такой напичканный блобами coreboot всё же лучше любого проприетарного UEFI

К Talos вопросов нет, но ведь это только плата, нужна еще дискретная видеокарта как минимум

Про дискретку я уже рассказывал раньше (по сообщениям можно искать здесь) - если кратко, то можно взять или RX590 несмотря на небольшой блоб AtomBIOS ради официально поддерживаемых опенсорсных драйверов, или GeForce GTX Titan Z ради чуть более полного опенсорса в ущерб производительности и качеству драйверов

HDD/SSD open source Firmware

Только OpenSSD который весьма дорогой и сложно достать, а прошивки других SSD чересчур умные + нет гарантированного стирания данных (даже при прогонах dd ваши данные могут застрять в объёмных кешах недоступных пользователю), поэтому проще взять какой-нибудь «тупой» негибридный HDD (разумеется не черепичный) и пока что пользоваться им за неимением лучшего варианта

USB controller open source Firmware

у тех AMD'шных плат (A88XM-E / AM1I-A / G505S) закрытый блоб нужен только для USB 3.0, а в режиме USB 2.0 их USB-контроллер работает без проприетарщины

LAN open source Firmware

LAN я особо не изучал т.к. там ситуация намного лучше чем для WiFi, во всяком случае у моего AMD их Ethernet'ы (RTL8168/RTL8169/QCA8172) работают без проприетарщины. Вот с WiFi'ем сложнее, приходится сидеть на AR9462 как наиболее лучшем варианте (в ноут просто вставляется в MiniPCIe-слот, а в десктоп - через переходник MiniPCIe-to-PCIe)

EC open source Firmware

у коребутного дектопного AMD A88XM-E / AM1I-A - EC ITE контроллеры работает без прошивки и вообще менее критичны по сравнению с EC ENE KB9012 у коребутного AMD-ноута G505S где внутренние клава/тачпад идут через него, но при реверсинжиниринге проприетарной прошивки в процессе разработки опенсорсной прошивки OrigamiEC для G505S бэкдоров не обнаружено

sound card open source Firmware

звуковухи, как и LAN, большинство работают без проприетарщины, поэтому особо не смотрел

ROM CPU open source Firmware/microcode

это AMD способно работать без микрокода вообще (во всяком случае того микрокода что подгружается извне) - но без него низкоуровневая виртуализация нормально не работает и может быть что-то ещё. Поэтому в коребуте микрокод закодирован в виде массива шестнадцатеричных значений, но при желании вы можете заменить его 0xFF'ками - правда, выигрыш по безопасности от этого будет минимальный и пожалуй не оправдывает потери стабильной виртуализации

Клавиатуры вроде видел с open source Firmware, мышки не знаю

в качестве альтернативного варианта можно взять древнюю клавиатуру/мышь где прошивка или отсутствует или неперезаписываемая (по версии FSF это приемлемо)

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от vNoaGzl

Как обстоят дела с open source Firmware для телефонов, для которых есть OC Replicant https://www.replicant.us/ ? Аналогичный вопрос для Google Pixel, начиная с Pixel 5 (5, 5a, 6, 6 Pro, 6a, 7, 7 Pro, 7a, Tablet, Fold)?

Replicant мне не нравится уже хотя бы потому что Android - а значит, ему присущи дыры Android'а и совместимость с андроидной малварью. Куда лучше чистый Linux вроде PostmarketOS ; при выборе телефона под него нужно разузнать количество блобов, просмотреть страницы Wiki, обратить внимание на то, работают ли все функции (при наличии нерабочих - решить, можно ли ими пожертвовать), ну и чтобы был не совсем уж днищем по железу. В идеале конечно брать телефон который изначально разрабатывался под чистый линукс - и блобов должно быть меньше, и гарантирована более длительная поддержка с программной стороны - например, Pinephone или Librem, но их раздобыть сложнее чем б/у-шную популярную мобилу

Прошивка (установка другой ОС) этих телефонов это только замена OC или одновременно и замена всего встроенного ПО?

Если какое-то встроенное ПО хранится в отдельной физической памяти - как, например, прошивка модема - то при перепрошивке телефона (например тем же PostmarketOS'ом) оно заменено не будет. При перепрошивке перезаписывается только основная память телефона. по поводу «шишкофона» (Pinephone) - его проприетарную прошивку модема отдельно перезаписывают опенсорсной, но в её составе содержится некоторое количество закрытых бинарников + несмотря на расширенный функционал, по отзывам пользователей она ещё недостаточно отшлифована и связь может иногда отваливаться. На 4pda захожу редко - в-основном когда необходимо кому-то помочь перепрошить какой-нибудь андроид - сидеть там не вижу смысла т.к. сам не пользуюсь

SakuraKun ★★★★★
() автор топика
Последнее исправление: SakuraKun (всего исправлений: 1)
Ответ на: комментарий от SakuraKun

в качестве альтернативного варианта можно взять древнюю клавиатуру/мышь где прошивка или отсутствует или неперезаписываемая (по версии FSF это приемлемо)

А насколько в целом оправдано использование периферии (мышка, клавиатура, монитор) с открытым исходным кодом или без прошивки вообще? Понятно, что через USB можно сделать практически всё что угодно. Но вот я для своего компьютера на основе ASUS AM1I-A купил проводную мышку от Microsoft (модель Ergonomic Mouse), проводную клавиатуру от Raspberry Pi (модель Keyboard Black), проводной монитор ASUS (модель MB16AH). Подключать мышку и клавиатуру собираюсь через переходники USB (in) - PS/2 (out), а монитор через HDMI (в слоты на материнской плате PS/2 (in), HDMI (in) соответственно). Какие потенциальные угрозы безопасности исходят от несвободных прошивок периферии в моём случае?

open-source
()
Ответ на: комментарий от open-source

В теории в «несвободное» устройство ввода вывода может-быть встроен радиопередатчик, и устройство может пытаться подключиться к незапароленной WiFi-сети чтобы гнать данные. А если прошивка опенсорсная, то и интерфейс взаимодействия между основным устройством и радиопередатчиком (по крайней мере в прошивочной части) не спрячешь. Разумеется, стоит стремиться к полному опенсорсу везде, если не для безопасности то хотя бы ради более длительного цикла поддержки, но это не всегда возможно и приходится идти на компромисы... Кстати, вместо мышки могу посоветовать попробовать трекбол, особенно если при работе с компактным устройством мало места мышкой возякать

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от SakuraKun

GeForce GTX Titan Z ради чуть более полного опенсорса

Для GeForce GTX Titan Z есть прошивка с открытым исходным кодом для замены? Это же Nvidia. Есть драйвера с открытым исходным кодом?

Только OpenSSD

Ничего существенного не находил о этих дисках. Только что есть такой проэкт. Если есть, укажите ссылку, где есть характеристики и можно купить

Кстати, на libreboot.com есть две ссылки, где написано, что подключение диска через USB действительно помогает для DMA

или неперезаписываемая (по версии FSF это приемлемо)

Не рассматривается. Критерии FSF можно относить только к ПО

в качестве альтернативного варианта можно взять древнюю клавиатуру/мышь где прошивка или отсутствует

Например, какую? Хотя бы один вариант

vNoaGzl
()
Ответ на: комментарий от vNoaGzl

Есть драйвера с открытым исходным кодом?

Nouveau умеет в Kepler и довольно неплохо.

devl547 ★★★★★
()
Последнее исправление: devl547 (всего исправлений: 1)
Ответ на: комментарий от SakuraKun

Пытаюсь собрать Сoreboot на AM1I-A с помощью restore_agesa, при этом пользуюсь модифицированным руководством отсюда. При выполнении скрипта сразу возникают множественные ошибки:

error: Reverting is not possible because you have unmerged files. hint: Fix them up in the work tree, and then use ‘git add/rm ’ hint: as appropriate to mark resolution and make a commit. fatal: revert failed

open-source
()
Ответ на: комментарий от vNoaGzl

для которых есть OC Replicant https://www.replicant.us/ ?

Я постил в статьях про прошивку одной модели под Replicant. Добавлю, что по умолчанию там даже скриншоты нельзя делать, нужно ковыряться менять реализацию opengl, чтобы скриншотилка работала.

vbcnthfkmnth123 ★★★★★
()

Ну и ковбои. 150 каких-то коммитов откатили и сидят довольные - а чо грузиццо же.

vbr ★★★
()
Ответ на: комментарий от open-source

Пожалуйста проверь, точно ли ты делал всё по порядку, в том числе git reset --hard / git revert из начала инструкции

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от vbr

Если посмотреть на суть этой ~сотни откатываемых коммитов, сразу видно что особо не потеряли от их отката - зато многое приобрели: по сравнению с простым откатом на момент до удаления плат - этим способом получаем более 4000 новых коммитов :D Тут есть от чего сидеть довольным ;-)

SakuraKun ★★★★★
() автор топика
Последнее исправление: SakuraKun (всего исправлений: 1)
Ответ на: комментарий от SakuraKun

Вроде как делал всё по порядку, хотя может быть и пропустил что-то. План действий у меня пока сформировался такой:

sudo apt-get install build-essential libpci-dev libusb-dev libusb-1.0-0-dev libftdi-dev gnat flex bison libncurses5-dev wget zlib1g-dev xxd libpkgconf3 unzip pkg-config pkgconf pkgconf-bin libssl-dev
git clone https://review.coreboot.org/coreboot.git
cd ./coreboot/ 
git submodule update --init --checkout
git reset --hard 5e8e911b7caee021faff96c4e82a77a42544ea62
git revert ce134ababd6a444082962ccdfcd34415a647f41e
git revert b0d87f753c9c517ba906115362d32aa4422fd188
nano ./restore_agesa.sh
chmod +x ./restore_agesa
./restore_agesa.sh
sudo aptitude purge gnat
make crossgcc-i386 BUILD_LANGUAGES=c     
nano ./csb_patcher.sh                 
chmod +x ./csb_patcher.sh
./csb_patcher.sh               
make menuconfig              
make
open-source
()
Ответ на: комментарий от open-source
git reset --hard 5e8e911b7caee021faff96c4e82a77a42544ea62
git revert ce134ababd6a444082962ccdfcd34415a647f41e
git revert b0d87f753c9c517ba906115362d32aa4422fd188

- при помощи этих строчек откатываются к более старой версии коребута и поэтому не требуется делать restore_agesa.sh - более того, в этом случае restore_agesa.sh пожалуй только всё сломает. А вот если хочешь более нового коребута, чем 5e8e911b7caee021faff96c4e82a77a42544ea62, то restore_agesa.sh разумеется нужна - тогда вместо этой ревизии нужно git reset --hard'ом откатываться на ту ревизию, которая указана в комментарии к используемой restore_agesa.sh + те два git revert'а, перечисленных выше, не понадобятся т.к. они уже включены туда. Всё остальное у тебя выглядит правильно - разве что после успешной сборки нужно будет ещё сделать ./csb_patcher.sh atomflop для добавления дискет и AtomBIOS'ов для видеокарт

SakuraKun ★★★★★
() автор топика
Ответ на: комментарий от SakuraKun

Сделал всё как нужно, вот такой новый план:

sudo apt-get install build-essential libpci-dev libusb-dev libusb-1.0-0-dev libftdi-dev gnat flex bison libncurses5-dev wget zlib1g-dev unzip xxd libpkgconf3 pkg-config pkgconf pkgconf-bin libssl-dev git aptitude
git clone https://review.coreboot.org/coreboot.git
cd ./coreboot/ 
git submodule update --init --checkout
git reset --hard 69ffebf5ccf123bc0b3fb28b485985af0597761d
nano ./restore_agesa.sh
chmod +x ./restore_agesa.sh
./restore_agesa.sh
sudo aptitude purge gnat
make crossgcc-i386 BUILD_LANGUAGES=c     
nano ./csb_patcher.sh                 
chmod +x ./csb_patcher.sh
./csb_patcher.sh               
make menuconfig              
make

Ошибки во время исполнения скрипта ./restore_agesa.sh:

CONFLICT (modify/delete): Documentation/releases/coreboot-4.22-relnotes.md deleted in HEAD and modified in parent of f3ae1a1209 (crossgcc: Upgrade MPFR from 4.2.0 to 4.2.1).  Version parent of f3ae1a1209 (crossgcc: Upgrade MPFR from 4.2.0 to 4.2.1) of Documentation/releases/coreboot-4.22-relnotes.md left in tree.
Auto-merging util/crossgcc/buildgcc
CONFLICT (content): Merge conflict in util/crossgcc/buildgcc
error: could not revert f3ae1a1209... crossgcc: Upgrade MPFR from 4.2.0 to 4.2.1
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git revert --continue".
hint: You can instead skip this commit with "git revert --skip".
hint: To abort and get back to the state before "git revert",
hint: run "git revert --abort".
open-source
()
Последнее исправление: open-source (всего исправлений: 2)
Ответ на: комментарий от open-source

Привет, open-source ! Извини за долгий ответ. На этих выходных Майк выпустил новую версию скрипта restore_agesa.sh - её можно скачать на этой странице (убедись, что качаешь последнюю 7-ую версию патча) и она совместима с практически последней ревизией коребута 786292a0fca78405d56afb3f97a88f17f1c4bd32. Сам я пока ещё не успел затестить, но Майк говорит что (по крайней мере для G505S) всё собирается и грузится + выложил последовательность действий на этой странице в NEWS. Пожалуйста, попробуй с чистого листа с этой новой версией и отпишись - надеюсь у тебя всё пройдёт гладко; я тоже буду пробовать в ближайшее время и сообщу ему об ошибках при их наличии... Главное, не забудь перед применением скрипта сделать git reset --hard на указанную внутри него ревизию коребута (786292a0fca78405d56afb3f97a88f17f1c4bd32 в данном случае), т.к. в ветку master постоянно сыпятся новые коммиты и совместимость с master'ом непродолжительна :P

P.S. Если у тебя не открывается acpica.org при сборке тулчейна, непосредственно перед make crossgcc-i386 BUILD_LANGUAGES=c в папке ./coreboot/ сделай

sed -i -e "s,acpica.org/sites/acpica/files,sources.buildroot.net/acpica,g" ./util/crossgcc/buildgcc

SakuraKun ★★★★★
() автор топика
Последнее исправление: SakuraKun (всего исправлений: 2)
Ответ на: комментарий от open-source

Там ещё какие-то обновления сейчас делаются, в-общем смотри на ту ревизию которая указана внутри ./restore_agesa.sh - на неё и нужно ревёртиться

SakuraKun ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.