-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Correct autodetection of bootfs property #2196
Conversation
Remove lines that contain only a hyphen (match '^-$' instead of '-'). I had a root fs with a hyphen in the name (fedora/ROOT/Fedora20-Dev), it was not detected because sed eliminated that line of output from 'zpool list -Ho bootfs'.
Would also like to improve the zpool import behavior. Afterwards the zpool.cache file can be copied from the bootfs to tmp (or elsewhere), allowing a 'zpool import -c /tmp/zpool.cache' to import the pools as they were last used by the system. |
Could you take a look at #2087? I'm trying to rewrite all this into a set of scripts that will work for everyone, everywhere. I'm not sure what would be the point in checking each
(which would be a more, non-hardcoded way, because I don't have I do like (and signs off on) your |
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-').
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-').
Remove lines that contain only a hyphen (match '^-$' instead of '-').
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-').
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs.
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist. + Add /dev as a last ditch attempt.
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist. + Add /dev as a last ditch attempt.
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
* Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist. + Add /dev as a last ditch attempt.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Initramfs scripts for ZoL. * Put in /usr/share/initramfs-tools/ or /etc/initramfs-tools/. * With pull request openzfs#1476 (not yet merged) comes a verbose warning if /usr/bin/net doesn't exist or isn't executable. Just create a dummy... * If user haven't specified pool, but bootfs then use the first part of the bootfs path as pool name. * Add support for booting of a ZFS snapshot. Do this by cloning the snapshot into a dataset. If this the resulting dataset already exists, destroy it. Then set mountpoint=/ on that dataset and mount it on root. + If snapshot does not exist, use base dataset (the part before '@') as boot filesystem instead. * Add support for more kernel command line arguments (ideas taken from the Fedora/Redhat dracut script): + (zfs_force|zfs.force|zfsforce)=(on|yes|1) (ignore case). + root=zfs:AUTO => try to find rootfs automatically. + root=zfs:<dataset> + root=ZFS=<dataset> * Remove the existing '-f' option to 'zpool import', instead let this be controlled on the kernel command line. * Do not force-set mountpoint=/ - should (??) not be nessesary. * Support mounting a rootfs with mountpoint=legacy * Support both RPM based and DEB based system by removing the logic from the dracut script and instead use the logic in scripts/zfs-initramfs/scripts/zfs for both Debian GNU/Linux (etc) and RedHat/Fedora (etc). * Only run the local-* script(s) if/when it/they exists. * Don't auto import pools when loading module - keep better control of the imports. * If called with only 'rpool' (or only 'zfs-bootfs'), then fake it by setting 'root=zfs:AUTO' (to avoid duplication of code etc) so that it will be auto detected later. + If pool is specified and we're auto discovering, don't go through ALL pools, only the one we specified. * Rewrite the auto detection of bootfs in the auto detector. * Only try to import pool if it haven't already been imported (in the auto detector). * Add support for only having 'root=pool/dataset' option. * Remove the use of setting 'ZFS_RPOOL=rpool'. No longer nessesary. * Check if /scripts/local-* is either file or directory - should be dir, but just to be safe check both. * Make wait_for_udev wait for 10 seconds. * Add a configurable ZFS_INITRD_POST_MODPROBE_SLEEP (set in /etc/default/zfs) after the modprobe. * Merge openzfs#2196. Remove lines that contain only a hyphen (match '^-$' instead of '-'). * Add a 'default' file to go in '/etc/default/zfs'. * Support mounting additional filesystems (such as /var and /usr etc) in the initrd using ZFS_INITRD_ADDITIONAL_DATASETS set in /etc/defaults/zfs. * Add exceptions to pool imports. + Both for init and initrd script. * Make sure that the zpool.cache file is actually copied onto the initrd!! * Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if they exist. * Export all pools found after the modprobe - zfs_autoimport_disable=1' don't seem to be working in >= 0.6.3. + This snippet will go away as soon as I can figure out why it doesn't, it's ugly!! * Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set. + Try this first, then fallback to using the cache file if that exist.
Remove lines that contain only a hyphen (match '^-$' instead of '-'). I had a root fs with a hyphen in the name (fedora/ROOT/Fedora20-Dev), it was not detected because sed eliminated that line of output from 'zpool list -Ho bootfs'. Signed-off-by: Evan Susarret <[email protected]> Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#2196
Remove lines that contain only a hyphen (match '^-$' instead of '-').
I had a root fs with a hyphen in the name (fedora/ROOT/Fedora20-Dev), it was not detected because sed eliminated that line of output from 'zpool list -Ho bootfs'.