+ <ul>
+ <li>Include or exclude d-i modules
+ <li>Running script at install system boot time
+ <li>Include or excluding packages going into the HD
+ <li>Running scripts before reboot from HD
+ <li>Partitioning
+ </ul>
+
+ <h2>The second stage (base-config)</h2>
+ <ul>
+ <li>Executed from init on first boot
+ <li>Modular (reading /usr/lib/base-config)
+ <li>Able to adjust the order of the scripts on the fly using
+ return codes.
+ <li>Partly using debconf for configuration decisions.
+ </ul>
+
+ <h2>base-config structure</h2>
+ <ul>
+ <li>Generate locale if needed
+ <li>Start terminal emulator (for non-ascii installs) if needed
+ <li>Load variables based from first stage (/root/dbootstrap_settings)
+ <li>Turn off screen saver
+ <li>Show intro screen
+ <li>Set up console keyboard
+ <li>Set up time zone
+ <li>Configure /etc/passwd, root password and local user
+ <li>Enable ppp?
+ <li>Configure APT sources
+ <li>Select packages to install
+ <li>Fetch packages
+ <li>Configure exim
+ <li>Disable ppp?
+ <li>Show "successful install" screen
+ <li>Rewrite /etc/inittab to not start base-config on next boot
+ </ul>
+
+ <h2>base-config hooks</h2>
+ <ul>
+ <li>add scripts to /usr/lib/base-config/
+ <li>update debconf database
+ </ul>
+ </ul>
+
+ <h2>Skolelinux specific code</h2>
+ <h3>First stage</h3>
+ <ul>
+ <li>Ask about profile with automatic partitioning
+ <li>Reorder d-i module order using dependencies and menu-item value
+ <li>Install extra packages into the HD
+ <li>Pass info to second stage
+ </ul>
+ <h3>Second stage</h3>
+ <ul>
+ <li>Preload debconf answers based on profile question
+ <li>Automatically install packages
+ <li>Rewrite/replace config files
+ <li>Restart servers (except kdm)
+ <li>Check installation
+ <li>Restart kdm
+ </ul>
+
+ <h2>Some solved problems</h2>
+ <ul>
+
+ <li>Preloading debconf answers need a dummy question template
+
+ <li>Packages with insufficient install configuration support
+ get their config files rewritten using cfengine.
+
+ <li>Selecting packages to install using meta-packages.
+
+ <li>
+
+ </ul>
+
+ <h2>Conclusion</h2>
+
+ <ul>
+ <li>The current debian-installer is extendible and can do
+ automated installation, with the hooks needed by Skolelinux.
+
+ <li>The current base-config is is flexible enough for
+ Skolelinux, but could use more hooks to reduce the amount of
+ Skolelinux specific code.
+ </ul>
+
+ <h2>References</h2>
+
+ <ul>
+
+ <li><a href="http://www.skolelinux.no/">Skolelinux web site</a>
+ <li><a href="http://developer.skolelinux.no/">Skolelinux
+ developers web site</a>
+ <li><a href="http://developer.skolelinux.no/arkitektur/arkitektur.html.en">The Skolelinux architeture description</a>
+ <li><a href="http://people.debian.org/~pere/debian-installer/">Debian
+ installer web page</a>
+ </ul>
+
+ <h2>Thank you very much</h2>
+
+ <h3>Questions?</h3>
+
+ <p>This presentation is available from
+ <tt>http://www.hungry.com/~pere/mypapers/debconf-install/debconf-install.html</tt>
+
+<!--
+
+ Random notes for the introduction to debconf.
+
+ My name is Petter Reinholdtsen. I am president of the norwegian
+ unix user group and the system architect for skolelinux. I am also
+ the head of the group of local organisers of debcamp and debconf.
+ If you have any problems unsolvable for the help desk, please
+ contact me or Andreas and we will find a solution.
+
+ NUUG and Skolelinux are very pleased to assist in making this
+ conference happening, and we appreciate the progress done during
+ debcamp.
+
+ Some practical details:
+
+ - ask at the
+ - remember to hand in food cupons
+
+ For the norwegian audience: NUUG prize will be handed out this fall.
+ We need nominations
+
+ For the rest of you: Keep up the good work, and good luck with the
+ conference.
+
+
+d-i meeting:
+ - kernel module split (netcard, scsi)
+ - discover2
+ -
+
+-->