История изменений
Исправление 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
(которые являются лишь симптомами проблемы), будут проблемы с дальнейшей сборкой коребута - и тут уж проще начать с чистого листа и аккуратно по инструкции делать всё правильно, чем пытаться вручную разрулить эту ситуацию путём ручного редактирования исходников