X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/f84b31ed52390e2fd4a39f2750a6d865ef9b06f5..dc5003af027a0108940e1fff0b739aaa797c7bcd:/mypapers/debconf-install/debconf-install.html
diff --git a/mypapers/debconf-install/debconf-install.html b/mypapers/debconf-install/debconf-install.html
index 13cc64bd5e..c62fd88c5f 100644
--- a/mypapers/debconf-install/debconf-install.html
+++ b/mypapers/debconf-install/debconf-install.html
@@ -11,75 +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)
- - based on Debian/Woody
- - simple installation
- - preconfigured services (syslog, dns, dhcp, ntp, nfs, smb, smtp,
- imap, ldap, http, ipp, web-proxy, ssh, ltsp and more)
+
- No license administration
+
- Admin friendly
+
- Scalable
+
- - translated to local language
- - only userfriendly licenses
- - 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?)
- - simple
- - automatic
- - using debian-installer (d-i) and base-config (b-c)
- - complete
- - preconfigured services (list them)
+
- debian installation
- - booting from cd/floppy/net/whatever
- - making HD bootable
- - booting from hd
- - installing the rest
+ 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
+
- debian-installer
- - modular
- - extendable
- - mostly automatic
- - flexible
+ 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 (udeb)
- - 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 /swap
- - mount filesystems
- - install base system
- - install kernel
- - install boot loader
+
+ - 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 boot time
- - include or excluding packages going into the HD
- - running scripts before reboot
- - adjust partitioning
-
- base-config
- - structure
- - hooks
-
- skolelinux specifict code
- first stage
- - profile
- - extra packages
- second stage
- - automatic install
- - automatic configuration
+
+ - 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
+
+ Questions?