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
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.
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 ).
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).
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
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.