Skip to content
Create a distributable image from an SD card
Branch: master
Clone or download
Pull request Compare This branch is even with zymbit:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

This shell script creates a distributable image from a Raspberry Pi SD card.

NOTE: This script has not been used for imaging irreplaceable data. While this script should not be destructive, it modifies the filesystem and partition table.

It can be run like this:

bash /dev/sda

What does the script do

Under the hood the script performs the following operations:

  • ensures the first partition is fat32 and the second partition ext4
  • fixes any errors on the filesystem
  • shrinks the Linux filesystem to its smallest size
  • shrinks the Linux partition to the size of the filesystem + small buffer
  • creates a compressed image from the given device
  • expands the partition and filesystem back to their largest sizes

Flash SD card with the image


Replace <device> with the location of your SD card; e.g. /dev/sda:

unzip -p | sudo dd bs=1M of=<device>


Replace <device> with the location of your SD card; e.g. /dev/rdisk1:

unzip -p | sudo dd bs=1m of=<device>
You can’t perform that action at this time.