Last active
January 18, 2017 00:55
-
-
Save SiKing/17a24e9b54815e18830b71b249337b95 to your computer and use it in GitHub Desktop.
Burn the Raspbian OS image to an SD card.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash -e | |
# | |
# Goal: | |
# Burn the Raspbian OS image to an SD card. | |
# | |
# Prerequisites: | |
# 1. Download image from https://www.raspberrypi.org/downloads/raspbian/. | |
# 2. Unzip the image. | |
# 3. Set the following variables: | |
# | |
RPI_IMAGE=~/Downloads/2016-05-27-raspbian-jessie-lite.img | |
SD_CARD=/dev/mmcblk0 | |
echo "Are we superuser?" | |
[[ $EUID -eq 0 ]] | |
echo "OK" | |
echo "Do we have image $RPI_IMAGE?" | |
file "$RPI_IMAGE" | grep --quiet "DOS/MBR boot sector" | |
echo "OK" | |
echo "Is card $SD_CARD plugged in?" | |
[[ -e "$SD_CARD" ]] | |
echo "OK" | |
echo "Is card $SD_CARD not mounted?" | |
if df | grep --quiet "$SD_CARD" | |
then | |
echo "No: umount all partitions that belong to $SD_CARD." | |
df --exclude-type=tmpfs | awk --assign=PATTERN="$SD_CARD" '$1 ~ PATTERN {system("umount " $1)}' | |
# --exclude-type to shorten list | |
# --assign to pass SD_CARD from bash into awk script | |
# $1 ~ PATTERN act only on lines that contain SD_CARD, i.e. use awk to simulate grep | |
fi | |
echo "OK" | |
echo "!!!!!About to DESTROY ALL DATA ON CARD $SD_CARD!!!!!" | |
echo "There is no progress indicator, and this could run for several minutes." | |
read -n1 -r -p "Press any key to continue, Ctrl-C to abort..." ignore | |
printf "\nRunning...\n" | |
# use the more conservative 1M blocks - takes more time tho' | |
dd bs=1M if="$RPI_IMAGE" of="$SD_CARD" | |
echo "Done." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment