[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2 2/3] ts-debian-hvm-install: use di_installcmdline_core



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.campbell@xxxxxxxxxx>
---
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@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.