Abstract - last modified 2019-03-09
Fix limitations of the original Linux Mint LMDE 3 (debian edition) installer contained with the current lmde3-iso to create a timeshift conformant btrfs-setup using /@ and optional /@home sub-volumes.
Use at your own risk - you have to read and accept the disclaimer
Motivation
The installer of Linux Mint LMDE 3 (debian edition) of the current lmde3-iso is not able to setup /@ and /@home -sub-volumes.
Installation at btrfs-volumes without sub-volumes does prevent the use of the timeshift btrfs snapshot feature.
Objective
The workaround adds the required options to the installer and adjusts the setup to make use of the sub-volumes instead of mounting btrfs volumes straight at / (or /home ).
Remarks
The workaround will require you to perform a fresh setup of LMDE 3.
You need to download an updated version of the installer from the official git-repository, which got the required features added (missing at the released version of the lmde3 iso).
As the required modifications are merged to the master-branch since 2019-03-07, there should be no more need to grab an in-official branch of the installer (special thanks to clem@linuxmint for integrating it).
There are still some "bits" missing - like translations of messages - and the final GUI might change with the next lmde-release too.
The password of the user "mint" of the live-system is empty - just press ENTER when being asked for it.
To paste commands to your terminal, either right-click into the terminal and select "paste" from the context-menu, or make the terminal the active window and press SHIFT+CTRL+V .
(copy&paste in terminals require to use SHIFT+CTRL+C and SHIFT+CTRL+V ; as CTRL+C is used there to abort running commands).
Steps
1 - Backup data
Backup any important data. To use sub-volumes on btrfs will require you to reformat the root-filesystem. A dedicated btrfs /home -partition could be reused without formatting, but the original data will be located "outside" the regular file-structure on the running install and require extra steps to move related files to the /@home -sub-volume later. Thus in the following it's assumed the install will replace existing data.
2 - live-lmde3 - preparations
Create a bootable lmde3 media (dvd or usb stick) and boot it.
In case you are not using an us-English keyboard, you should configure your keyboard-layout using Menu->Preferences->Keyboard. Switch to the "layout" section of the shown dialog and add yours there using the "+" button.
Close the dialog and switch the keyboard layout by clicking onto the small country-flag in the panel-tray on the lower-right.
Open a terminal update the current package list and install git to be able to grab the files of the updated installer.
apt update apt install git
3 - download modifications
Starting in the mint users home-directory, download the live-installer from git and switch into the live-installer directory afterwards.
cd git clone http://github.com/linuxmint/live-installer cd live-installer
As the original pull-request has been merged to the master-branch in the meantime, the following alternative can be skipped (normally)! BUT - as there might be other (conflicting) merges get added later on, one could try to grab the original modification for btrfs-support explicitly only:
# USE ONLY IN CASE OF CONFLICTS ! cd git clone http://github.com/linuxmint/live-installer cd live-installer git fetch origin pull/94/head git checkout -b pullrequest FETCH_HEAD
Replace original files with the updated versions.
vp="usr/lib/live-installer" sudo cp $vp/frontend/gtk_interface.py /$vp/frontend sudo cp $vp/installer.py /$vp sudo cp $vp/partitioning.py /$vp
4 - perform the setup
Launch the installer using the desktop-icon. Follow setup-pages until you reach the partitioning section.
Prepare your partitions as needed using the partition-options = re-use existing ones or add partitions for your root-volume and optional for a separate home-volume.
5 - assign @ and @home
Select the root-partition, right-click onto it and select "Edit" to get access to the additional subvolume-options. Select /@ as mountpoint (instead of / ) from the available selections. Select "format as btrfs" (is obligatory for the root-fs).
Optional, if you are using a separate btrfs-partition for your home-directory: Select the home-partition and assign it to /@home as mountpoint (instead of /home ) the same way. If the partition is already using btrfs and does contain preexisting data, (which you want to recover later) you could leave the format-option empty (as the format-option is optional for a home-partition).
6 - continue setup
After assignment of other partitions as needed, continue the setup and finish the install. The installed lmde3 should now offer a working btrfs-option with timeshift.
Good luck - have fun
Post install
Due to the nature of a sub-volume, files and folders of a previous install will reside "outside" the /@home sub-volume of the installed/running system .
In case you want to reclaim (or delete) files of a preexisting btrfs home-partition, you should run a live-mint to have easier access to all files.