On 06/05/2017, Ian Campbell <i...@debian.org> wrote: > On Fri, 2017-05-05 at 22:52 +0100, Sam Kuper wrote: >> If so, is there >> any reason in principle why that installer could not in future be >> distributed with the capability to (download and) compile and run ZFS, >> and to provide the user with the option to install Debian onto a ZFS >> root partition? > > There is no build toolchain (gcc et al) available for the installer > environment itself, nor are kernel headers provided there.
I was not aware of that. Thank you for making this crucial point :) > 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. > For most other > partitions it would probably be just as easy to format them post- > install anyway. True. So to proceed towards solving this feature request, I guess the initial focus should be on how to install the root ZFS partition/dataset. Figuring out how to handle other partitions/datasets can wait until that has been solved.