Book Image

Raspberry Pi for Secret Agents - Third Edition

Book Image

Raspberry Pi for Secret Agents - Third Edition

Overview of this book

This book is for all mischievous Raspberry Pi owners who’d like to see their computer transform into a neat spy gadget to be used in a series of practical pranks and projects. No previous skills are required to follow along, and if you’re completely new to Linux, you’ll pick up much of the basics for free. We’ll help you set up your Raspberry Pi Zero, Raspberry Pi 2 and Raspberry Pi 3 and guide you through a number of pranks and secret agent techniques that are so inconspicuous yet high on mischief. You’ll learn how to configure your operating system for maximum mischief and start exploring audio, video, or Wi-Fi techniques. We’ll show you how to record, listen, or talk to people from a distance and how to set up your own phone network. Then, you’ll plug in your webcam and set up a motion detector with an alarm and find out what the other computers on your Wi-Fi network are up to. Once you’ve mastered the techniques, we’ll combine them with a battery pack and GPS for the ultimate off-road spy kit.
Table of Contents (7 chapters)

Backing up your SD card

It happens to everyone at one point or another—you've put hours into perfecting your Raspbian installation, setting up applications, and hacking away at clever code, when out of nowhere your cat/dog/next-of-kin swoops down on your keyboard and triggers the self-destruct mechanism from the Erasing the Pi should it fall into the wrong hands section in Chapter 5, Taking Your Pi Off-Road.

Not to worry, Agent, backing up an SD card is quite simple as long as you've got the required disk space to store it.

Complete SD card backup in Windows

We'll be making a complete mirror image of your SD card. The data will be stored in a single file that will be the same size as that of your SD card. To do this, we'll use the Win32 Disk Imager application we installed earlier on to create our SD card image:

  1. Power off your Pi safely by running the following command and wait for the green activity LED to stop flickering:
    $ sudo shutdown -h now
    
  2. Move the SD card to your computer's card reader.
  3. Start the Win32 Disk Imager application on your PC.
  4. Ensure that the correct volume of your SD card is shown under Device.
  5. Click on the folder icon and navigate to the folder where you'd like to store the image.
  6. Enter a good file name for your image and click on Open. The standard file extension for image files is .img.
  7. Finally, after verifying that the full Image File path looks good, click on Read:
    Complete SD card backup in Windows

Once your image backup has completed successfully, you can compress it to save quite a bit of disk space. Just right-click on the image file and select Send to, then click on Compressed (zipped) folder.

Complete SD card backup in MAC OS X

We'll be making a complete mirror image of your SD card. The data will be stored in a single compressed file, which should result in a smaller size than that of your SD card. The steps to be followed for a data backup are as follows:

  1. Power off your Pi safely by running the following command and wait for the green activity LED to stop flickering:
    $ sudo shutdown -h now
    
  2. Move the SD card to your computer's card reader.
  3. Open up a terminal (located in /Applications/Utilities on the Mac).
  4. Type diskutillist to obtain a readout of all connected storage devices.
  5. To correctly identify your SD card, we're looking for a disk that has at least one Windows and one Linux entry under TYPE (there will be two of each type if we installed Raspbian through NOOBS).
  6. Take note of that disk's first IDENTIFIER field (disk1 in the screenshot).
  7. As a security precaution, we will first unmount the SD card so that no applications running in the background can change data as we make our backup. Use the following command, but replace [disk] with the IDENTIFIER field of your SD card:
    $ diskutil unmountdisk [disk]
    
  8. Now we'll do a complete copy of the SD card and store it in a file called agent_sdcard.img.gz on your desktop. Type the following command, but replace [disk] with the IDENTIFIER field of your SD card (note the letter r in front of disk):
    $ sudo dd if=/dev/r[disk] bs=4m | gzip > ~/Desktop/agent_sdcard.img.gz               
    
  9. You might be asked to input your user password so that sudo is allowed to start. The backup process doesn't produce much output as it runs, but a status report can be produced by pressing Ctrl + T in the Terminal window:

    Complete SD card backup in MAC OS X
    Backing up an SD card in Mac OS X

To restore your SD card from a backup image, repeat the previous steps, but use this command instead at step 7:

$ gzip -dc ~/Desktop/agent_sdcard.img.gz | sudo dd of=/dev/r[disk] bs=4m

Tip

If you type the wrong disk you could potentially overwrite your Mac's internal hard drive without any warning. Do triple-check!

Complete SD card backup in Linux

We'll be making a complete mirror image of your SD card. The data will be stored in a single compressed file, which should result in a smaller size than that of your SD card:

  1. Power off your Pi safely by running the following command, and wait for the green activity LED to stop flickering:
    $ sudo shutdown -h now
    
  2. Move the SD card to your computer's card reader.
  3. Open up a terminal session (Ctrl + Alt + T).
  4. Type sudo lsblk -f to obtain a readout of all connected storage devices.
  5. To correctly identify your SD card, we're looking for a disk that has at least one vfat and one ext4 entry under FSTYPE (there will be two of each type if we installed Raspbian through NOOBS).
  6. Take note of that disk's NAME (sdb in the screenshot).
  7. If any of the partitions under your disk's NAME have a MOUNTPOINT listed, you should unmount it first. Use the following command, but replace [mountpoint] with the mountpoint of your partition:
    $ sudo umount [mountpoint]
    
  8. Now we'll do a complete copy of the SD card and store it in a file called agent_sdcard.img.gz in your home directory. Type the following command, but replace [disk] with the NAME of your SD card:
    $ sudo dd if=/dev/[disk] bs=4M | gzip > ~/agent_sdcard.img.gz
    
  9. The backup process doesn't produce much output as it runs, but a status report can be produced by typing sudopkill-USR1dd in another terminal console:

    Complete SD card backup in Linux
    Backing up an SD card in Linux

To restore your SD card from a backup image, repeat the previous steps, but use this command instead at step 7:

$ gzip -dc ~/agent_sdcard.img.gz | sudo dd of=/dev/[disk] bs=4M

Tip

If you type the wrong disk you could potentially overwrite your computer's internal hard drive without any warning. Do triple-check!