Hi James,
[cc-ing submitter back, and youpi for the final comment]
James Addison <jay@jp-hosting.net> (2021-05-28):
> Does d-i tend to use udpkg for bootstrapping?
>
> If so, I think https://salsa.debian.org/installer-team/udpkg/-/blob/master/status.c#L390
> could be a potential section of code to investigate further.
>
> It doesn't look like full-fat dpkg performs these kind of renames on
> the status file.
Since that happens quite early, my first instinct was to look under the
main-menu source package, which indeed contains some references to udpkg:
kibi@tokyo:~/debian-installer/packages/main-menu$ git grep -i udpkg
debian/changelog: - add "exec" to the udpkg calls, ash isn't able to optimize the fork
debian/changelog: - Don't run udpkg --configure on virtual packages
main-menu.c: /* Tell udpkg to shut up. */
main-menu.c: setenv("UDPKG_QUIET", "y", 1);
main-menu.c: if (asprintf(&configcommand, "exec udpkg --configure --force-configure %s", p->p.package) == -1)
If you want to read it online:
https://salsa.debian.org/installer-team/main-menu/-/blob/master/main-menu.c#L835
main-menu is also the one getting the error according to Frédéric's
syslog excerpt, so that would be somewhat consistent. I'm quoting it
again before some comments:
Apr 22 12:11:57 reopen-console: Looking at console hvc0 from /proc/consoles
Apr 22 12:11:57 reopen-console: Adding hvc0 to possible consoles list
Apr 22 12:11:57 reopen-console: hvc0 is preferred
Apr 22 12:11:57 reopen-console: Adding tty0 to possible consoles list
Apr 22 12:11:57 reopen-console: Adding inittab entry for hvc0
Apr 22 12:11:57 reopen-console: Adding inittab entry for tty0
Apr 22 12:11:57 reopen-console: Restarting init to start d-i on the console(s) we found
Apr 22 12:11:57 init: reloading /etc/inittab
Apr 22 12:11:57 init: starting pid 239, tty '/dev/tty4': '/usr/bin/tail -f /var/log/syslog'
Apr 22 12:11:57 init: starting pid 240, tty '/dev/hvc0': '/sbin/debian-installer'
Apr 22 12:11:57 init: starting pid 241, tty '/dev/tty0': '/sbin/debian-installer
Apr 22 12:11:57 debconf: Setting debconf/language to en
Apr 22 12:11:57 main-menu[272]: INFO: Falling back to the package description for brltty-udeb
Apr 22 12:11:57 debconf: Setting debconf/language to en
Apr 22 12:11:57 main-menu[272]: INFO: Menu item 'localechooser' selected
Apr 22 12:11:57 main-menu[278]: INFO: Falling back to the package description for brltty-udeb
Apr 22 12:11:57 main-menu[278]: INFO: Menu item 'localechooser' selected
Apr 22 12:11:57 main-menu[278]: /var/lib/dpkg/status: No such file or directory
Apr 22 12:11:57 main-menu[272]: /var/lib/dpkg/status: No such file or directory
Apr 22 12:11:57 main-menu[272]: /var/lib/dpkg/status: No such file or directory
Looking at that log, one sees two PIDs for main-menu (272 and 278),
which could explain a very nice race condition: udpkg racing, one of
them making the status file disappear from under the feet of the other
one?
See also two /sbin/debian-installer processes getting started beforehand
(one on /dev/hvc0, one on /dev/tty).
It looks to me this is a clear problem on the debian-installer side (how
it deals with multiple consoles, similar to #940028 as you mentioned
initially), rather than some possible issues with emulation?
Cheers,
--
Cyril Brulebois (kibi@debian.org) <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant
Attachment:
signature.asc
Description: PGP signature