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');
push @cl, (
"DEBIAN_FRONTEND=$difront",
"hostname=$tho->{Name}",
- "url=$ps_url",
+ "$xopts{PreseedScheme}=$ps_url",
"netcfg/dhcp_timeout=150",
"netcfg/choose_interface=$netcfg_interface"
);
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
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
}