From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH v2 2/3] ts-debian-hvm-install: use di_installcmdline_core Date: Mon, 27 Jul 2015 13:51:26 +0100 Message-ID: <1438001487-8331-2-git-send-email-ian.campbell@citrix.com> References: <1438001458.11600.11.camel@citrix.com> <1438001487-8331-1-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1438001487-8331-1-git-send-email-ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: ian.jackson@eu.citrix.com, xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, Ian Campbell List-Id: xen-devel@lists.xenproject.org This is primarily to get DEBIAN_FRONTEND=test, for easier to read logging. Previously the command line consisted of the console and preseed/file=/preseed.cfg. After this it is more complex. The preseed file uses file= which is an alias for preseed/file. Extra options are given including DEBIAN_FRONTEND and DEBCONF_DEBUG and the following are preseeded via the command line: Previous implied were "auto=true preseed" which are now explicit. In addition the following harmless (in this context) options are added: hw-detect/load_firmware= hostname= netcfg/dhcp_timeout= netcfg/choose_interface= The caller could also cause debconf/priority to be set, but doesn't here. ts-debian-di-install in the distro test series also uses di_installcmdline_core for guest uses. Signed-off-by: Ian Campbell --- v2: Refactor to use gcmdline to contain the repetitive bit. --- Osstest/Debian.pm | 4 +++- ts-debian-hvm-install | 28 +++++++++++++++++++++++----- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm index 7ce5d67..f0bcf06 100644 --- a/Osstest/Debian.pm +++ b/Osstest/Debian.pm @@ -627,6 +627,8 @@ our %preseed_cmds; sub di_installcmdline_core ($$;@) { my ($tho, $ps_url, %xopts) = @_; + $xopts{PreseedScheme} //= 'url'; + $ps_url =~ s,^http://,,; my $netcfg_interface= get_host_property($tho,'interface force','auto'); @@ -640,7 +642,7 @@ sub di_installcmdline_core ($$;@) { push @cl, ( "DEBIAN_FRONTEND=$difront", "hostname=$tho->{Name}", - "url=$ps_url", + "$xopts{PreseedScheme}=$ps_url", "netcfg/dhcp_timeout=150", "netcfg/choose_interface=$netcfg_interface" ); diff --git a/ts-debian-hvm-install b/ts-debian-hvm-install index 0c94c7e..d4639b3 100755 --- a/ts-debian-hvm-install +++ b/ts-debian-hvm-install @@ -97,23 +97,41 @@ END return $preseed_file; } -sub grub_cfg () { +sub gcmdline (;$) { + my ($extra) = @_; + my @dicmdline = (); + my $gconsole = "console=ttyS0,115200n8"; + + push @dicmdline, $gconsole; + push @dicmdline, di_installcmdline_core($gho, '/preseed.cfg', + PreseedScheme => 'file'); + push @dicmdline, $extra if $extra; + + push @dicmdline, "--"; # See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762007 for # why console= is repeated. + push @dicmdline, $gconsole; + + return join(" ", @dicmdline); +} + +sub grub_cfg () { + my $cmdline = gcmdline(); + return <<"END"; set default="0" set timeout=5 menuentry 'debian guest auto Install' { - linux /install.amd/vmlinuz preseed/file=/preseed.cfg console=ttyS0,115200n8 -- console=ttyS0,115200n8 + linux /install.amd/vmlinuz $cmdline initrd /install.amd/initrd.gz } END } sub isolinux_cfg () { - # See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762007 for - # why console= is repeated. + my $cmdline = gcmdline("initrd=/install.amd/initrd.gz"); + return <<"END"; default autoinstall prompt 0 @@ -121,7 +139,7 @@ sub isolinux_cfg () { label autoinstall kernel /install.amd/vmlinuz - append preseed/file=/preseed.cfg initrd=/install.amd/initrd.gz console=ttyS0,115200n8 -- console=ttyS0,115200n8 + append $cmdline END } -- 2.1.4