X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/e332b1afb6043d246b1df2508529acc62633cc8d..94c3f868a3c97644708d2e83a05999ce2d6a301a:/mypapers/debconf-install/debconf-install.html
diff --git a/mypapers/debconf-install/debconf-install.html b/mypapers/debconf-install/debconf-install.html
index 5732926eae..c62fd88c5f 100644
--- a/mypapers/debconf-install/debconf-install.html
+++ b/mypapers/debconf-install/debconf-install.html
@@ -11,39 +11,195 @@
Automated installations in Skolelinux
using debian-installer and base-config
- Nice summary
+ Skolelinux is a Debian-based Linux distribution with simple
+ installation and preconfigured services targeted for schools.
+ The presentation will present how the standard debian
+ installation system is customised for this purpose.
+
+ http://www.hungry.com/~pere/mypapers/debconf-install/debconf-install.html
Petter Reinholdtsen
pere@hungry.com
-
Debconf3, 2003-07-19
+
Debconf3, 2003-07-20
+
+ Skolelinux
+
+ - Based on Debian/Woody (to get security updates)
+
- Simple installation
+
+
- Translated to several local languages
+
- Includes all the software needed in primary schools
+
+
- Preconfigured services (syslog, dns, ntp, dhcp, ssh, ldap,
+ nfs, smb, smtp, imap, ipp, http, web-proxy, ltsp and more)
+
+
- No license administration
+
- Admin friendly
+
- Scalable
+
+
+ The Skolelinux architecture
+
+
The skolelinux install
+
+ - Simple (two questions and the root password)
+
- Automatic
+
- Using debian-installer (d-i) and base-config (b-c)
+
- Complete (everything work out of the box)
+
- Very little skolelinux-specific code (two udebs and three
+ config packages).
+
- Rewriting the config of other packages to get the services
+ preconfigured out of the box (against policy?)
+
+
+
+ The two stages of the Debian installation
+ First stage (debian-installer)
+
+ - Booting from cd/floppy/net/whatever
+
- Installing base system
+
- Making HD bootable
+
+ Second stage stage (base-config)
+
+ - Booting from HD
+
- Installing and configuring the non-base system
+
+
+ The first stage (debian-installer)
+
+ - Modular
+
- Extendible
+
- Using debconf to ask questions
+
- Can be mostly automatic
+
- Very Flexible
+
+
+ debian-installer structure
+
+ - Selector for installer modules (udebs)
+
- Select language and region
+
- Autodetect hardware
+
- Locate APT source (CD, Net or floppy)
+
- Load the rest of the installer modules
+
- Partition hard-drive
+
- Make filesystems or swap
+
- Mount filesystems
+
- Install base system
+
- Install kernel
+
- Install boot loader
+
- Reboot
+
+
+ debian-installer hooks
+
+ - Include or exclude d-i modules
+
- Running script at install system boot time
+
- Include or excluding packages going into the HD
+
- Running scripts before reboot from HD
+
- Partitioning
+
+
+ The second stage (base-config)
+
+ - Executed from init on first boot
+
- Modular (reading /usr/lib/base-config)
+
- Able to adjust the order of the scripts on the fly using
+ return codes.
+
- Partly using debconf for configuration decisions.
+
+
+ base-config structure
+
+ - Generate locale if needed
+
- Start terminal emulator (for non-ascii installs) if needed
+
- Load variables based from first stage (/root/dbootstrap_settings)
+
- Turn off screen saver
+
- Show intro screen
+
- Set up console keyboard
+
- Set up time zone
+
- Configure /etc/passwd, root password and local user
+
- Enable ppp?
+
- Configure APT sources
+
- Select packages to install
+
- Fetch packages
+
- Configure exim
+
- Disable ppp?
+
- Show "successful install" screen
+
- Rewrite /etc/inittab to not start base-config on next boot
+
+
+ base-config hooks
+
+ - Add scripts to /usr/lib/base-config/
+
- Update debconf database
+
+
+
+ Skolelinux specific code
+ First stage
+
+ - Shorter language list
+
- Set debconf priority limit to high to get automatic install
+
- Ask about profile and do automatic partitioning for this
+ profile
+
- Reorder d-i module order using dependencies and menu-item value
+
- Install extra packages into the HD
+
- Pass info to second stage using /root/dbootstrap_settings
+ and /etc/skolelinux/config
+
+ Second stage
+
+ - Set debconf frontend to non-interactive (most of the time)
+
- Preload debconf answers based on profile choice
+
- Automatically install packages for the given profiles
+
- Rewrite/replace config files based on profile and language
+
- Configure XFree86
+
- Restart servers (except kdm)
+
- Check installation
+
- Restart kdm
+
+
+ Some solved problems
+
+
+ - Preloading debconf answers need a dummy question template
+
+
- Packages with insufficient install configuration support
+ get their config files rewritten using cfengine.
+
+
- Selecting packages to install using meta-packages.
+
+
+
+ Conclusion
+
+
+ - The current debian-installer is extendible and can do
+ automated installation, with the hooks needed by Skolelinux.
+
+
- The current base-config is is flexible enough for
+ Skolelinux, but could use more hooks to reduce the amount of
+ Skolelinux specific code.
+
+
+ References
+
+
+
+ Thank you very much
- - simple
- - automatic
- - complete
-
-debian installation
- - booting from cd/floppy/net/whatever
- - making HD bootable
- - booting from hd
- - installing the rest
-
-debian-installer
- - structure
- - hooks
- -
-base-config
- - structure
- - hooks
-
-skolelinux specifict code
- first stage
- - profile
- - extra packages
- second stage
- - automatic install
- - automatic configuration
+ Questions?