[Debian-NP-Commits] r197 - trunk/docs

Vagrant Cascadian debian-np-devel@lists.alioth.debian.org
Fri, 12 Nov 2004 18:32:43 -0700


Author: vagrant-guest
Date: Fri Nov 12 18:32:40 2004
New Revision: 197

Added:
   trunk/docs/simple_cdd_tutorial.txt
Log:
humble beginnings, based on an email from enrico, based some ideas from otavio.


Added: trunk/docs/simple_cdd_tutorial.txt
==============================================================================
--- (empty file)
+++ trunk/docs/simple_cdd_tutorial.txt	Fri Nov 12 18:32:40 2004
@@ -0,0 +1,141 @@
+Hello people!
+
+I've been starting this simple tutorial showing the most basic
+techniques to make CDDs.  In it you can find a description of the sample
+scenario and an Otavio brain dump about the technology involved.
+
+I still haven't gone through the process of creating one, but I've seen
+that Vagrant is working on it, so this may be useful and if someone is
+doing this kind of work, (s)he could do it under 'script' and fill-in
+the tutorial with the actual commands.
+
+Here it is:
+
+ * Simple CDD Tutorial
+
+This tutorial explains how to create a simple Custom Debian
+Distribution[1] (CDD) by just changing the package selection and the
+debconf defaults (debconf preseeding).  This tutorial only shows simple
+techniques that already work, but are not enough to have full control
+over the resulting distribution; however, they should be already enough
+for various kinds of customization tasks.
+
+Consider this tutorial as a "step 0" of customizing Debian: it gives you
+limited but useful possibilities, and a starting point to learn more.
+
+
+** What you can do with this tutorial
+
+Select packages, pre-answer debconf questions.
+
+
+** What you cannot do with this tutorial
+
+Arbitrarily configure packages, distribute patched packages, alter user
+default configurations.
+
+
+ * Example scenario
+
+Sarge finally gets out, and you would like to make an Italian version of
+it.
+
+I want to have one single installation CD, and with all the italian
+dictionaries and OOo and Mozilla locales in that.  Plus, I want
+questions which are trivial for the Italians to be answered already.
+
+ 
+ * Tools
+
+Before first rebook it d-i
+After reboot it's base-config and tasksel
+
+debian-cd is the tool that makes the CD image, and uses a local mirror
+and a debian-installer images, puts both together and writes an ISO.
+
+
+ * Rationales
+
+** Package selection
+
+With debian-cd I choose the packages that are inside the CD, and the
+packages that are installed.  To select them, there is a task file: I
+put there the packages I want and debian-cd also brings in the
+dependencies for me.  The order is important for choosing which package
+goes in which CD.
+
+debian-cd's base-includes can be used to pull in packages in a default
+installation, but it needs the full dependencies because they'll be
+installed with dpkg.  These packages will be installed before the
+reboot.
+
+After installation, tasksel installs packages, from the tasks selected
+plus an invisible locale task, which pulls in packages that are
+essential for a specific locale.  It is possible to add a new task to
+tasksel which is installed automatically, and that can be used to pull
+in the special packages you want in your distro.  To do that, you need
+to make a package that adds a configuration file for tasksel, and
+install that package adding it to debian-cd's base-includes.
+
+To download the packages needed for the local debian-cd mirror, you can
+use a full mirror, or just download what you need using debpartial-mirror
+
+** Debconf preseeding
+
+It is possible to include another base-includes package which includes
+one file to be used by base-config to do the preseeding.  Information on
+how to do this is present in the base-config package.
+
+
+
+ * Let's do it, step by step
+
+add entries to /etc/apt/sources.list, you'll need a line pointing to an
+unstable archive, for example:
+
+deb http://ftp.debian.org/debian unstable main
+
+and you'll need a line pointing to a source archive:
+
+deb-src http://ftp.debian.org/debian sarge main
+
+
+aptitude install debpartial-mirror (pulled in 0.2.8)
+
+you may now comment out the unstable entry in sources.list, if you want.
+
+apt-get source debian-installer (pulled in 20041027)
+
+
+cd debian-installer-20041027
+
+add a line in build/sources.list.udeb.local:
+
+deb http://http.us.debian.org/debian sarge main/debian-installer
+
+dpkg-buildpackage -us -uc -b -rfakeroot
+
+after hours of trying to resolve udeb dependencies, i gave up.
+
+also tried with sid for the udebs, instead of sarge, with no luck.
+
+TODO: Edit initial d-i package list
+
+looked into this a little.  it looks like a lot of work.  lots and lots of
+work.
+
+look in pkg-lists/*
+
+TODO: Edit debconf preseeding
+
+TODO: Create the CD
+
+# apt-get install cdd-dev cdd-doc
+TODO: Package selection (create metapackages)
+TODO: Edit user menus
+
+
+
+
+[1] A Custom Debian Distribution is a distribution derived from Debian
+which is still 100% Debian.