80 lines
3.2 KiB
HTML
80 lines
3.2 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>
|
|
|
|
<hr>
|
|
(c) Steve McIntyre <steve@einval.com>, April 2006. GPL v2<br>
|
|
<a href="getting.html">Next - Getting debian-cd</a>
|
|
</body>
|
|
</html>
|