Site Tools


Sidebar

software:fedora:boot_backup_usbstick

What?

I found myself on a national holiday, with Fedora32 released, and wanting to upgrade my Fedora31 system. fedup has not failed for me in years, but I want a safety net. I have a single stick around, so let's

  • setup it to boot a Fedora32, for emergencies
  • and use the other part of the stick for backup of my homedir
  • that backup should be encrypted, and also be able to detect bit rot

Setup steps, Fedora 33

# Connect the stick, find out which device it got:
[root@電脳 ~]# cat /proc/partitions 
major minor  #blocks  name

 259        0  250059096 nvme0n1
 259        1     266240 nvme0n1p1
 259        2    1048576 nvme0n1p2
 259        3  248743239 nvme0n1p3
 253        0  240930816 dm-0
 253        1    7811072 dm-1
 253        2  240928768 dm-2
 253        3    7809024 dm-3
   8        0   60063744 sda  <---- 
[root@電脳 ~]# 

### install tools
dnf -y install pv cryptsetup rsync

### Fetch Fedora iso, and directly write it. Takes 2:22min for me. 
URL="http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/33/Server/x86_64/iso/Fedora-Server-dvd-x86_64-33-1.2.iso"
URL="https://download.fedoraproject.org/pub/fedora/linux/releases/33/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-33-1.2.iso"

wget -O - $URL | pv >/dev/sda

### Switch to unit "GB", create a new partition from
### offset 5GB until the end of the usb-stick
parted /dev/sda
(parted) u
Unit?  [compact]? GB      
(parted) mkpart
Partition type?  primary/extended? p                                      
File system type?  [ext2]?                                                
Start? 5GB                                                                
End? -1                                                                   
(parted) p                                                                
Model: SanDisk Ultra (scsi)
Disk /dev/sda: 61.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 2      0.00GB  0.01GB  0.01GB  primary  fat16        esp
 1      5.00GB  60.5GB  55.5GB  primary  ext2         lba

(parted) quit

### Now let's create LUKS+dm-integrity layer
cryptsetup luksFormat --type luks2 /dev/sda1 \
  --integrity hmac-sha256 --cipher aes-xts-plain64 -v
cryptsetup open /dev/sda1 luksusb
cryptsetup status luksusb
mkfs.xfs /dev/mapper/luksusb
mount /dev/mapper/luksusb /mnt/usbbackup

Actual backup

Opening the encrypted device now, doing the backup, and closing. This has to be done each time we want to backup, but the subsequent runs are quicker as only changes are transferred.

sudo cryptsetup luksOpen /dev/sda4 usbbackup
sudo mount /dev/mapper/usbbackup /mnt/usbbackup

rsync -arv \
        --delete \
        --exclude='Downloads/' \
        --exclude='.wine/' \
        --exclude='.cache/' \
        --exclude='.openra/' \
        --exclude='.local/share/Steam/' \
        /home/chris \
        /mnt/usbbackup/

sudo umount /mnt/usbbackup
sudo cryptsetup luksClose luksusb

Then you can reboot, and test out the system boots from the usbstick.

software/fedora/boot_backup_usbstick.txt · Last modified: 2024/03/03 09:57 by chris