Ошибка, пытающаяся создавать пользовательскую Ubuntu 18.04 ISO с помощью xorriso

!/bin/bash

# The example names get mapped to their roles here
orig_iso="$HOME"/iso/foxclone.iso
new_iso="$HOME"/iso/foxclone025-02.iso
mbr_template="$HOME"/isohdpfx.bin
workdir="$HOME"/work
echo $HOME
echo $workdir is workdir
# Extract MBR template file to disk
dd if="$orig_iso" bs=1 count=432 of="$mbr_template"

# Create the new ISO image
xorriso -as mkisofs \
   -U  \
   -allow-lowercase  \
   -r -V 'foxclone025-02' \
   -o "$new_iso" \
   -J -J -joliet-long \
   -isohybrid-mbr "$mbr_template" \
   -b "$workdir"/isolinux/isolinux.bin \   <--------  fails here. The file does exist at that location.
   -c isolinux/boot.cat \
   -boot-load-size 4 -boot-info-table -no-emul-boot \
   -eltorito-alt-boot \
   -e boot/grub/efi.img \
   -no-emul-boot -isohybrid-gpt-basdat -isohybrid-apm-hfsplus 

Ошибка в терминале я пытался зафиксировать это в течение 2 дней, делая сумасшедший объем исследования. Кто-либо видит что-нибудь, что пропустили мои старые глаза?

TIA, Larry

Править: Получил зафиксированный путем изменения строки: xorriso - как mkisofs \к xorriso - как mkisofs "$workdir" \
и удаление ссылки на $workdir в-b строке

0
задан 1 January 2020 в 22:04

1 ответ

жалоба на xorriso говорит, что-b файл не найден в ISO. В команде я вижу два основания для этого:

1: Вы используете абсолютный дисковый путь вместо пути в ISO.

2: Нет никакого xorriso аргумента для наблюдения, которым файл вошел бы в ISO. На самом деле никакие файлы вообще, кажется, не отображаются в ISO.

Предложение:

Если Вы хотите все файлы "$workdir" в ISO, добавьте аргумент "$workdir".

Если Вы ожидаете, что isolinux.bin обнаружится в/isolinux/ISO, удалит из пути опции-b префикс "$workdir" / так, чтобы путь соответствовал предписанию обоих, mkisofs и xorrisofs (*).


xorriso -as mkisofs ... -b isolinux/isolinux.bin ... "$workdir"

(*) mkisofs требует дисковые пути "относительно исходного пути", требует xorrisofs пути в появляющемся ISO. Значение по умолчанию рабочий каталог в ISO/. Так путь "isolinux/isolinux.bin" применим и рекомендуется для обоих.

Посмотрите, как Debian собирает свой x86 загрузочный ISOs в принципе: https://wiki.debian.org/RepackBootableISO#Remove_the_unneeded_Jigdo_production_options

(Поддерживайте список рассылки для xorriso, bug-xorriso@gnu.org.)

Хорошо провести день :)

Thomas

0
ответ дан 11 January 2020 в 09:46

Другие вопросы по тегам:

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