首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xorriso构建自定义Ubuntu18.04 iso时出错

使用xorriso构建自定义Ubuntu18.04 iso时出错
EN

Ask Ubuntu用户
提问于 2020-01-01 02:30:19
回答 1查看 1.8K关注 0票数 0
代码语言:javascript
复制
#!/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 

终端误差,我已经尝试了两天来修复这个问题,做了大量疯狂的研究。有人看到我以前的眼睛漏掉了什么吗?

编辑:通过更改行来修复它:

代码语言:javascript
复制
 xorriso -as mkisofs \

代码语言:javascript
复制
 xorriso -as mkisofs "$workdir" \       

并删除-b行中对D5的引用。

EN

回答 1

Ask Ubuntu用户

发布于 2020-01-01 10:45:45

xorriso的抱怨说,-b文件没有在国际标准化组织中找到。在命令中,我看到了这样做的两个原因:

1:您使用绝对磁盘路径而不是ISO中的路径。

2:没有xorriso参数可以查看文件将通过什么方式进入ISO。实际上,根本没有文件被映射到ISO中。

提案:

如果你想要所有的文件"$workdir“在国际标准化组织,添加参数"$workdir”。

如果您期望isolinux.bin出现在ISO的/isolinux/中,则从选项-b的路径中删除前缀"$workdir"/以便路径符合mkisofs和xorrisofs (*)的规定。

代码语言:javascript
复制
xorriso -as mkisofs ... -b isolinux/isolinux.bin ... "$workdir"

(*) mkisofs要求磁盘路径“相对于源路径”,而xorrisofs则要求新出现的ISO中的磁盘路径。国际标准化组织中的默认工作目录是/。因此,路径“isolinux/solinux.bin”是可用的,并建议两者都使用。

参见Debian如何原则上打包其x86可引导的ISO:https://wiki.debian.org/RepackBootableISO#Remove_这个_不需要_吉多_生产_选项

( xorriso的支持邮件列表是bug-xorriso@gnu.org)

祝你今天愉快:)

托马斯

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1199870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档