debian-cd-clone/docs/index.html

76 lines
3.0 KiB
HTML

<html>
<head>
<title>debian-cd</title>
</head>
<body
<h1>debian-cd</h1>
<h2>An attempt at documentation!</h2>
<p>debian-cd is a small but quite complex package. On the surface, its
job is simple - make CD images from a Debian archive. The details are
rather more involved...</p>
<h2>Overview - what goes on a CD?</h2>
<p>There are several important items that make up a Debian
CD. Depending on the type of CD, not all of them are needed.</p>
<ul>
<li><a href="volinfo.html">Volume information</a> (required)
<li><a href="packages.html">Debian packages and/or source files</a> (optional)
<li><a href="package-metadata.html">Metadata to reference those</a> (optional)
<li><a href="d-i.html">Debian-Installer</a> (optional)
<li><a href="booting.html">Scripts/binaries to make the CD bootable</a> (optional)
</ul>
<p>The only things that <strong>must</strong> be on a Debian CD for it
to recognised as such are the volume info, the files that give some
information about the CD itself. Everything else is strictly optional,
but without anything else on the CD it won't be very useful!</p>
<p>A normal installation CD will contain all five of the above
sections, but other combinations can be useful too. A bootable
business card CD will contain volume info, d-i and bootable files, but
no actual packages or sources - the installer will download the bits
it needs. An update CD will contain volume info, packages and package
metadata - it's expected to be used just as a source of new packages
for an existing system.</p>
<p>For more information on the layout of the CD, see <a
href="cd-contents.html">CD contents</a>.</p>
<h2>Overview (again) - how does debian-cd work?</h2>
<p>debian-cd is made up of a large central Makefile and lots of
small(ish) helper scripts written in sh and perl. It depends on
various other packages to do lots of the hard work, for example apt to
calculate t package dependencies and debootstrap to provide the list
of packages needed for a base installation.</p>
<p>A typical debian-cd run will involve:</p>
<ul>
<li>Setup in the configuration file <a href="conf.sh.html">CONF.sh</a>
- which architecture(s), where to find files (local Debian mirror),
temporary working location and output location are most important, but
there are other config options.
<li>Running a build wrapper script (build.sh or build_all.sh); the wrapper script will call various rules in the Makefile
<li>Parse Packages files from the mirror to work out what packages are
available
<li>Work out what will fit on each CD, and how many CDs are needed
<li>Make temporary trees, one for each output image
<li>Set up volume information in each tree
<li>Copy in boot files and d-i bits onto each CD where they are wanted
<li>Copy documentation files onto CDs as required
<li>Copy the packages files onto each CD; generate Packages metadata
files along the way
<li>Generate checksums of the files on each CD
<li>Run mkisofs to turn the temporary trees into ISO images and/or
jigdo files
</ul>
<p>This is a <strong>rough</strong> guide only - see later for more
details on each of the steps!</p>
</body>
</html>