22

谁能给我一个关于从头开始创建可引导 Linux CD 的好教程?

我需要帮助解决一个相当专业的问题:我的公司销售需要定制固件的扩展卡。目前我们使用的是一个非常古老的 RH7.2 实时 CD 映像,我们使用当前固件进行了更新。制造业将卡放入机器中,从 CD 启动,CD 写入固件,然后关闭电源并拉出卡。由于这个循环,CD 尽快启动和关闭非常重要。

问题是对于下一代显卡,我必须将 CD 更新到 2.6 内核。获得一张预先存在的 live CD 很容易——但这些都是为在桌面上展示 Linux 而设计的——这意味着它们需要永远启动。

任何人都可以用当前的 How-To 解决我的问题吗?


更新:

因此,就像以后阅读本文的任何人的最终更新一样——我最终使用的工具是“livecd-creator”。

我选择这个工具的原因是它可用于基于 RedHat 的发行版,例如 CentOs、Fedora 和 RHEL——我的公司已经支持这些发行版。此外,虽然该项目的文档记录很差,但它是非常可定制的。我能够创建一个最小的 LiveCD 并编辑启动顺序,以便它直接启动到固件更新程序而不是 bash shell。

如果有解释配置文件的自述文件,整个工作只需要一两个小时!

4

6 回答 6

4

您可以研究几个有趣的项目。

但首先:它必须是 CD-ROM 吗?这可能是您可以使用的最慢的存储(好吧,也许除了磁带)。快速 USB 记忆棒或 IEE1394 硬盘甚至 eSATA 硬盘呢?

好的,有几张 Live-CD 被设计得非常小,以便可以放在名片大小的 CD 上。有些还设计为从 USB 记忆棒启动,这意味着 64-128 MiByte:Damn Small Linux是最知名的 Linux 之一,但它使用 2.4 内核。有一个名为Damn Small Linux - Not的姊妹项目,它有一个 2.6 内核(尽管它似乎多年没有更新)。

另一个值得注意的项目是grml,一个用于系统管理任务的 Live-CD。它不会启动到图形环境,因此速度非常快;但是,它仍然包含压缩到 CD-ROM 上的大约 2 GiByte 的软件。但它也有一个较小的风格,恰当地命名为grml-small,它只包含大约 200 MiByte 的软件压缩成 60 MiByte。

然后是Morphix,它是一个基于Knoppix的 Live-CD 构建器工具包。(“Morphable Knoppix”!)Morphix 基本上是一种构建您自己的专用 Live-CD 的工具。

我要提到的最后一件事是MachBoot。MachBoot 是一个超快的 Live-CD。它使用各种技术来大大加快启动过程。我相信他们甚至会跟踪引导期间访问块的顺序,然后重新制作 ISO,以便这些块在介质上连续布局。他们目前的记录是在不到 6 秒的时间内启动到完整的图形桌面环境。但是,这似乎也过时了。

于 2008-08-28T20:02:38.090 回答
3

我可以给出的一个关键建议是,大多数 LiveCD 使用称为 squashfs 的压缩文件系统在 CD 上塞入尽可能多的数据。由于您不需要压缩,您可以使用 -noDataCompression 和 -noFragmentCompression 运行 mksquashfs 步骤(大多数教程中都有)以节省解压缩时间。您甚至可以完全放弃 squashfs 方法,但这需要进行一些重组。这实际上可能会更慢,具体取决于您的 CD-ROM 读取速度与 CPU 速度,但值得研究。

这个Ubuntu 教程对我来说足够有效,可以构建基于 8.04 的 LiveCD。它可能有助于了解 LiveCD 的组成方式,但我可能建议使用 Ubuntu LiveCD。

如果可能的话,找到一个最小的 LiveCD 并只进行最少的剥离,而不是像 Ubuntu 那样剥离一个巨大的 LiveCD。在某些情况下,较小的发行版使用更小/更快的替代品,而不是仅仅遗漏一些东西。如果你想成为真正的硬核,你可以看看Linux From Scratch包含你想要的,但这可能比你想花的时间要多。

于 2008-08-28T20:38:27.440 回答
2

使用 Remastersys 创建您自己的自定义 Ubuntu 7.10 或 Linux Mint 4.0 Live-CD

于 2008-08-28T19:05:31.580 回答
1

取决于你的发行版。这是一篇不错的文章,您可以从LWN.net查看

我使用的一本书涵盖了很多发行版,尽管它不包括创建可闪存启动的映像。这本书是Live Linux(R) CDs: Building and Customizing Bootables。您可以将它与您选择的发行版中的补充信息一起使用。

于 2008-08-28T19:19:49.750 回答
1

因此,就像以后阅读本文的任何人的最终更新一样——我最终使用的工具是“livecd-creator”。

我选择这个工具的原因是它可用于基于 RedHat 的发行版,例如 CentOs、Fedora 和 RHEL——我的公司已经支持这些发行版。此外,虽然该项目的文档记录很差,但它是非常可定制的。我能够创建一个最小的 LiveCD 并编辑启动顺序,以便它直接启动到固件更新程序而不是 bash shell。

如果有解释配置文件的自述文件,整个工作只需要一两个小时!

于 2008-09-04T12:42:40.570 回答
1

Debian Live提供了构建 Linux Live CD 的最佳工具。例如, Webconverger使用 Debian Live。

它非常易于使用。

sudo apt-get install live-helper # 来自 Debian 不稳定,在 Ubuntu 上应该可以正常工作

lh_config # 根据自己的喜好编辑 config/*

须藤 lh_build

于 2008-09-10T15:28:07.237 回答