On Sat, May 06, 2017 at 03:35:52PM +0100, Sam Kuper wrote: > On 06/05/2017, Ian Campbell <i...@debian.org> wrote: > > It would in theory be possible to arrange build and install modules > > during installation using the in-progress target installation (where > > the normal toolchain packages could be installed) such that they are > > available during the latter parts of the install procedure -- that is > > clearly of limited use for any modules which are required for the > > filesystems which you want to install to (certainly the root fs and > > perhaps any separate /usr or /var partition(s)). > > Given that a machine intended to run ZFS is likely to be provisioned > with >2GB of RAM (much more than the Debian Installer would normally > require), might a viable workaround be for the Debian Installer to > take the following steps? > > - Ensure that some minimum amount of RAM is available, and refuse to > proceed with a root-on-ZFS installation if not; > > - install the toolchain, ZFS source, and any other packages from > "main" or "contrib" necessary to support these, to a RAM disk; > > - compile and load ZFS functionality; > > - format the target HDD/SSD using ZFS; > > - copy the toolchain binaries and ZFS source packages, etc, to the > relevant places on the target HDD/SSD (/usr/bin , > /var/cache/apt/archives/ , etc); > > - resume the installation as usual.
I don't see why not. We already need the ability to run debootstrap; this would just change that to a need to do so twice. It wouldn't be terribly efficient for a netinstall, since it requires that you download the base system twice; but it could imagine a special "non-free netinstall" image which would contain zfs-dkms and its dependencies on top of the base system, so that you don't need to download things more than once. I don't know whether anyone on this list would be actually interested in adding the necessary support to d-i, but hey, if you are, I'm sure patches are welcome. As a side note, I'll add that there is already a partman-zfs, due to Debian-kFreeBSD; this should mean that you'd only need to extend that to also do the compilation at first. -- < ron> I mean, the main *practical* problem with C++, is there's like a dozen people in the world who think they really understand all of its rules, and pretty much all of them are just lying to themselves too. -- #debian-devel, OFTC, 2016-02-12