140 lines
5.8 KiB
Markdown
Raw Normal View History

2021-05-05 13:02:24 -04:00
<!--
Title: How to install Tails on USB flash drive or SD card on macOS
Description: Learn how to install Tails on USB flash drive or SD card on macOS.
Author: Sun Knudsen <https://github.com/sunknudsen>
Contributors: Sun Knudsen <https://github.com/sunknudsen>, 7aqdxe6f <https://github.com/7aqdxe6f>
2021-05-05 13:02:24 -04:00
Reviewers:
Publication date: 2021-05-05T14:49:08.692Z
Listed: true
-->
# How to install Tails on USB flash drive or SD card on macOS
2021-05-07 19:08:11 -04:00
[![Why Tails is not only for hacktivists and whistleblowers and how to get started](why-tails-is-not-only-for-hacktivists-and-whistleblowers-and-how-to-get-started.png)](https://www.youtube.com/watch?v=kZ4NHz-gjLo "Why Tails is not only for hacktivists and whistleblowers and how to get started")
2021-05-05 13:02:24 -04:00
## Requirements
- USB flash drive or SD card (faster is better)
2021-12-29 10:01:47 -05:00
- Computer running macOS Big Sur or Monterey
2021-05-05 13:02:24 -04:00
## 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/)
2021-11-05 09:40:41 -04:00
```console
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ uname -m | grep arm64 && echo 'export PATH=$PATH:/opt/homebrew/bin' >> ~/.zshrc && source ~/.zshrc
2021-05-05 13:02:24 -04:00
```
### Step 2: disable Homebrew analytics
```shell
brew analytics off
```
### Step 3: install [GnuPG](https://gnupg.org/)
```shell
brew install gnupg
```
2021-06-21 09:07:17 -04:00
### Step 4: import “Tails developers” PGP public key
2021-05-05 13:02:24 -04:00
```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
2021-12-29 10:01:47 -05:00
100 1341k 100 1341k 0 0 1451k 0 --:--:-- --:--:-- --:--:-- 1450k
2021-05-05 13:02:24 -04:00
gpg: key 0xDBB802B258ACD84F: 2170 signatures not checked due to missing keys
gpg: key 0xDBB802B258ACD84F: public key "Tails developers (offline long-term identity key) <tails@boum.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
2021-12-29 10:01:47 -05:00
gpg: key 0xA3A31BAD5A2A5B10: no user ID for key signature packet of class 10
2021-05-05 13:02:24 -04:00
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
👍
2021-07-21 19:48:34 -04:00
### Step 5: download [Tails](https://tails.boum.org/) release
2021-06-21 09:07:17 -04:00
2021-07-21 19:48:34 -04:00
Go to https://tails.boum.org/install/download/index.en.html and download latest release and associated PGP signature (found under “or download the OpenPGP signature”) to `~/Downloads` folder.
2021-06-21 09:07:17 -04:00
2022-03-02 07:38:18 -05:00
### Step 6: verify Tails release (learn how [here](../how-to-verify-pgp-digital-signatures-using-gnupg-on-macos/README.md))
2021-06-21 09:07:17 -04:00
2022-02-16 16:07:46 -05:00
> Heads-up: replace `4.25` with [latest release](https://tails.boum.org/install/download/index.en.html) semver.
2021-05-05 13:02:24 -04:00
```console
2021-12-29 10:01:47 -05:00
$ gpg --verify ~/Downloads/tails-amd64-4.25.img.sig
gpg: assuming signed data in '/Users/sunknudsen/Downloads/tails-amd64-4.25.img'
gpg: Signature made Mon 6 Dec 11:19:38 2021 EST
gpg: using RSA key 05469FB85EAD6589B43D41D3D21DAD38AF281C0B
2021-05-05 13:02:24 -04:00
gpg: Good signature from "Tails developers (offline long-term identity key) <tails@boum.org>" [unknown]
gpg: aka "Tails developers <tails@boum.org>" [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
2021-12-29 10:01:47 -05:00
Subkey fingerprint: 0546 9FB8 5EAD 6589 B43D 41D3 D21D AD38 AF28 1C0B
2021-05-05 13:02:24 -04:00
```
Good signature
👍
2021-06-21 09:07:17 -04:00
### Step 7: copy Tails to USB flash drive or SD card
2021-05-05 13:02:24 -04:00
2022-04-10 08:34:52 -04:00
> **WARNING: BE VERY CAREFUL WHEN RUNNING `DD` AS DATA CAN BE PERMANENTLY DESTROYED (BEGINNERS SHOULD CONSIDER USING [BALENAETCHER](https://www.balena.io/etcher/) INSTEAD).**
2021-05-05 13:02:24 -04:00
2022-02-16 16:07:46 -05:00
> Heads-up: run `diskutil list` to find disk ID of USB flash drive or SD card to overwrite with Tails (`disk4` in the following example).
2021-05-05 13:02:24 -04:00
2022-02-16 16:07:46 -05:00
> Heads-up: replace `diskn` and `rdiskn` with disk ID of USB flash drive or SD card (`disk4` and `rdisk4` in the following example) and `tails-amd64-4.25.img` with current image.
2021-05-05 13:02:24 -04:00
```console
$ diskutil list
2021-12-29 10:01:47 -05:00
/dev/disk0 (internal):
2021-05-05 13:02:24 -04:00
#: TYPE NAME SIZE IDENTIFIER
2021-12-29 10:01:47 -05:00
0: GUID_partition_scheme 500.3 GB disk0
1: Apple_APFS_ISC 524.3 MB disk0s1
2: Apple_APFS Container disk3 494.4 GB disk0s2
3: Apple_APFS_Recovery 5.4 GB disk0s3
2021-05-05 13:02:24 -04:00
2021-12-29 10:01:47 -05:00
/dev/disk3 (synthesized):
2021-05-05 13:02:24 -04:00
#: TYPE NAME SIZE IDENTIFIER
2021-12-29 10:01:47 -05:00
0: APFS Container Scheme - +494.4 GB disk3
2021-05-05 13:02:24 -04:00
Physical Store disk0s2
2021-12-29 10:01:47 -05:00
1: APFS Volume Macintosh HD 15.3 GB disk3s1
2: APFS Snapshot com.apple.os.update-... 15.3 GB disk3s1s1
3: APFS Volume Preboot 328.4 MB disk3s2
4: APFS Volume Recovery 815.1 MB disk3s3
5: APFS Volume Data 439.3 GB disk3s5
6: APFS Volume VM 7.5 GB disk3s6
/dev/disk4 (external, physical):
2021-05-05 13:02:24 -04:00
#: TYPE NAME SIZE IDENTIFIER
2021-12-29 10:01:47 -05:00
0: FDisk_partition_scheme *32.1 GB disk4
1: Windows_NTFS Untitled 32.1 GB disk4s1
2021-05-05 13:02:24 -04:00
$ sudo diskutil unmount /dev/diskn
2021-12-29 10:01:47 -05:00
disk4 was already unmounted or it has a partitioning scheme so use "diskutil unmountDisk" instead
2021-05-05 13:02:24 -04:00
$ sudo diskutil unmountDisk /dev/diskn (if previous step fails)
2021-12-29 10:01:47 -05:00
Unmount of all volumes on disk4 was successful
2021-05-05 13:02:24 -04:00
2021-12-29 10:01:47 -05:00
$ sudo dd bs=1m if=$HOME/Downloads/tails-amd64-4.25.img of=/dev/rdiskn
1139+0 records in
1139+0 records out
1194328064 bytes transferred in 49.463690 secs (24145551 bytes/sec)
2021-05-05 13:02:24 -04:00
$ sudo diskutil unmountDisk /dev/diskn
2021-12-29 10:01:47 -05:00
Unmount of all volumes on disk4 was successful
2021-05-05 13:02:24 -04:00
```
👍