diff --git a/how-to-install-tails-on-usb-flash-drive-or-sd-card-on-macos/README.md b/how-to-install-tails-on-usb-flash-drive-or-sd-card-on-macos/README.md new file mode 100644 index 0000000..49ee322 --- /dev/null +++ b/how-to-install-tails-on-usb-flash-drive-or-sd-card-on-macos/README.md @@ -0,0 +1,146 @@ + + +# How to install Tails on USB flash drive or SD card on macOS + +## Requirements + +- Computer running macOS Mojave or Catalina +- USB flash drive or SD card (faster is better) + +## Caveats + +- When copy/pasting commands that start with `$`, strip out `$` as this character is not part of the command + +## Guide + +### Step 1: install [Homebrew](https://brew.sh/) + +```shell +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" +``` + +### Step 2: disable Homebrew analytics + +```shell +brew analytics off +``` + +### Step 3: install [GnuPG](https://gnupg.org/) + +```shell +brew install gnupg +``` + +### Step 4: download latest release of [Tails](https://tails.boum.org/install/download/index.en.html) + +### Step 5: set Tails release semver environment variable + +> Heads-up: replace `4.18` with [latest release](https://tails.boum.org/install/download/index.en.html) semver. + +```shell +TAILS_RELEASE_SEMVER=4.18 +``` + +### Step 6: download PGP signature of Tails release + +```shell +curl -o ~/Downloads/tails-amd64-$TAILS_RELEASE_SEMVER.img.sig https://tails.boum.org/torrents/files/tails-amd64-$TAILS_RELEASE_SEMVER.img.sig +``` + +### Step 7: import “Tails developers” PGP public key + +```console +$ curl https://tails.boum.org/tails-signing.key | gpg --import + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed +100 1334k 100 1334k 0 0 92536 0 0:00:14 0:00:14 --:--:-- 212k +gpg: key 0xDBB802B258ACD84F: 2170 signatures not checked due to missing keys +gpg: key 0xDBB802B258ACD84F: public key "Tails developers (offline long-term identity key) " imported +gpg: Total number processed: 1 +gpg: imported: 1 +gpg: key 0x4E2C6E8793298290: no user ID for key signature packet of class 10 +gpg: key 0x4E2C6E8793298290: no user ID for key signature packet of class 12 +gpg: key 0x4E2C6E8793298290: no user ID for key signature packet of class 12 +gpg: marginals needed: 3 completes needed: 1 trust model: pgp +gpg: depth: 0 valid: 3 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 3u +``` + +imported: 1 + +👍 + +### Step 8: verify Tails release using GnuPG (learn how [here](../how-to-verify-pgp-digital-signatures-using-gnupg-on-macos)) + +```console +$ gpg --verify ~/Downloads/tails-amd64-$TAILS_RELEASE_SEMVER.img.sig +gpg: assuming signed data in '/Users/sunknudsen/Downloads/tails-amd64-4.18.img' +gpg: Signature made Mon 19 Apr 11:30:01 2021 EDT +gpg: using EDDSA key CD4D4351AFA6933F574A9AFB90B2B4BD7AED235F +gpg: Good signature from "Tails developers (offline long-term identity key) " [unknown] +gpg: aka "Tails developers " [unknown] +gpg: WARNING: This key is not certified with a trusted signature! +gpg: There is no indication that the signature belongs to the owner. +Primary key fingerprint: A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F + Subkey fingerprint: CD4D 4351 AFA6 933F 574A 9AFB 90B2 B4BD 7AED 235F +``` + +Good signature + +👍 + +### Step 9: clone Tails to USB flash drive or SD card + +> WARNING: DO NOT RUN THE FOLLOWING COMMANDS AS-IS. + +Run `diskutil list` to find disk ID of USB flash drive or SD card to overwrite with Tails (`disk2` in the following example). + +Replace `diskn` and `rdiskn` with disk ID of USB flash drive or SD card (`disk2` and `rdisk2` in the following example) and `tails-amd64-4.18.img` with current image. + +```console +$ diskutil list +/dev/disk0 (internal, physical): + #: TYPE NAME SIZE IDENTIFIER + 0: GUID_partition_scheme *500.3 GB disk0 + 1: EFI EFI 209.7 MB disk0s1 + 2: Apple_APFS Container disk1 500.1 GB disk0s2 + +/dev/disk1 (synthesized): + #: TYPE NAME SIZE IDENTIFIER + 0: APFS Container Scheme - +500.1 GB disk1 + Physical Store disk0s2 + 1: APFS Volume Macintosh HD - Data 340.9 GB disk1s1 + 2: APFS Volume Preboot 85.9 MB disk1s2 + 3: APFS Volume Recovery 529.0 MB disk1s3 + 4: APFS Volume VM 3.2 GB disk1s4 + 5: APFS Volume Macintosh HD 11.3 GB disk1s5 + +/dev/disk2 (internal, physical): + #: TYPE NAME SIZE IDENTIFIER + 0: FDisk_partition_scheme *15.9 GB disk2 + 1: Windows_FAT_32 boot 268.4 MB disk2s1 + 2: Linux 15.7 GB disk2s2 + +$ sudo diskutil unmount /dev/diskn +disk2 was already unmounted or it has a partitioning scheme so use "diskutil unmountDisk" instead + +$ sudo diskutil unmountDisk /dev/diskn (if previous step fails) +Unmount of all volumes on disk2 was successful + +$ sudo dd bs=1m if=$HOME/Downloads/tails-amd64-4.18.img of=/dev/rdisk2 +1131+0 records in +1131+0 records out +1185939456 bytes transferred in 44.708618 secs (26525970 bytes/sec) + +$ sudo diskutil unmountDisk /dev/diskn +Unmount of all volumes on disk2 was successful +``` + +👍