On Fri, Mar 11, 2011 at 11:20:35AM +0000, Dave Martin wrote:
Although it's not directly related to nano (which is useful in itself as a miminal usable system) it could make sense to be able to generate images with no built-in packager support - i.e., the packer must effectively be run offline to generate the filesystem. There's also the possibility of keeping the packager information outside the main tarball, so the filesystem can be modified/updated offline after creation.
For the nano image, upgradability with dpkg/apt is not a hard requirement. Given a constrained footprint, you aren't likely to have room to download .debs and do the upgrade anyway! (And one of the alternatives being considered, initramfs, definitely has no upgrade support.)
Tom, if we were to blow away /var/lib/dpkg/, /var/lib/apt, /var/cache/apt, and /var/cache/debconf entirely, how much space does that buy us on nano?
As I understand it, debootstrap or germinate basically do the right thing. All we would need would be to document the use of the existing tools, and provide suitable ultra-minimal seeds (at the level of busybox+libc only) and/or an ultra-minimal --variant for debootstrap.
debootstrap will balk at trying to install a system with no dpkg installed, because dpkg is an essential package. And indeed, various packages will fail to configure properly if dpkg is absent - I don't know if any of the packages in the current nano seed are affected, but no sense borrowing trouble. If we want the package manager out, we should do this with postprocessing.