Proposal for low-mem cdrom install and minimum kernel versions thereof
debian-installer currently needs a lot of ram to install all the udebs
on the cdrom. That was one reason for me to suggest mixing debix and
debian-installer together into a live-cd install.
So here is how it could work:
1. A small initrd is booted with enough stuff on it to find and mount
2. On the cdrom a huge initrd image is stored with all the udebs
installed that anna would pull in of a cdrom anyway.
3. The huge initrd is loopback mounted and a lvm snapshot device is
set over that with a ramdisk/tmpfs as copy-on-write storage.
4. mount the lvm snapshot on /mnt
5. transfere debconf database and other state files to /mnt
6. pivot-root over to the lvm snapshot and exec+chroot main-menu
7. continue as normal
What have we won?
The 20-40 MB ramdisk that would normaly be used will be kept on cdrom
and only changes to that get stored to ramdisk on a block-by-block
basis. No additional udebs would be installed into ram by anna unless
choosen manually. The only big file left would be the Packages file
which can probably also be preseeded on the cdrom.
Apart from the ram, time is also saved. Installing all the udebs from
cdrom takes a while on low-mem systems. Consider that an extra bonus.
What needs to be changed for this?
- The device-mapper patch (kernel-patch-device-mapper.deb) would have
to be included in a kernel image and the device-mapper tools (dmsetup)
packaged as udeb.
- When using tmpfs as storage 2.4.22 is the minimum kernel version.
The benefit of tmpfs would be swapping capabilities once swap is
initialized. Given this is for low-mem that might be nice. Using a
ramdisk the lowest version is 2.4.19 I think.
- rootskel-low-mem and busybox-low-mem versions would be needed
- A pkglist and medialist per architecture. Two if there should be a
cdrom wth and without base debs. But they would be just the
cdrom-udebs/cdrom-base lists with the important udebs moved into the
initrd. Could even be generated by the Makefile so only one list has to
be changed in future.
Think about it and let me know what you think. Try an d-i install with
64MB, 32MB or even 16 MB ram.