On Tue, Jun 24, 2014 at 1:52 PM, Lasse Schuirmann <lasse.schuirmann@xxxxxxxxx> wrote: > This script needs an internet connection because of the following > facts: > * Debian ISOs with different UIs have the same volume ID Its not clear how the this point is relevant. AFAIK its only relevant because of the following point. > * It seems not possible to install the UI that is present on the ISO UI -> desktop. Also the sentence is a bit vague. IIRC the issue is that choosing the default desktop always chooses GNOME and its not always shipped on the ISO and hence is fetched from Internet during installation. > In order to get a desktop installation without questions asked an > internet connection is needed. > --- > data/install-scripts/debian.xml | 174 ++++++++++++++++++++++++++++++++++++++++ > data/oses/debian.xml.in | 1 + > 2 files changed, 175 insertions(+) > > diff --git a/data/install-scripts/debian.xml b/data/install-scripts/debian.xml > index e08b86b..2d4c3bc 100644 > --- a/data/install-scripts/debian.xml > +++ b/data/install-scripts/debian.xml > @@ -103,4 +103,178 @@ d-i finish-install/reboot_in_progress note > </xsl:stylesheet> > </template> > </install-script> > + > + <!-- DESKTOP PROFILE --> > + <install-script id='http://debian.org/scripts/debian/desktop'> > + <profile>desktop</profile> > + <expected-filename>preseed.cfg</expected-filename> > + <can-pre-install-drivers>true</can-pre-install-drivers> > + <config> > + <!-- Localization options --> > + <param name="l10n-keyboard" policy="optional" value-map="http://libosinfo.fedorahosted.org/x11-keyboard"/> > + <param name="l10n-language" policy="optional"/> > + <param name="l10n-timezone" policy="optional"/> > + > + <!-- User options --> > + <param name="user-login" policy="required"/> > + <param name="user-fullname" policy="optional"/> > + <!-- This MUST be nonempty. Can we enforce this? --> > + <param name="user-password" policy="required"/> > + <param name="admin-password" policy="required"/> > + > + <!-- Misc --> > + <param name="hostname" policy="optional"/> > + <param name="domain" policy="optional"/> > + <param name="target-disk" policy="optional"/> > + </config> > + <injection-method>initrd</injection-method> > + <needs-internet-connection>true</needs-internet-connection> > + <template> > + <xsl:stylesheet > + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > + version="1.0"> > + > + <xsl:output method="text"/> > + > + <xsl:template name="target-disk"> > + <xsl:choose> > + <xsl:when test="config/target-disk != ''"> > + <xsl:value-of select="config/target-disk"/> > + </xsl:when> > + <xsl:otherwise> > + <xsl:text>/dev/vda</xsl:text> > + </xsl:otherwise> > + </xsl:choose> > + </xsl:template> > + > + <xsl:template name="hostname"> > + <xsl:choose> > + <xsl:when test="config/hostname != ''"> > + <xsl:value-of select="config/hostname"/> > + </xsl:when> > + <xsl:otherwise> > + <xsl:value-of select="os/short-id"/> > + </xsl:otherwise> > + </xsl:choose> > + </xsl:template> > + > + <xsl:template name="user-fullname"> > + <xsl:choose> > + <xsl:when test="config/user-fullname != ''"> > + <xsl:value-of select="config/user-fullname"/> > + </xsl:when> > + <xsl:otherwise> > + <xsl:value-of select="config/user-login"/> > + </xsl:otherwise> > + </xsl:choose> > + </xsl:template> > + > + <xsl:template name="l10n-language"> > + <xsl:choose> > + <xsl:when test="config/l10n-language != '' and config/l10n-language != 'C'"> > + <xsl:value-of select="config/l10n-language"/> > + </xsl:when> > + <xsl:otherwise> > + <xsl:text>en_US</xsl:text> > + </xsl:otherwise> > + </xsl:choose> > + </xsl:template> > + > + <xsl:template name="l10n-keyboard"> > + <xsl:choose> > + <xsl:when test="config/l10n-keyboard != '' and config/l10n-keyboard != 'C'"> > + <xsl:value-of select="config/l10n-keyboard"/> > + </xsl:when> > + <xsl:otherwise> > + <xsl:text>us</xsl:text> > + </xsl:otherwise> > + </xsl:choose> > + </xsl:template> > + > + <xsl:template match="/command-line"> > + <xsl:text> keyboard-configuration/xkb-keymap=</xsl:text> > + <xsl:call-template name="l10n-keyboard"/> > + <xsl:text> debconf/priority=critical</xsl:text> > + </xsl:template> > + > +<xsl:template match="/install-script-config"> > +# For inspiration and explanations see: > +# http://sfxpt.wordpress.com/2013/06/09/get-the-debianubuntu-ready-and-customized-the-way-you-like-in-10-minutes/ > + > +### Network > +d-i netcfg/choose_interface select auto > +d-i netcfg/get_hostname string <xsl:call-template name="hostname"/> > +d-i netcfg/get_domain string <xsl:value-of select="config/domain"/> > +d-i netcfg/disable_dhcp boolean false > + > + > +### Localization > +d-i debian-installer/locale string <xsl:call-template name="l10n-language"/> > +d-i debian-installer/splash boolean false > +d-i console-setup/ask_detect boolean false > + > + > +### Time > +d-i clock-setup/ntp boolean true > +d-i clock-setup/utc boolean true > +d-i time/zone select <xsl:value-of select="config/l10n-timezone"/> > + > + > +### Account setup > + > +## Root > +d-i passwd/root-login boolean true > +d-i passwd/root-password password <xsl:value-of select="config/admin-password"/> > +d-i passwd/root-password-again password <xsl:value-of select="config/admin-password"/> > + > +## User > +d-i user-setup/allow-password-weak boolean true > +d-i user-setup/encrypt-home boolean false > +d-i passwd/user-fullname string <xsl:call-template name="user-fullname"/> > +d-i passwd/username <xsl:value-of select="config/user-login"/> > +d-i passwd/user-password password <xsl:value-of select="config/user-password"/> > +d-i passwd/user-password-again password <xsl:value-of select="config/user-password"/> > + > + > +### Partitioning > +d-i partman-auto/disk string <xsl:call-template name="target-disk"/> > +d-i partman-auto/method string regular > +d-i partman-auto/choose_recipe select home > +d-i partman/default_filesystem string ext4 > +d-i partman-auto/purge_lvm_from_device boolean true > +# avoid any confirmation > +d-i partman/choose_partition select finish > +d-i partman/confirm_write_new_label boolean true > +d-i partman/confirm_nooverwrite boolean true > +d-i partman/confirm boolean true > + > + > +### Apt > +d-i apt-setup/security_host string > +d-i apt-setup/services-select multiselect > +d-i apt-setup/volatile_host string > +d-i apt-setup/security_host string > + > + > +### Software selection > +tasksel tasksel/first multiselect desktop > + > + > +### Bootloader > + > +## Dont use LILO > +d-i lilo-installer/skip boolean true > + > +## GRUB settings > +# Workaround for https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666974 > +d-i grub-installer/only_debian boolean false > +d-i grub-installer/bootdev string <xsl:call-template name="target-disk"/> > + > + > +### Cleanup > +d-i finish-install/reboot_in_progress note > +</xsl:template> > + </xsl:stylesheet> > + </template> > + </install-script> > </libosinfo> > diff --git a/data/oses/debian.xml.in b/data/oses/debian.xml.in > index 1ecb2dd..dc97d81 100644 > --- a/data/oses/debian.xml.in > +++ b/data/oses/debian.xml.in > @@ -256,6 +256,7 @@ > > <installer> > <script id='http://debian.org/scripts/debian/jeos'/> > + <script id='http://debian.org/scripts/debian/desktop'/> > </installer> > </os> > > -- > 2.0.0 > > _______________________________________________ > Libosinfo mailing list > Libosinfo@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libosinfo -- Regards, Zeeshan Ali (Khattak) ________________________________________ Befriend GNOME: http://www.gnome.org/friends/ _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo