Skip to content
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

Btrfs root default with @root and @home subvolumes #286

Closed
wants to merge 5 commits into from

Conversation

mmstick
Copy link
Member

@mmstick mmstick commented Mar 9, 2022

Finished

Closes #221
Closes #256

@mmstick mmstick requested review from a team March 9, 2022 01:28
@mmstick mmstick marked this pull request as draft March 9, 2022 12:08
@mmstick mmstick marked this pull request as ready for review March 9, 2022 15:44
@mmstick mmstick marked this pull request as draft March 9, 2022 15:46
@mmstick mmstick force-pushed the btrfs branch 2 times, most recently from a0113d7 to 5d7d6b9 Compare March 14, 2022 13:25
@mmstick mmstick marked this pull request as ready for review March 15, 2022 21:38
Copy link
Contributor

@Absolucy Absolucy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, although I don't feel comfortable approving due to not being overly familiar with the internals of distinst.

I did see some areas where code neatness could be improved, mostly in the name of reducing indent levels and doing things in "less" steps.

cli/src/main.rs Outdated Show resolved Hide resolved
cli/src/main.rs Outdated Show resolved Hide resolved
crates/disk-types/src/partition.rs Outdated Show resolved Hide resolved
crates/disks/src/config/disk_trait.rs Outdated Show resolved Hide resolved
crates/disks/src/config/disk_trait.rs Outdated Show resolved Hide resolved
@Absolucy Absolucy requested a review from a team May 6, 2022 15:39
@linuxgnuru
Copy link

When trying to remove existing partitions the installer crashed. The previous install was a custom install with 512MB /boot, 4GB swap, btrfs (remainder of drive) for / with file encryption. I'm including the journalctl and installer logs.

journal.log

installer.log

@XV-02
Copy link

XV-02 commented May 11, 2022

While this seems to be installing a "clean install" onto a btrfs partition, I've had issues with trying to custom install to a btrfs partition. The install proceeds as desired, but on reboot, the computer hangs on the System76 splash screen.

@linuxgnuru
Copy link

@mmstick Retested and same issue with installer crashing. Attaching installer.log

Steps to recreate:

  • Install pop 22.04 custom install
  • 500MB /boot fat 32
  • 4GB swap
  • rest BTRFS
  • continue install as normal
  • reboot, kill installer and clone pop-os/pop
  • ./pop/scripts/apt add btrfs
  • sudo apt update && sudo apt upgrade
  • restart installer
  • select clean install
  • after a while installer will crash

installer.log

XV-02
XV-02 previously requested changes May 18, 2022
Copy link

@XV-02 XV-02 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to formalize a few of the issues we're seeing into a single request:

  • If you built a previous custom btrfs install using the currently released version of distinst, attempting a new clean install fails, as previously noted by @linuxgnuru
  • If you attempt a custom install over a previous btrfs clean install - both the custom install and prior clean install executed with this branch present - and just select and format the existing partitions, the system hangs on boot and reports i915 0000:00:02.0: [drm] *ERROR* CPU pipe A FIFO underrun: transcoder or displays a system76 splash screen.
  • Attempting to decrypt an encrypted btrfs partiton from a previous encrypted install fails during a refresh install. The "decrypt" button appears to do nothing.

@mmstick
Copy link
Member Author

mmstick commented May 18, 2022

So far I've successfully done

  • Custom install, reinstalled over encrypted install
  • Clean install over a custom install
  • Refreshed an encrypted btrfs install

@linuxgnuru
Copy link

Tested and looks ok

@XV-02
Copy link

XV-02 commented May 19, 2022

When attempting to refresh install from a non-btrfs iso, the install fails and renders the system conventionally unusable when restarted. This could be a situation if someone finds they need to roll-back to an older iso's install for some reason.

Refresh install over current ext4 based install retained previous file system, and succesfully completed.

@mmstick
Copy link
Member Author

mmstick commented May 19, 2022

The ability to refresh a subvolume-based installation requires this PR, since subvolume support is what this PR adds. Systems that are installed with this update will already have this version on their recovery partition.

@XV-02
Copy link

XV-02 commented May 19, 2022

Everything looks good to go. I'm holding off on approval per internal discussions. However, I would be comfortable to approve this once those discussions have settled, as evidence suggests this is functional and sane. The only risk appears to be attempting to use an older ISO to perform a refresh install, which represents an unusual and naturally counter-intuitive edge case, and I do not believe should be considered a blocker.

@XV-02 XV-02 self-requested a review May 19, 2022 16:56
@XV-02 XV-02 dismissed their stale review May 23, 2022 16:05

No longer relevent.

@why-not-try-calmer
Copy link

'been waiting for this for a long time :) Is there a blocker on this?

@jacobgkau
Copy link
Member

jacobgkau commented Jun 13, 2022

'been waiting for this for a long time :) Is there a blocker on this?

You can configure BTRFS manually using the custom install option if you want to use BTRFS now. I believe we are not currently planning to switch the default filesystem until the next major release of Pop!_OS (it will not happen during 22.04 LTS), since that is a major change.

@ximian
Copy link

ximian commented Jun 15, 2022

Weren't plans for updated ISO with btrfs branch of distinst with subvolume support?

@wmutschl
Copy link

What was the decision process to call the default subvolume @root and @home instead of the Ubuntu-based @ and @home or the Fedora-based root and home subvolume names? Or is there a way to change the names during the installation process.

@Conan-Kudo
Copy link

What was the decision process to call the default subvolume @root and @home instead of the Ubuntu-based @ and @home or the Fedora-based root and home subvolume names? Or is there a way to change the names during the installation process.

Putting the root filesystem in its own subvolume rather than putting it at the top-level makes it easy to blow away the rootfs and reinstall without blowing away the home data. The @ prefix is somewhat confusing for people, which is why Fedora doesn't use it for its subvolume names.

@jackpot51 jackpot51 deleted the branch old-master_jammy December 18, 2024 18:50
@jackpot51 jackpot51 closed this Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request]: btrfs subvolumes @ and @home Subvolume support Btrfs
10 participants