LINUX.ORG.RU

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

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

Tomohyeah , извини за долгий ответ: случайно пропустил уведомления этой темы, но теперь буду внимательнее

The coreboot toolchain version of iasl '20220331' was not found

По какой-то причине не собрался iasl - скорее всего из-за того, что сервер откуда качался архив с iasl заблокировал вашу страну. Начните с чистого листа по той инструкции - и перед тем как выполнять make crossgcc-i386 , откройте ./coreboot/util/crossgcc/buildgcc и замените строчку

IASL_ARCHIVE="https://acpica.org/sites/acpica/files/acpica-unix2-${IASL_VERSION}.tar.gz"
например на
IASL_ARCHIVE="http://sources.buildroot.net/acpica/acpica-unix2-20220331.tar.gz"

что случится, если после выбора устанавливаемых патчей я решу повторить команду ./csb_patcher.sh, и выбрать их снова

Они будут пытаться наслоиться и будут ошибки смёрживания патчей: т.к. если ты посмотришь как работает patch/diff , там помимо добавляемых и удаляемых строк всегда указывается контекст - по несколько строчек исходного файла сверху/снизу изменяемого куска кода. В-общем, ни к чему хорошему это не приведёт, но утилита ./csb_patcher.sh способна распознавать - был ли применён уже этот конкретный патч или нет (для этого создаются скрытые .-файлы) - и напечатает тебе предупреждение если такой патч уже применялся. + Так как перед применением каждого патча утилита спрашивает Y/N, то можно запускать её хоть сто раз если ты видя предупреждение будешь благоразумно отвечать N. Например: ты на вопрос о каком-то нужном патче случайно ответил N - тогда просто запускаешь утилиту ещё раз и на всё кроме этого патча отвечаешь N а на интересующий патч уже Y

Постоянно каких-то пакетов нет

Это решается один раз установкой недостающих пакетов в твою OS, после чего - если и твой локальный коребут-репозиторий оказался в непонятном состоянии после неудачных сборок - просто удаляешь его и всё заново перекачиваешь/собираешь уже как по маслу

показывает что найдены „Bad files“, потом удаляю их

А вот этого делать не нужно! Обнаруженные .orig можно просто игнорить, они никак не мешают последующей сборке и всего лишь говорят о том, что какие-то патчи успешно применились но на чуть отличающихся строках (+ небольшое количество .orig-ов практически неизбежно). А вот если нашлись .rej - или из-за того что какие-то из патчей данного набора несовестимы с используемой вами ревизией коребута (но упоминаемая в инструкции 5e8e911b7caee021faff96c4e82a77a42544ea62 сто раз проверена и это исключено) - или вы пытались применить одни и те же патчи несколько раз - то двигаться дальше нельзя: даже если вы и удалите все .rej (которые являются лишь симптомами проблемы), будут проблемы с дальнейшей сборкой коребута - и тут уж проще начать с чистого листа и аккуратно по инструкции делать всё правильно, чем пытаться вручную разрулить эту ситуацию путём ручного редактирования исходников

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

Tomohyeah , извини за долгий ответ: случайно пропустил уведомления этой темы, но теперь буду внимательнее

The coreboot toolchain version of iasl '20220331' was not found

По какой-то причине не собрался iasl - скорее всего из-за того, что сервер откуда качался архив с iasl заблокировал вашу страну. Начните с чистого листа по той инструкции - и перед тем как выполнять make crossgcc-i386 , откройте ./coreboot/util/crossgcc/buildgcc и замените строчку

IASL_ARCHIVE="https://acpica.org/sites/acpica/files/acpica-unix2-${IASL_VERSION}.tar.gz"
например на
IASL_ARCHIVE="http://sources.buildroot.net/acpica/acpica-unix2-20220331.tar.gz"

что случится, если после выбора устанавливаемых патчей я решу повторить команду ./csb_patcher.sh, и выбрать их снова

Они будут пытаться наслоиться и будут ошибки смёрживания: т.к. если ты посмотришь как работает patch/diff , там помимо добавляемых и удаляемых строк всегда указывается контекст - по несколько строчек исходного файла сверху/снизу изменяемого куска кода. В-общем, ни к чему хорошему это не приведёт, но утилита ./csb_patcher.sh способна распознавать - был ли применён уже этот конкретный патч или нет (для этого создаются скрытые .-файлы) - и напечатает тебе предупреждение если такой патч уже применялся. + Так как перед применением каждого патча утилита спрашивает Y/N, то можно запускать её хоть сто раз если ты видя предупреждение будешь благоразумно отвечать N. Например: ты на вопрос о каком-то нужном патче случайно ответил N - тогда просто запускаешь утилиту ещё раз и на всё кроме этого патча отвечаешь N а на интересующий патч уже Y

Постоянно каких-то пакетов нет

Это решается один раз установкой недостающих пакетов в твою OS, после чего - если и твой локальный коребут-репозиторий оказался в непонятном состоянии после неудачных сборок - просто удаляешь его и всё заново перекачиваешь/собираешь уже как по маслу

показывает что найдены „Bad files“, потом удаляю их

А вот этого делать не нужно! Обнаруженные .orig можно просто игнорить, они никак не мешают последующей сборке и всего лишь говорят о том, что какие-то патчи успешно применились но на чуть отличающихся строках (+ небольшое количество .orig-ов практически неизбежно). А вот если нашлись .rej - или из-за того что какие-то из патчей данного набора несовестимы с используемой вами ревизией коребута (но упоминаемая в инструкции 5e8e911b7caee021faff96c4e82a77a42544ea62 сто раз проверена и это исключено) - или вы пытались применить одни и те же патчи несколько раз - то двигаться дальше нельзя: даже если вы и удалите все .rej (которые являются лишь симптомами проблемы), будут проблемы с дальнейшей сборкой коребута - и тут уж проще начать с чистого листа и аккуратно по инструкции делать всё правильно, чем пытаться вручную разрулить эту ситуацию путём ручного редактирования исходников