Frans Pop wrote: > After loading the cd-drivers floppy, the menu looks like this: > Choose language > Choose country or region > Detect and mount CD-ROM (4) > Load drivers from a floppy > Select a keyboard layout > Load installer components from CD (5) > Detect network hardware (6) > ... > > As can be seen from the numbers, kbd-chooser is never run. > > Also, why is "Detect and mount CD-ROM" inserted in the menu _before_ "Load > drivers from a floppy"?
That seems to be the real problem. I don't know why cdrom-detect is put so far up in the menu, but once it is, main-menu makes it the default since it's the first menu item that has not been run. Once it is run, this happens when main-menu is looking for the next item to make default: - It goes down the list looking for items that have not been run, and lands on kbd-chooser. - It notices that kbd-chooser has a menu-item-number less than that of the last run menu item. - So it skips over kbd-chooser and keeps going, landing on load-cdrom. This skipping code was intended to be used when the user manually skipped over a menu item, down to a higher numbered item. But it also triggers if the menu gets rearranged like this so it's not in menu-item-number order. As I said, I don't know what causes the menu to be ordered this way, but it's obviously something in here: /* Sort by menu number. */ qsort(package_array, num, sizeof (di_system_package *), package_array_compare); /* Order menu so depended-upon packages come first. */ /* The menu number is really only used to break ties. */ list = di_system_packages_resolve_dependencies_array_permissive (packages, (di_package **) package_array, allocator); So it looks like di_system_packages_resolve_dependencies_array_permissive thinks that cdrom-detect is a dependency of load-floppy. Otherwise, why would that be put before it? Well, load-floppy depends on anna, which depends on retriever. cdrom-retriever is one of the three packages that provide retriever, and of course it depends on cdrom-detect. I can't read the code in libdebian-installer, but I'll bet it erroniously follows this chain to arrive at the conclusion that load-floppy needs cdrom-detect, and puts cdrom-detect before it. This problem can be worked around by removing anna's dependency on retriever. Since all d-i initrds necessarily include some retriever plus anna, the dependency doesn't serve much of a useful purpose. I tried doing this, and got a much nicer menu, with kbd-chooser before cdrom-detect, and selected as the default. -- see shy jo
signature.asc
Description: Digital signature