Re: Debian-Installer gets stuck at selecting mirror (choose-mirror)
On 13.04.2017 08:47, Helge Deller wrote:
> On 13.04.2017 03:18, Cyril Brulebois wrote:
>> (Adding tbm to the loop explicitly since he's the QNAP master.)
>>> [...]
>>> After flashing and rebooting, the installer gets stuck at the step where
>>> I have to select the mirror. When I press <return> to select a mirror,
>>> for a very short time, like some milliseconds, the next step appears,
>>> but then it goes back to the same step of selecting the mirror. As a
>>> consequence I'm currently not able to install Debian on that device.
>
> FWIW, I'm seeing exactly the same problem on the hppa architecture.
>
>>> I guess this is the interesting part:
>>>
>>> main-menu[1395]: DEBUG: resolver (libgcc1): package doesn't exist (ignored)
>>> main-menu[1395]: INFO: Menu item 'choose-mirror' selected
>>> anna-install: Queueing udeb apt-mirror-setup for later installation
>>> main-menu[1395]: INFO: Menu item 'choose-mirror' succeeded but requested to be left unconfigured.
>>> main-menu[1395]: DEBUG: resolver (libgcc1): package doesn't exist (ignored)
>>> main-menu[1395]: INFO: Menu item 'choose-mirror' selected
>>> main-menu[1395]: INFO: Menu item 'choose-mirror' succeeded but requested to be left unconfigured.
>>> main-menu[1395]: DEBUG: resolver (libgcc1): package doesn't exist (ignored)
>>> main-menu[1395]: INFO: Menu item 'choose-mirror' selected
>>> main-menu[1395]: INFO: Menu item 'choose-mirror' succeeded but requested to be left unconfigured.
>>> main-menu[1395]: DEBUG: resolver (libgcc1): package doesn't exist (ignored)
>>> main-menu[1395]: INFO: Menu item 'di-utils-shell' selected
>>
>> I think that's the first time I'm seeing this “succeeded but requested
>> to be left unconfigured” status, not sure what's causing this.
I did some more analysis on hppa.
During build of choose-mirror, the file "mirrors_http.h" is created based on
the input of the Mirrors.masterlist file.
On hppa this mirrors_http.h file has no entries, because hppa is a "ports" architecture,
and the perl "mirrorlist" script only parses mirror entries for the target architecture if they
are listed in the "Archive-architecture:" lines (of Mirrors.masterlist).
For hppa the mirrorlist script needs to parse the "Ports-architecture:" lines instead.
The attached patch is a hack which I'll try now on hppa.
My assumption is, that choose-mirror will find no possible mirror entries at runtime
and thus exists with a "succeeded but requested to be left unconfigured” status".
Does by any chance the generated "mirrors_http.h" file on armel has no entries as well?
Maybe it's a similar issue (although armel isn't a ports architecture) ?
Helge
diff -up ./mirrorlist.org ./mirrorlist
--- ./mirrorlist.org 2017-05-04 21:43:33.209899381 +0200
+++ ./mirrorlist 2017-05-04 22:09:33.290691147 +0200
@@ -108,12 +108,17 @@ foreach my $id (0..$#data) {
$data[$id]->{rating}=$rating;
}
+# my $archive_type = "archive-$type";
+# my $repo_archlist = "archive-architecture";
+my $repo_archlist = "ports-architecture"; # für Ports
+my $archive_type = "ports-$type";
+
# Filter out mirrors that don't carry the target architecture.
my @newdata;
foreach my $id (0..$#data) {
- if (exists $data[$id]->{'archive-architecture'} &&
- $data[$id]->{'archive-architecture'} ne "any") {
- my @arches = split ' ', $data[$id]->{'archive-architecture'};
+ if (exists $data[$id]->{$repo_archlist} &&
+ $data[$id]->{$repo_archlist} ne "any") {
+ my @arches = split ' ', $data[$id]->{$repo_archlist};
if (grep /^!/, @arches) {
my %notarches = map { substr($_, 1) => 1 } grep /^!/, @arches;
next if exists $notarches{$hostarch};
@@ -130,7 +135,7 @@ if ($type =~ /(.*)list/) {
my $type=$1;
open (LIST, ">debian/${type}list-countries") or die "debian/${type}list-countries: $!";
foreach my $id (0..$#data) {
- next unless exists $data[$id]->{"archive-$type"} and
+ next unless exists $data[$id]->{"$archive_type"} and
exists $data[$id]->{country};
my $cc = $data[$id]->{country};
die "Error: country code '$cc' does not occur in iso-3166 table"
@@ -158,13 +163,13 @@ else {
else {
$cc=$q.$data[$id]->{country}.$q;
}
- next unless exists $data[$id]->{"archive-$type"} and defined $cc;
- if (! exists $data[$id]->{'archive-architecture'}) {
- print STDERR "warning: missing archive-architecture for mirror ".$data[$id]->{site}."; assuming it contains all architectures.\n";
+ next unless exists $data[$id]->{"$archive_type"} and defined $cc;
+ if (! exists $data[$id]->{$repo_archlist}) {
+ print STDERR "warning: missing $repo_archlist for mirror ".$data[$id]->{site}."; assuming it contains all architectures.\n";
}
print OUT "\t{",
join(", ", $q.$data[$id]->{site}.$q, $cc,
- $q.$data[$id]->{"archive-$type"}.$q),
+ $q.$data[$id]->{"$archive_type"}.$q),
"},\n";
}
print OUT "\t{NULL, NULL, NULL}\n";
Reply to: