[FFe] Ubiquity with zfs install option

Bug #1843768 reported by Jean-Baptiste Lallement on 2019-09-12
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubiquity (Ubuntu)
Undecided
Unassigned
ubuntu-budgie-meta (Ubuntu)
Medium
fossfreedom
ubuntu-mate-meta (Ubuntu)
Medium
Martin Wimpress
ubuntu-meta (Ubuntu)
Undecided
Unassigned
ubuntustudio-meta (Ubuntu)
Undecided
Erich Eickmeyer
xubuntu-meta (Ubuntu)
Undecided
Sean Davis

Bug Description

Part of the 19.10 feature announcement is zfs experimental support in the installer (https://ubuntu.com/blog/enhancing-our-zfs-support-on-ubuntu-19-10-an-introduction). We modified ubiquity to present an “EXPERIMENTAL” (with warning) ZSYS install option. This option is only visible is zfsutils-linux is installed on the system. So, it won't be available for derivatives that use ubiquity but do not seed zfsutils-linux.

Update as of 20/09/2019: the plan is to not seed zsys (security review will take a while), but to only seed zfsutils-linux. People can then opt-in to zsys which should be available by default next cycle.

This option takes an entire disk and have a fix set of dataset installed. There is no support but we need this to make an official install option for the next LTS.

The patch has been created to be as minimal as possible. Partman does a full disk partitioning, and then the script zsys-setup the first non-ESP partition and replaces with zfs pools.

4 partitions are created:
1. if GPT partitioning: ESP partition. This one is done by partman directly.
2. bpool (for boot), pool with older zfs compatible version to be readable by grub)
3. rpool (for / and userdataset)
4. /boot/grub (ext4) to contain a single grub (NOTE: this could be later on moved to the ESP)

Additionaly if a swap file has been created by ubiquity, it is recreated as a ZFS volume. If the script fails to execute, the final installation is an ext4 installation on entire disk.

Note that the implementation is slightly different from the specification due to a difficult cohabitation with partman in the custom partitioning page.

Please find attached the MP on ubiquity as well as the package build log.

https://launchpadlibrarian.net/442036321/buildlog_ubuntu-eoan-amd64.ubiquity_19.10.10~ppa1_BUILDING.txt.gz

Related branches

description: updated
Jean-Baptiste Lallement (jibel) wrote :

Screenshot of the modified guided partitioning page.

description: updated
description: updated
Iain Lane (laney) wrote :

Thanks for working on this. I think feature-freeze wise this is something that we should get in. It's cool work and it'd be something neat to have in 19.10.

I've got some questions first though. (If the MIR is firmly taken off the table for 19.10, then these questions can be skipped since you will have to positively opt in in that case.)

Is the design of the option something that has been presented to the design team? While not a particular issue as long as the feature is opt-in, as soon as it is this option will be presented to everybody - I'd like to know that it's been reviewed design-wise and signed off.

What guarantees are you looking to make on stability / data-loss? Let's say we discover a crash in the installer in some circumstances with this option enabled in the week before release - is this something we would be fixing urgently or do we say that 'anything goes' if you have picked the option? Same question if something turns out to be wrong post-install for a number of people.

Probably goes without saying, but the MR to ubiquity itself will need to be reviewed too. :-)

Didier Roche (didrocks) on 2019-09-25
summary: - [FFe] Ubiquity with zsys install option
+ [FFe] Ubiquity with zfs install option
description: updated
Jean-Baptiste Lallement (jibel) wrote :

This screenshot shows the guided partitioning page with the experimental feature clearly separated from other options and labelled 'experimental' with a warning.

This is only for 19.10. The new proposed design also changes the LVM and encryption options to a new dialog and hence cannot be implemented so late in the cycle.

Matthew Paul Thomas (mpt) wrote :

Unfortunately this layout is highly misleading.

It’s misleading for the “Encrypt” and “Use LVM” checkboxes to be aligned with the radio buttons above it. That suggests that they are independent of the radio buttons. And it suggests that the radio button group has finished. Neither is the case. This can be fixed by indenting those two options so that they are aligned with the label of the “Replace Windows with Ubuntu” option that they depend on.

Less importantly, it’s misleading to have *more* space between “Replace Windows with Ubuntu” and the two options that actually depend on it, than between it and the “Install Ubuntu alongside Windows” option that it’s exclusive with. The simplest fix is for the spacing to be the same.

Finally, it’s misleading for any options to come after “Something else”. The word “else” refers to things that come before it. So “Something else” should always be the last option.

Fixing those three problems would have a bonus benefit that neither of the separators would be needed any more.

If it’s also possible to change the wording at this late stage, please stop using the phrase “the new installation” three times. Delete both occurrences of “with the new installation”.

Jean-Baptiste Lallement (jibel) wrote :

New version based on your comments.

Matthew Paul Thomas (mpt) wrote :

That is much better, thank you. The spacing issue is still there, but that is the least important.

