![创建可启动 ISO 的最佳工具是什么](https://linux22.com/image/908428/%E5%88%9B%E5%BB%BA%E5%8F%AF%E5%90%AF%E5%8A%A8%20ISO%20%E7%9A%84%E6%9C%80%E4%BD%B3%E5%B7%A5%E5%85%B7%E6%98%AF%E4%BB%80%E4%B9%88.png)
一、OS目标:Ubuntu 16.04.5 LTS
最终目标是,我可以在 VMware 机器上安装一个 ISO,经过一些自定义后,该机器就可以启动到这个 Linux 中。
我在看Linux 直播首先,这是这个问题的主题,但如果我追求的是错误的,我愿意接受其他工具。
使用 LL,我已成功创建 ISO,但它无法通过 VMware 启动。文档说您应该执行此脚本:
root@sm:/a/linux-live/tools# ls
isolinux.bin.update
但是我无法弄清楚它想要什么“URI”。
root@sm:/a/linux-live/tools# ./isolinux.bin.update
--------------------------------------
Add directory to isolinux search paths
(for example /slax/boot):
脚本本身说它是适用于 debian 的,我想知道它与 ubuntu 是否有区别。
# This script will update the file ../bootfiles/isolinux.bin to match
# your LiveKit name
#
# Requires: Debian
#
所以...
- 有没有一个简单的修复 isolinux.bin.update 脚本的方法?
- 有更好的方法吗?
答案1
您链接的脚本可以在 GitHub 上找到这里对于任何想要跟进的人来说。它获取一些包并设置一些目录,但它提示的目录似乎在这段代码中使用:
for file in fs/iso9660/iso9660.c fs/lib/loadconfig.c elflink/load_env32.c; do
sed -i -r 's:"/",:"'$DIR'",\n\t"/",:' $file
done
这看起来像是用来sed
搜索"/
并替换给定目录名称的实例。
它似乎正在查看一个包含如下默认路径的文件(来自GitHub)
static const char *search_directories[] = {
NULL, /* CurrentDirName */
"/boot/syslinux",
"/syslinux",
"/",
NULL
};
我认为这意味着如果你给它一个值,/foo
它会将其变成类似的路径/foo/boot/syslinux
,/foo/syslinux
并/foo
作为 syslinux 默认使用的路径。
回答你关于 Ubuntu 和 Debian 在这方面的区别的问题,其实没什么区别。据我所知,两者使用本质上相同的启动过程。
有更好的方法吗?
可能更简单的方法是使用 VirtualBox/VMWare 安装 Ubuntu,然后将生成的磁盘映像复制到 USB 可启动介质。您也可以通过简单地告诉 VirtualBox 或 VMWare 执行 USB 直通或将该 USB 介质安装为可在安装过程中看到的磁盘来简化这一过程。