element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experts, Learning and Guidance
  • Technologies
  • More
Experts, Learning and Guidance
Ask an Expert Forum SD card imaging utility?
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Experts, Learning and Guidance to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 13 replies
  • Answers 11 answers
  • Subscribers 303 subscribers
  • Views 1920 views
  • Users 0 members are here
  • imager
  • sdcard
Related
See a helpful answer?

Be sure to click 'more' and select 'suggest as answer'!

If you're the thread creator, be sure to click 'more' then 'Verify as Answer'!

SD card imaging utility?

embeddedguy
embeddedguy over 5 years ago

Hi Friends,

 

I have a lot of Sd card and usually nowadays find it difficult to either formate or manage SD cards to write a new image for RaspberryPi. Anyone else also struggle to do that? Do you have any recommendations for tools?

  • Sign in to reply
  • Cancel

Top Replies

  • shabaz
    shabaz over 5 years ago +2 suggested
    Hi Ujjval, Problems might be very possible with poor quality (or fake capacity) SD cards. I only purchase good brands from a reputable seller and have had 100% success forever. There's no detail so perhaps…
  • cstanton
    cstanton over 5 years ago +2 suggested
    Linux: Grab an SDCard, ideally larger than 8gByte Download the Raspbian image from raspberrypi.org, you then have to extract the image from the archive because it is usually in a .zip file, this means…
  • Gough Lui
    Gough Lui over 5 years ago in reply to cstanton +2 suggested
    Actually dd can be as fast as any other tool - the problem is by default, it copies using a block size that is much too small (probably just 512 bytes) adding a lot of CPU overhead. Adding a larger block…
Parents
  • cstanton
    0 cstanton over 5 years ago

    Linux:

    1. Grab an SDCard, ideally larger than 8gByte
    2. Download the Raspbian image from raspberrypi.org, you then have to extract the image from the archive because it is usually in a .zip file, this means you'll usually have to install 'unzip' using your package manager
    3. Insert your SDCard, find its mount point, typically dmesg will tell you (for example, /dev/sdb0)
    4. use dd to write the image to the SDCard

     

    A couple of steps here that catch you out typically:

    • Your user may not have the correct privileges to do this, you may have to elevate your privileges via superuser (sudo)
    • The SDCard you're using might not have enough space, 8gByte SDCard and an 8gByte image may not match up properly
    • SDCard you're using might be damaged, usually the default failure mode is that they go into 'read only' mode
    • dd can be slow, there are ways to do this faster, stack overflow has good tips for this, as does searching on google.
    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Gough Lui
    0 Gough Lui over 5 years ago in reply to cstanton

    Actually dd can be as fast as any other tool - the problem is by default, it copies using a block size that is much too small (probably just 512 bytes) adding a lot of CPU overhead. Adding a larger block size argument will make things faster, if not equally fast, as most other solutions - e.g. "bs=8M" for an 8MByte block size. So instead of using 'dd if=image.img of=/dev/sdx', you would use 'dd if=image.img of=/dev/sdx bs=8M'. Try it yourself and see the difference! It is by far the easiest way to do things on Linux, but be doubly sure you have the right devices or you could end up with data destroyer instead ... the other nickname for dd. Best to try fdisk -l to work out what's what.

     

    A big problem with image management is that almost every brand of SD card has a different number of blocks for a different capacity size. It is hence not easily possible to image a Sandisk 32GB card and write it to a Samsung 32GB card, at least without some intervention. If you check fdisk's output and the size of the destination device is equal to or larger than the image file, you don't need to do anything. But if it's the other way around, even by a few kB, you will need to take some action. The easiest way to deal with this issue is to edit the image file by mounting it as a loopback device, resizing the main partition smaller (ideally, as small as possible to give you the widest latitude to image to other cards, but with a margin to allow it to boot), truncating the image file, writing it to your SD card, booting up and resizing the partition to fill the card again (e.g. via sudo raspi-config).

     

    You will find that running Linux is actually quite advantageous in this regard, because these kinds of things can be more easily accomplished under Linux than Windows (for example).

     

    - Gough

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Reply
  • Gough Lui
    0 Gough Lui over 5 years ago in reply to cstanton

    Actually dd can be as fast as any other tool - the problem is by default, it copies using a block size that is much too small (probably just 512 bytes) adding a lot of CPU overhead. Adding a larger block size argument will make things faster, if not equally fast, as most other solutions - e.g. "bs=8M" for an 8MByte block size. So instead of using 'dd if=image.img of=/dev/sdx', you would use 'dd if=image.img of=/dev/sdx bs=8M'. Try it yourself and see the difference! It is by far the easiest way to do things on Linux, but be doubly sure you have the right devices or you could end up with data destroyer instead ... the other nickname for dd. Best to try fdisk -l to work out what's what.

     

    A big problem with image management is that almost every brand of SD card has a different number of blocks for a different capacity size. It is hence not easily possible to image a Sandisk 32GB card and write it to a Samsung 32GB card, at least without some intervention. If you check fdisk's output and the size of the destination device is equal to or larger than the image file, you don't need to do anything. But if it's the other way around, even by a few kB, you will need to take some action. The easiest way to deal with this issue is to edit the image file by mounting it as a loopback device, resizing the main partition smaller (ideally, as small as possible to give you the widest latitude to image to other cards, but with a margin to allow it to boot), truncating the image file, writing it to your SD card, booting up and resizing the partition to fill the card again (e.g. via sudo raspi-config).

     

    You will find that running Linux is actually quite advantageous in this regard, because these kinds of things can be more easily accomplished under Linux than Windows (for example).

     

    - Gough

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube