Download an operating system SD card image for each system (setup and target). For the “setup” system, this will be Raspbian Jessie (the full version, not “Lite”)…2016-05-10 or later, whatever the current release is. For the “target” system…this depends on the project…sometimes it’ll use the same Raspbian Jessie image, others will use Raspbian Jessie Lite (which lacks the GUI desktop and other features), or an entirely different SD card image from another project.
“Burn” each OS to an SD card using a tool such as Etcher or your utility of choice. For the “setup” system running full Raspbian, this requires an 8 GB or larger card. For the “target” system, this depends…whatever the operating system requires, plus some extra working space for exchanging data…this could be as small as 2 GB for something like Raspbian Jessie Lite, or up to 32 GB maximum.
Keep track of which card is which…setup or target.
Boot and Configure Target System
Let’s set up the target system first, though I realize this is a bit counter-intuitive.
If your target system OS is based on a recent version of Raspbian Jessie (or Lite), one nice feature is that it will boot on any Raspberry Pi board. So if your target hardware is a feature-limited Model A+ or a Pi Zero, you can boot on a more capable system (Pi 3, etc.) which is faster and more easily networked, then move the card later.
Go through the usual first-boot configuration process. For Raspbian, that means logging in with the default “pi” / “raspberry” username and password and running the raspi-config utility…
sudo raspi-config
At the very least, you should expand the filesystem and set up the Internationalisation Options (especially the keyboard…if you’re getting unexpected characters when typing, this is why). Depending on the project this is going into, you may want to enable the camera, disable overscan (under Advanced Options), etc. Totally depends on the project…choose your own adventure.
With the basic setup done (it may prompt you to reboot…this is fine), you may want to get the Pi connected to your network to download additional software, apply updates, etc. That’s beyond the scope of this guide, but you’ll find pointers in the Learn Raspberry Pi series.
Basically…your goal is to get the target system card as close to finished as possible, all software installed and configured.
Once that’s ready, shut the system down gracefully…if working from the Raspbian command line, that’s…
sudo shutdown -h now
After the system has halted (it takes about 20 seconds or so), disconnect power, remove the SD card and put it into the USB card reader.
Boot and Configure the Setup System
Now we’ll repeat that process for the setup system…except this one will definitely be running the full Raspbian Jessie OS, so you’ll have a mouse and GUI desktop for all of this.
Once the basic system is configured to your liking, set up networking. Sometimes this is as easy as plugging in an Ethernet cable or using the WiFi icon near the top-right of the screen.
This Pi system must have a working internet connection to complete this guide.
Back Up Target SD Card
Put the target system’s SD card in a USB reader and plug it into your normal desktop computer, or wherever you originally “burned” the SD card images.
Most utilities for burning SD cards also have a feature for working the other direction…they can back up an SD card to a file. (Etcher doesn’t have this feature yet, but other utilities do.)
Make a backup image of your target SD card before proceeding. We’ll be doing some serious shenanigans on the next page. There’s the possibility of messing things up, so this “save point” is insurance against having to start completely from scratch.
Once you have a backup, eject the USB reader and plug it into the setup system.