Ваш 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
Шаг 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. Информация; однако не все системы гарантированно имеют эту возможность.