Создайте статически связанную версию из исходного кода.
Загрузите https://www.gnu.org/software/xorriso/xorriso-1.4.6.tar.gz в каталог, в котором вы хотите создать xorriso
tar xzf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
touch xorriso/*.info
./configure && make
Я предполагаю, что вам нужны пакеты build-essential
и tar
.
Команда touch xorriso/*.info
устраняет необходимость в программе makeinfo
из пакета texinfo
которая может возникать в редких случаях из-за неудачной последовательности файлов в xorriso-1.4.6.tar.gz
. (Симптомы сбоев см. В комментарии пользователя 3808099, 12 октября, 18:56. Это не может произойти в реальном Debian или Ubuntu, потому что там tar
без опции -m
восстанавливает временные метки из архива tar.)
Успех должен дать двоичный файл, который запускается
xorriso/xorriso -version
должен сказать что-то вроде
GNU xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project.
...
There is NO WARRANTY, to the extent permitted by law.
Если это так, то вы можете использовать полный путь к исполняемому двоичному файлу в качестве аргумента опции grub-mkrescue
--xorriso
.
grub-mkrescue -o grub.iso --xorriso=/...path.../xorriso-1.4.6/xorriso/xorriso prepared_directory
Предполагается, что вы можете переместить исполняемый бинарный файл в любое другое место хранения, если вам это удобнее.
Хотя проблема с сборкой GNU xorriso в подсистеме Win10-Ubuntu не была диагностирована, я добавил следующие инструкции по созданию двоичного файла на реальном Ubuntu без зависимостей ядра Linux, что, вероятно, не позволило xorriso выйти из репозитория Win10-Ubuntu.
Если xorriso/xorriso
уже встроен в дерево xorriso-1.4.6
, то сначала удалите все результаты компиляции:
make clean
Создайте конфигурацию, которая не относится к специфическим функциям Linux, и скомпилируйте:
export CFLAGS="-DLibburn_use_sg_dummY"
./configure --disable-libacl --disable-xattr --disable-zlib --disable-libreadline
make
Полученный файл xorriso/xorriso
должен быть скопирован в подсистему Win10-Ubuntu. Попробуйте /...path.../xorriso -version
ли он начать (то есть найдет ли он необходимые библиотеки).
xorriso собирает и работает на Win10-Ubuntu с «GNU /Linux SG_IO адаптер sg-linux».
Но ioctl(SG_IO) или доступ к оптическим дискам, похоже, не реализован.
Диски не обнаружены.
Так что, кажется, лучше вызвать компиляцию -DLibburn_use_sg_dummY
с «X /Open adapter sg-dummy», которая не зависит от специфики Linux и вообще не пытается работать с оптическими приводами.