Постройте Archiso с надлежащей подписью UEFI SecureBoot

Ваш shell globbing был (скорее всего) успешным и передавал файлы в php -l, но php -l обрабатывает только один файл за раз (ref). Одна из самых коротких (не пуленепробиваемых) идей, которые у меня есть:

for f in *; do php -l "$f"; done

Измените *, чтобы *.js или любое другое расширение, которое вы можете использовать. Для нескольких расширений просто сваливайте их в кучу:

for f in *.js *.inc *.module; do php -l "$f"; done

1
16.12.2018, 23:37
1 ответ

Шаг efibootmgrнастраивает только переменные загрузки UEFI вашей системы, чтобы добавить конкретный загрузчик на этот конкретный диск (, идентифицируемый UUID диска в заголовке таблицы разделов GPT )в порядке загрузки вашей системы. Это не имеет ничего общего с безопасной загрузкой.

При подготовке загрузочного съемного носителя UEFI -он вам не понадобится. Для UEFI съемный носитель является загрузочным, если на нем просто <media root>/EFI/Boot/bootx64.efi. Ожидается, что на USB-накопителе, отформатированном в FAT32 -, это будет в основной файловой системе накопителя; на реальном CD/DVD, отформатированном в формате ISO9660 -, файловая система FAT32 должна быть упакована в специальный файл загрузочного образа, расположение которого на диске указано в загрузочных данных El Torito.

Ваш сценарий build.shуже включает создание efiboot.img, который, по-видимому, должен быть этим файлом загрузочного образа (, если он идентифицируется соответствующими параметрами на этапе создания образа ISO ).

По сути, ваш build.shимеет две различные функции для различных ситуаций загрузки UEFI.:make_efi()предназначена для подготовки загрузчика UEFI для USB-накопителя, а make_efiboot()— для подготовки загрузочного образа для создания образа ISO9660 CD/DVD. который будет записан на настоящий CD/DVD.

Возможно, вы видели установочные образы Linux .iso, которые можно записать на USB-накопитель с помощью ddили аналогичного. Это не просто обычные образы ISO9660 с загрузочной информацией El Torito :. Эти образы включают специальную isohybridобработку, которая помещает простую таблицу разделов MBR в самое начало образа ISO, которая затем представляет файл efiboot.imgкак " раздел» в данных образа ISO, в результате чего получается файл образа «двойного режима -», который может работать как при записи на фактический носитель CD/DVD, так и при записи на USB-накопитель, даже если фактическая процедура загрузки очень трудна. отличаются между этими двумя режимами.

Ваш фрагмент кода build.sh, по-видимому, не включает этап создания образа ISO,поэтому я не могу предположить, будет ли ${work_dir}/isoзаписан на фактический USB-носитель или он будет использоваться для создания файла образа .iso.

Некоторые встроенные программы UEFI изначально включают поддержку файловой системы ISO9660, поэтому они могут просто искать /EFI/Boot/bootx64.efiв файловой системе ISO9660 вместо (или в дополнение к )чтению специального загрузочного образа FAT32 UEFI с использованием загрузки El Torito. Информация; однако не все системы гарантированно имеют эту возможность.

1
27.01.2020, 23:43

Теги

Похожие вопросы