From 163cdf97d2bb4e02ee3c8d3bd785573e89860eec Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 22 Oct 2024 22:42:46 +0200 Subject: [PATCH] erster wurf --- mint/make_swapvol.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 mint/make_swapvol.sh diff --git a/mint/make_swapvol.sh b/mint/make_swapvol.sh new file mode 100644 index 0000000..4b26bc2 --- /dev/null +++ b/mint/make_swapvol.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +TODO: Das muss noch entwickelt geteset werden + +# It is possible to use a swap file on btrfs, but there are some considerations that need taking care of. +# btrfs filesystem doesn't let to create snapshots if there is a working swap file on the subvolume. That means that it is highly recommended to place a swap file on a separate subvolume. +# Let's assume that the current swap is already off, the / is on /dev/sda1 and Ubuntu is installed with / on @ subvolume and /home is on @home subvolume. +# Mount /dev/sda1 to /mnt. + + sudo mount /dev/sda1 /mnt + +# If you run ls /mnt, you'll see @, @home and other subvolumes that may be there. + + # Create a new @swap subvolume. + + sudo btrfs sub create /mnt/@swap + +# Unmount /dev/sda1 from /mnt. + + sudo umount /mnt + +# Create /swap directory where we plan to mount the @swap subvolume. + + sudo mkdir /swap + +# Mount the @swap subvolume to /swap. + + sudo mount -o subvol=@swap /dev/sda1 /swap + +# Create the swap file. + + sudo touch /swap/swapfile + +# Set 600 permissions to the file. + + sudo chmod 600 /swap/swapfile + +# Disable COW for this file. + + sudo chattr +C /swap/swapfile + +# Set size of the swap file to 8G as an example. + + sudo dd if=/dev/zero of=/swap/swapfile bs=1M count=8192 + +# Format the swapfile. + + sudo mkswap /swap/swapfile + +# Turn the swap file on. + + sudo swapon /swap/swapfile + +# Now the new swap should be working. +# +# You also need to update /etc/fstab to mount all this on boot. Add there two lines: +# uuid from Dev +uuid=$(lsblk -n -o UUID /dev/sda1) +sudo echo "UUID=$uuid /swap btrfs subvol=@swap 0 0 /swap/swapfile none swap sw 0 0" >> /etc/fstab + +# The UUID is the one of your /dev/sda1. +