(It’s also unfortunate that checkbox captions aren’t disabled when the labels are, but that’s outside the scope of adding ZFS.)

Changed in ubuntu-mate-meta (Ubuntu):
assignee: nobody → Martin Wimpress (flexiondotorg)
importance: Undecided → Medium
status: New → In Progress
Changed in ubuntu-mate-meta (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-mate-meta - 1.254

---------------
ubuntu-mate-meta (1.254) eoan; urgency=medium

  * Refreshed dependencies
  * Added zfsutils-linux to core, desktop (LP: #1843768)

 -- Martin Wimpress <email address hidden> Fri, 04 Oct 2019 13:26:30 +0100

Changed in ubuntu-mate-meta (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-meta - 1.437

---------------
ubuntu-meta (1.437) eoan; urgency=medium

  * Refreshed dependencies
  * Added fonts-liberation2 to desktop-minimal-recommends, desktop-
    recommends (LP: #1844689)
  * Added fonts-noto-color-emoji to desktop-minimal-recommends
  * Added fonts-opensymbol to desktop-minimal-recommends, desktop-
    recommends
  * Added zfsutils-linux to desktop-minimal-recommends, desktop-
    recommends (LP: #1843768)
  * Removed gdm3 from desktop [s390x], desktop-minimal [s390x]

 -- Didier Roche <email address hidden> Fri, 04 Oct 2019 16:19:27 +0200

Changed in ubuntu-meta (Ubuntu):
status: New → Fix Released
Changed in ubuntu-budgie-meta (Ubuntu):
assignee: nobody → fossfreedom (fossfreedom)
importance: Undecided → Medium
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-budgie-meta - 0.53

---------------
ubuntu-budgie-meta (0.53) eoan; urgency=medium

  * Refreshed dependencies
  * Added zfsutils-linux to desktop-recommends (LP: #1843768)

 -- David Mohammed <email address hidden> Fri, 04 Oct 2019 20:45:05 +0100

Changed in ubuntu-budgie-meta (Ubuntu):
status: New → Fix Released
Changed in ubuntustudio-meta (Ubuntu):
status: New → In Progress
assignee: nobody → Erich Eickmeyer (eeickmeyer)

Here is the patch to fix the FTBFS on archs without grub-installer:

diff --git a/debian/rules b/debian/rules
index a90e57f1f..f6a758cf4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -161,8 +161,10 @@ endif
                < d-i/patches/localechooser-post-base-installer.patch
        patch debian/ubiquity/lib/partman/finish.d/25create_swapfile \
                < d-i/patches/partman-swapfile-background.patch
+ifeq (,$(filter armhf ppc64el s390x,$(DEB_HOST_ARCH)))
        patch debian/ubiquity/usr/share/grub-installer/grub-installer \
                < d-i/patches/zfs-0.8-support.patch
+endif
        chmod +x debian/ubiquity/usr/lib/ubiquity/localechooser/post-base-installer
        sed 's/\\\$${!TAB}/ /g' \
                debian/ubiquity/usr/lib/ubiquity/localechooser/localechooser \

Changed in ubuntustudio-meta (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntustudio-meta - 0.196

---------------
ubuntustudio-meta (0.196) eoan; urgency=medium

  * Refreshed dependencies
  * Added zfsutils-linux to desktop-core-recommends,
    desktop-recommends (LP: #1843768)

 -- Erich Eickmeyer <email address hidden> Sun, 06 Oct 2019 14:00:12 -0700

Changed in ubuntustudio-meta (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 19.10.15

---------------
ubiquity (19.10.15) eoan; urgency=medium

  [ Jean-Baptiste Lallement ]
  * debian/rules: grub-installer doesn't exist on some archs. Do not patch it
    in this cases.

  [ Iain Lane ]
  * Run debconf-updatepo to re-generate translation template

 -- Iain Lane <email address hidden> Mon, 07 Oct 2019 14:40:28 +0100

Changed in ubiquity (Ubuntu):
status: New → Fix Released
Sean Davis (bluesabre) on 2019-10-09
Changed in xubuntu-meta (Ubuntu):
assignee: nobody → Sean Davis (bluesabre)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xubuntu-meta - 2.230

---------------
xubuntu-meta (2.230) eoan; urgency=medium

  * Refreshed dependencies
  * Added support for ZFS in Ubiquity (LP: #1843768)
    - Added zfs-initramfs to core-recommends [amd64 arm64 ppc64el s390x],
      desktop-recommends [amd64 arm64 ppc64el s390x]
    - Added zfsutils-linux to core-recommends, desktop-recommends
    - Added zsys to core-recommends [amd64 arm64 armhf i386 ppc64el],
      desktop-recommends [amd64 arm64 armhf i386 ppc64el]

 -- Sean Davis <email address hidden> Wed, 09 Oct 2019 19:37:14 -0400

Changed in xubuntu-meta (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers