I've finished testing these hypotheses: On 20/08/14 03:14, Steven Chamberlain wrote: > I think all we need to do is add the expected-uninstallable packages to > /var/cache/anna/exclude That works. I think on each architecture, any uninstallable udeb (according to http://d-i.debian.org/edos/#unstable) belongs in the anna excludes file. Maybe it could be automated, perhaps determined at debian-installer build time. > [...] Each udeb in our image takes up space > for the extracted files, but also I suspect _considerable_ space in > cdebconf data. Addressing this may already fix the ENOSPC error, [...] Skipping 21 surplus udebs was not enough. The biggest problem is indeed cdebconf templates: | /var/lib/cdebconf # ls -alS | -rw-r--r-- 1 root root 10886119 Aug 20 02:28 templates.dat | -rw-r--r-- 1 root root 10886119 Aug 20 02:27 templates.dat-old I wonder if -old is really needed in d-i? There is also a temporary templates.dat-new while it is processing. So at its peak, this directory accounts for some 30MiB or more in the d-i filesystem (in memory). That's half as big as the whole rest of d-i. I'm surprised this hasn't caused a problem yet on non-kfreebsd architectures -- a machine with only just enough memory to support graphical mode (instead of falling back to lowmem install mode where I think cdebconf localisation is disabled?). Anyway, I also tried using a tmpfs for /var/lib/cdebconf. That works very well, and seems like the best way we can fix this bug. It also helped slightly to mount a tmpfs on /var/cache/anna, where udebs are downloaded to one-at-a-time, before each is extracted then deleted. Regards, -- Steven Chamberlain steven@pyro.eu.org
Attachment:
signature.asc
Description: OpenPGP digital signature