Create a custom Raspberry Pi OS image

Create a Master File

To make a dd image master file of your customized Pi, insert your SD card into a USB adapter and plug it in to your Linux host. My Ubuntu laptop auto-mounts the partitions, although your system might not. Before making a dd image of the SD card, make sure the partitions on the card are not mounted:

$ sudo umount /dev/sda1
$ sudo umount /dev/sda2

Your SD card partition might not mount on /dev/sda, depending on how you computer is configured, so be sure you identify the correct device for your SD card.

Next, determine the last sector that the Raspberry Pi OS occupies on the SD card:

$ sudo fdisk -l

As shown in Figure 6, the last sector used by the second partition in this example is 4,173,823. Make note of this number, because you will need it when you enter the dd command.

Figure 6: Last sector of Pi OS.

Note that the dd command is unforgiving. It does exactly what you tell it, without annoying confirmation prompts. Use the command with care.

Now, create the image:

$ sudo dd if=/dev/sda of=/home/pi/pios_lite_2021-01-00_2GB.img count=4173822 status=progress

The if=/dev/sda (infile) parameter specifies that it reads from device /dev/sda, the of (outfile) parameter names the image file, the number after count is one less than the end sector noted in Figure 6, and the status parameter shows you what the command is doing.

Without using the count parameter, dd would copy the entire SD card, not just the desired Pi OS sectors. As shown in Figure 7, the command copied 2GB of data to the output file.

Figure 7: Creating an image with dd.

Success! You now have a custom Raspberry Pi OS image that burns quickly to an SD card of any size. It will automatically expand to the size of the target SD card and is ready to go on boot – no configuration required.

Remember to update the OS with

$ sudo apt update
$ sudo apt upgrade -y

when your custom image boots.


A custom Raspberry Pi operating system on an SD card can save you time and effort. I hope you found this guide useful and even learned a few things about the Raspberry Pi OS boot process along the way.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Disk Partitioning

    Partitioning prepares your disk to receive an operating system. We help you navigate this unfamiliar landscape safely.

  • Top 10 Knoppix Rescue Tricks

    The Knoppix Live Linux distro is packed with powerful tools for fixing broken systems. We ask Knoppix creator Klaus Knopper for his favorite Knoppix rescue tricks.

  • Command Line: Partitioning

    Despite the popularity of LVM, traditional partitioning is still preferred by some admins. We provide some tips to consider before choosing a partitioning scheme for your setup.

  • Parted Magic

    It's really annoying when a disk suddenly dies on you or a typo in a command deletes important data. The free Parted Magic Live distro offers help.

  • Ask Klaus!

    Klaus Knopper is the creator of Knoppix and co-founder of the LinuxTag expo. He currently works as a teacher, programmer, and consultant. If you have a configuration problem, or if you just want to learn more about how Linux works, send your questions to:

comments powered by Disqus