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 ian.campb...@citrix.com
---
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
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel