Mac Zip Directory Command Line



Contents
  • Get the Flutter SDK
  • iOS setup
  • Android setup
  • ADB Commands List Directory. Below is a list of some really useful ADB commands you should try to debug your Android phone, reboot it, sideload APKs, flashable ZIPs, push and pull files, uninstall apps and various other things.
  • To develop Flutter apps for iOS, you need a Mac with Xcode installed. Install the latest stable version of Xcode (using web download or the Mac App Store). Configure the Xcode command-line tools to use the newly-installed version of Xcode by running the following from the command line.

System requirements

However, the mantra is, if it can be done natively via the GUI then there is likely a way to do it via batch,.vbs, or some other type of script within the command line. Since windows has had the 'send to' option to create a zip file, I knew there had to be a way to do it via command line and I found some options.

To install and run Flutter,your development environment must meet these minimum requirements:

  • Operating Systems: macOS (64-bit)
  • Disk Space: 2.8 GB (does not include disk space for IDE/tools).
  • Tools: Flutter uses git for installation and upgrade. We recommendinstalling Xcode, which includes git, but you can also install git separately.

Important: If you’re installing on a Mac with the latest Apple M1 processor, you may find these supplementary notes useful reading as we complete support for the new Apple Silicon architecture.

Command

Get the Flutter SDK

  1. Download the following installation bundle to get the lateststable release of the Flutter SDK:

    For other release channels, and older builds,see the SDK releases page.

  2. Extract the file in the desired location, for example:

  3. Add the flutter tool to your path:

    This command sets your PATH variable for thecurrent terminal window only.To permanently add Flutter to your path, seeUpdate your path.

You are now ready to run Flutter commands!

Note: To update an existing version of Flutter, see Upgrading Flutter.

Run flutter doctor

Run the following command to see if there are any dependencies you need toinstall to complete the setup (for verbose output, add the -v flag):

Directory

This command checks your environment and displays a report to the terminalwindow. The Dart SDK is bundled with Flutter; it is not necessary to installDart separately. Check the output carefully for other software you mightneed to install or further tasks to perform (shown in bold text).

For example:

The following sections describe how to perform these tasks and finish the setupprocess.

Once you have installed any missing dependencies, run the flutter doctorcommand again to verify that you’ve set everything up correctly.

Downloading straight from GitHub instead of using an archive

This is only suggested for advanced use cases.

You can also use git directly instead of downloading the prepared archive. For example,to download the stable branch:

Update your path, and run flutter doctor. That will let you know if there areother dependencies you need to install to use Flutter (e.g. the Android SDK).

If you did not use the archive, Flutter will download necessary development binaries as theyare needed (if you used the archive, they are included in the download). You may wish topre-download these development binaries (for example, you may wish to do this when settingup hermetic build environments, or if you only have intermittent network availability). Todo so, run the following command:

For additional download options, see flutter help precache.

Warning: The flutter tool uses Google Analytics to anonymously report feature usage statistics and basic crash reports. This data is used to help improve Flutter tools over time.

Flutter tool analytics are not sent on the very first run. To disable reporting, type flutter config --no-analytics. To display the current setting, type flutter config. If you opt out of analytics, an opt-out event is sent, and then no further information is sent by the Flutter tool.

By downloading the Flutter SDK, you agree to the Google Terms of Service. Note: The Google Privacy Policy describes how data is handled in this service.

Moreover, Flutter includes the Dart SDK, which may send usage metrics and crash reports to Google.

Update your path

You can update your PATH variable for the current session atthe command line, as shown in Get the Flutter SDK.You’ll probably want to update this variable permanently,so you can run flutter commands in any terminal session.

The steps for modifying this variable permanently forall terminal sessions are machine-specific.Typically you add a line to a file that is executedwhenever you open a new window. For example:

  1. Determine the path of your clone of the Flutter SDK.You need this in Step 3.
  2. Open (or create) the rc file for your shell.Typing echo $SHELL in your Terminal tells youwhich shell you’re using.If you’re using Bash,edit $HOME/.bash_profile or $HOME/.bashrc.If you’re using Z shell, edit $HOME/.zshrc.If you’re using a different shell, the file pathand filename will be different on your machine.
  3. Add the following line and change[PATH_OF_FLUTTER_GIT_DIRECTORY] to bethe path of your clone of the Flutter git repo:

  4. Run source $HOME/.<rc file>to refresh the current window,or open a new terminal window toautomatically source the file.
  5. Verify that the flutter/bin directoryis now in your PATH by running:

    Verify that the flutter command is available by running:

Note: As of Flutter’s 1.19.0 dev release, the Flutter SDK contains the dart command alongside the flutter command so that you can more easily run Dart command-line programs. Downloading the Flutter SDK also downloads the compatible version of Dart, but if you’ve downloaded the Dart SDK separately, make sure that the Flutter version of dart is first in your path, as the two versions might not be compatible. The following command (on macOS, linux, and chrome OS), tells you whether the flutter and dart commands originate from the same bin directory and are therefore compatible. (Some versions of Windows support a similar where command.)

As shown above, the two commands don’t come from the same bin directory. Update your path to use commands from /path-to-flutter-sdk/bin before commands from /usr/local/bin (in this case). After updating your shell for the change to take effect, running the which or where command again should show that the flutter and dart commands now come from the same directory.

To learn more about the dart command, run dart -h from the command line, or see the dart tool page.

Platform setup

macOS supports developing Flutter apps in iOS, Android,and the web (technical preview release).Complete at least one of the platform setup steps now,to be able to build and run your first Flutter app.

iOS setup

Install Xcode

To develop Flutter apps for iOS, you need a Mac with Xcode installed.

  1. Install the latest stable version of Xcode(using web download or the Mac App Store).
  2. Configure the Xcode command-line tools to use thenewly-installed version of Xcode byrunning the following from the command line:

    This is the correct path for most cases,when you want to use the latest version of Xcode.If you need to use a different version,specify that path instead.

  3. Make sure the Xcode license agreement is signed byeither opening Xcode once and confirming or runningsudo xcodebuild -license from the command line.

Versions older than the latest stable version may still work,but are not recommended for Flutter development.Using old versions of Xcode to target bitcode is notsupported, and is likely not to work.

With Xcode, you’ll be able to run Flutter apps onan iOS device or on the simulator.

Set up the iOS simulator

To prepare to run and test your Flutter app on the iOS simulator,follow these steps:

  1. On your Mac, find the Simulator via Spotlight orby using the following command:

  2. Make sure your simulator is using a 64-bit device(iPhone 5s or later) by checking the settings inthe simulator’s Hardware > Device menu.
  3. Depending on your development machine’s screen size,simulated high-screen-density iOS devicesmight overflow your screen. Grab the corner of thesimulator and drag it to change the scale. You can alsouse the Window > Physical Size or Window > Pixel Accurateoptions if your computer’s resolution is high enough.
    • If you are using a version of Xcode olderthan 9.1, you should instead set the device scalein the Window > Scale menu.

Create and run a simple Flutter app

To create your first Flutter app and test your setup,follow these steps:

  1. Create a new Flutter app by running the following from thecommand line:

  2. A my_app directory is created, containing Flutter’s starter app.Enter this directory:

  3. To launch the app in the Simulator,ensure that the Simulator is running and enter:

Deploy to iOS devices

To deploy your Flutter app to a physical iOS deviceyou’ll need to set up physical device deployment in Xcodeand an Apple Developer account. If your app is using Flutter plugins,you will also need the third-party CocoaPods dependency manager.

  1. You can skip this step if your apps do not depend onFlutter plugins with native iOS code.Install and set up CocoaPods by running the following commands:

    Note: The default version of Ruby requires sudo to install the CocoaPods gem. If you are using a Ruby Version manager, you may need to run without sudo.

  2. Follow the Xcode signing flow to provision your project:

    1. Open the default Xcode workspace in your project byrunning open ios/Runner.xcworkspace in a terminalwindow from your Flutter project directory.
    2. Select the device you intend to deploy to in the devicedrop-down menu next to the run button.
    3. Select the Runner project in the left navigation panel.
    4. In the Runner target settings page,make sure your Development Team is selectedunder Signing & Capabilities > Team.

      When you select a team,Xcode creates and downloads a Development Certificate,registers your device with your account,and creates and downloads a provisioning profile (if needed).

      • To start your first iOS development project,you might need to sign intoXcode with your Apple ID. Development and testing is supported for any Apple ID.Enrolling in the Apple Developer Program is required todistribute your app to the App Store.For details about membership types,see Choosing a Membership.
      • The first time you use an attached physical device for iOSdevelopment, you need to trust both your Mac and theDevelopment Certificate on that device.Select Trust in the dialog prompt whenfirst connecting the iOS device to your Mac.

        Then, go to the Settings app on the iOS device,select General > Device Managementand trust your Certificate.For first time users, you may need to selectGeneral > Profiles > Device Management instead.

      • If automatic signing fails in Xcode, verify that the project’sGeneral > Identity > Bundle Identifier value is unique.

  3. Start your app by running flutter runor clicking the Run button in Xcode.

Android setup

Note: Flutter relies on a full installation of Android Studio to supply its Android platform dependencies. However, you can write your Flutter apps in a number of editors; a later step discusses that.

Install Android Studio

  1. Download and install Android Studio.
  2. Start Android Studio, and go through the ‘Android Studio Setup Wizard’.This installs the latest Android SDK, Android SDK Command-line Tools,and Android SDK Build-Tools, which are required by Flutterwhen developing for Android.

Set up your Android device

To prepare to run and test your Flutter app on an Android device,you need an Android device running Android 4.1 (API level 16) or higher.

  1. Enable Developer options and USB debugging on your device.Detailed instructions are available in theAndroid documentation.
  2. Windows-only: Install the Google USBDriver.
  3. Using a USB cable, plug your phone into your computer. If prompted on yourdevice, authorize your computer to access your device.
  4. In the terminal, run the flutter devices command to verify thatFlutter recognizes your connected Android device. By default,Flutter uses the version of the Android SDK where your adbtool is based. If you want Flutter to use a different installationof the Android SDK, you must set the ANDROID_SDK_ROOT environmentvariable to that installation directory.

Set up the Android emulator

To prepare to run and test your Flutter app on the Android emulator,follow these steps:

  1. EnableVM accelerationon your machine.
  2. Launch Android Studio, click the AVD Managericon, and select Create Virtual Device…
    • In older versions of Android Studio, you should insteadlaunch Android Studio > Tools > Android > AVD Manager and selectCreate Virtual Device…. (The Android submenu is only presentwhen inside an Android project.)
    • If you do not have a project open, you can choose Configure > AVD Manager and select Create Virtual Device…
  3. Choose a device definition and select Next.
  4. Select one or more system images for the Android versions you wantto emulate, and select Next.An x86 or x86_64 image is recommended.
  5. Under Emulated Performance, select Hardware - GLES 2.0 to enablehardwareacceleration.
  6. Verify the AVD configuration is correct, and select Finish.

    For details on the above steps, see ManagingAVDs.

  7. In Android Virtual Device Manager, click Run in the toolbar.The emulator starts up and displays the default canvas for yourselected OS version and device.

Web setup

Flutter has support for building web applications in thestable channel. Any app created in Flutter 2 automaticallybuilds for the web. To add web support to an existing app, followthe instructions on Building a web application with Flutter when you’ve completed the setup above.

Next step

Set up your preferred editor.


  • 3Create your own
    • 3.3Flashing the SD Card using Windows
    • 3.4Flashing the SD card using Mac OS X
    • 3.5Flashing the SD Card using Linux (including on a Raspberry Pi!)
  • 7References


Getting Started:

Buying Guide - for advice on buying the Raspberry Pi.

SD Card Setup - for information on how to prepare the SD Card used to boot your Raspberry Pi.

Basic Setup - for help with buying / selecting other hardware and setting it up.

Beginners Guide - you are up and running, now what can you do?

Latest RPi 4 Topics - Recent topics on Raspberry Pi 4 and the Pi OS

Mac Zip Directory Command Line Linux

Advanced Setup - for more extensive information on setting up.

Trouble Shooting - some things to check if things don't work as expected.

The Raspberry Pi will not start without a properly formatted SD Card, containing the bootloader and a suitable operating system. Many problems with booting the Raspberry Pi are a result of an improperly formatted or corrupted card. Make sure that you insert the card before powering on the Raspberry Pi, and that you shutdown the Raspberry Pi before unplugging the card. If you do have problems booting the Raspberry Pi, see the trouble shooting page first.

You will also need to choose a distribution. Available distributions are shown here; you will need the Raspberry Pi bootloader to launch your distribution, so you need one for the Raspberry Pi and cannot download a PC based distribution and use that. Note that you can have several SD Cards with a separate distribution on each, then power off, swap cards and restart the Raspberry Pi to use that card.

Some Raspberry Pi kits will come with a ready-to-go card with the distribution pre-installed, or these can be bought separately. There is more on this below.

If you don't have a pre-installed card you will need to prepare your own. Make sure you get a reasonable quality card rather than a cheap one. Check the SD Card list if you are not sure. Warning! When you write the Raspberry Pi image to your SD card you will lose all data that was on the card. Official images are available from http://www.raspberrypi.org/downloads.

Note: It is highly recommended that you start with the latest official NOOBS installer: check the Raspberry Pi official website (http://www.raspberrypi.org/downloads) for the current version. This makes the process of installing an operating system as easy as copying a few files in a zip archive to your SD card. This contains the reccomended Raspbian distribution, as well as various other distributions, all of which are available as individual images from the downloads page, if you prefer not to use NOOBS.

Buying a preloaded SD card from a reputable supplier means that you can just plug it in and power up your Raspberry Pi; it should then just work. If you don't buy one of these, you will have to create your own using the instructions below

You may need to perform an upgrade of the card once you have got the Raspberry Pi working, as a distribution (usually) is continuously updated and the card may not contain those updates

Compare these for prices, delivery, distribution and card size/class:

  • Official Raspberry Pi Swag Store
  • The Pi Hut offers a wide range of SD cards preloaded with either:
    • NOOBS.
    • Raspbian.
    • OpenELEC XBMC.
    • PiPlay (formerly PiMame).
  • ModMyPi Sell high quality SanDisk SD cards pre-loaded with the latest NOOBs.

Public Service Announcement on SD Cards. There have been reports of problems with SD cards purchased from ebay and Amazon. Make sure the SD card you're purchasing is up to date with the latest version of your chosen operating System to avoid any issues.

To create your own SD Card for the Raspberry Pi you will need access to another machine, or a friend with one. You will need to be careful, as you could corrupt the disk on that machine if you do things wrong (although it is not hard to do it right, and NOOBS makes it impossible to go wrong). If you are lucky, you might find a local Raspberry Pi or Linux group who will offer to load your card for you.

You will also need to choose and download a distribution (mentioned above), or use NOOBS, which has all the . Check the Distributions list to make sure that you are getting a distribution that will work with the Raspberry Pi. Note that the distribution must be written to the card using the methods below; the standard file copy method will not work

Using NOOBS

Recently, the Raspberry Pi Foundation have released a really easy way to set up your SD Card. It's called the New Out Of Box Software (or NOOBS for short) and provides a really easy way to install Raspberry Pi distributions. Be warned, however, that it is a 1 GB download - if you have a limit on what you are allowed to download, follow the instructions below, as the other images are around 500 MB.

  1. Download NOOBS from the raspberrypi.org downloads page
  2. Insert a (4 GB+) SD Card into your computer
    • If you want to save space on the SD Card, you can delete some of the images inside the os folder in the NOOBS zip file that you don't want to use.
  3. Format the disk
    • Windows
    1. Download and install the SD Association's Formatting tool from https://www.sdcard.org/downloads/formatter_4/eula_windows/
    2. Open the Application you have just installed
    3. Set 'FORMAT SIZE ADJUSTMENT' to ON in the Options menu.
    4. Make sure you have selected the Drive your SD Card is inserted in
    5. Click 'Format'
    • Mac
    1. Download and install the SD Association's Formatting tools from https://www.sdcard.org/downloads/formatter_4/eula_mac/
    2. Select 'Overwrite format'
    3. Make sure you have selected your SD Card, and not something else
    4. Click 'Format'
    • Linux
    1. Use gparted (or the command-line version parted if you prefer), if you don't have it, install it as you usually would.
    2. Format the entire disk as FAT32 (FAT16 will not work! Make sure you select the correct disk!)
  4. Extract the file you downloaded in Step 1
  5. Copy the files you just extracted to your SD Card (see below on flashing your SD card)

Not all monitors work with NOOBS straight away. If your monitor is one of those that doesn't work, press the Number buttons 1-4 until you see what you want.

  1. Default HDMI Mode
  2. HDMI Safe Mode - Use this if Default (1) doesn't work and you cannot see anything
  3. Composite PAL Mode - Use this or 4. if you are using the yellow and black outputs on the opposite side to the HDMI output
  4. Composite NTSC Mode

Using Android Phone

There is an android app which will both download and write SD card images direct on the phone using internal SD card reader, or an external USB OTG reader

This can write NOOBS images on a standard android phone without requiring root access:

Flashing the SD Card using Windows

Using the Win32DiskImager program

  1. Download the distribution from the raspberrypi.org downloads page or from a mirror or torrent. Make sure the distribution is for the Raspberry Pi, as others will not work. Usually these are zipped (compressed) files ending in .zip or .gz (something like 'distribution-name.zip').
  2. Extract the image file from the downloaded .zip file, so you now have 'distribution-name.img'.
  3. Insert the SD card into your SD card reader and check what drive letter it was assigned. You can easily see the drive letter (for example G:) by looking in the left column of Windows Explorer. You can use the SD Card slot (if you have one) or a cheap Adapter in a USB slot.
  4. Download the Win32DiskImager utility (it is also a zip file). You can run this from a USB drive.
  5. Extract the executable from the zip file and run the Win32DiskImager utility; you may need to run the utility as Administrator! Right-click on the file, and select 'Run as Administrator'
  6. Select the image file you extracted above.
  7. Select the drive letter of the SD card in the device box. Be careful to select the correct drive; if you get the wrong one you can destroy your data on the computer's hard disk! If you are using an SD Card slot in your computer (if you have one) and can't see the drive in the Win32DiskImager window, try using a cheap Adapter in a USB slot.
  8. Click Write and wait for the write to complete.
  9. Exit the imager and eject the SD card.
  10. You are now ready to plug the card into your Raspberry Pi. See RPi_Hardware_Basic_Setup for the other things you need.

In Windows, the SD card will appear only to have a fairly small size once written - about 55 to 75 MB. This is because most of the card has a partition that is formatted for the Linux operating system that the Raspberry Pi uses which is not visible in Windows. If you don't see this small directory with files such as kernel.img then the copy may not have worked correctly.

Using flashnul (if Win32DiskImager isn't successful)

You may not be able to choose the device in Win32DiskImager on some notebooks so this is a different way to achieve the same thing on a Windows machine.

  • Download the distribution from the | raspberrypi.org downloads page or from a mirror or torrent. Make sure the distribution is for the Raspberry Pi, as others will not work. Usually these are zipped (compressed) files ending in .zip or .gz (something like 'distribution-name.zip').
  • Extract the image file from the downloaded .zip file, so you now have 'distribution-name.img'.
  • Insert the SD card into your SD card reader and check what drive letter it was assigned. You can easily see the drive letter (for example G:) by looking in the left column of Windows Explorer. You can use an SD Card slot in your computer (if you have one) or a cheap Adapter in a USB slot.
  • Download the flashnul software from http://shounen.ru/soft/flashnul/index.html ; here is the English Translated version with a link to instructions (also translated)
  • Download the latest version. At the time of writing it was flashnul-1rc1.
  • Extract the application from the archive.
  • Click Start button > All Programs > Accessories > Command Prompt, right click on it and Run as Administrator.
  • Run flashnul with argument '-p':
  • Flashnul will tell you something like this (it should be different, as it depends on the drives on your machine):
  • Use the Load option of flashnul to put the image file on the SD Card. Make sure that you use the correct drive letter for the SD Card as that drive will be overwritten!

Where C:flashnulflashnul.exe is the location of the flashnul program; E: is the drive you want to overwrite, and C:tempdistribution-name.img is the location of the .img file.

  • Flashnul will give you a device summary and a caution message. Check the information to make sure you have selected the correct device, then type yes and press enter.
  • If you get an access denied error, make sure to close all explorer windows or folders open for the device, then try re-plugging the SD card.

Using the Fedora Remix Installer

Download the installer program from Fedora ARM Installer. This will download and install the Raspberry Pi Fedora Remix images, but it will also install other images if they are already downloaded and in uncompressed or .gz format. This also works with Linux.

Using Etcher

  • Download the appropriate version (x86/x64) of Etcher.
  • Download the operating system package from the raspberrypi.org downloads page or from a mirror or torrent. Make sure the distribution is for the Raspberry Pi, as others will not work.
  • Insert an SD card into your computer.
  • Run the Etcher exe you've downloaded. When started, select the operating system package you've got (Etcher can burn SD card directly from compressed files such as '.zip', '.gz', '.bz2', '.xz', or from the uncompressed '.img' files, and many other format). Etcher tries to auto-select your SD card drive. If you have multiple drives that can be written to, choose manually the one that corresponds to your SD card. Start flashing. The image written to your card will be verified afterwards.

Etcher is cross-platform, and works on Windows, Mac OS X, and Linux as well, and it prevents you from overwriting the system disk of your computer.

Flashing the SD card using Mac OS X

To save yourself time and frustration, you may wish to use a procedure that has worked some time during the past 2 years. If so, skip ahead to the section for using the system tools from the command line.

Note: In OS X each disk may have two path references in /dev:

  • /dev/disk# is a buffered device, which means any data being sent undergoes extra processing.
  • /dev/rdisk# is a raw path, which is much faster, and perfectly OK when using the dd program.

On a Class 4 SD card the difference was around 20 times faster using the rdisk path.

Run an App (Only with graphical interface)

Pi Filler

Pi Filler is a simple tool for copying a Raspberry Pi operating system image file to an SD card, or restoring an SD card backup created by Pi Copier. Version 1.3 is about 5x faster than previous versions and can write a full card in 5-7 minutes. Pi Filler automatically identfies your SD card (and asks for confirmation to prevent any chance of the wrong disk being written to), and shows estimated time remaining during the copy. After it's done, if your Raspberry Pi is not connected to a display, you can use Pi Finder to locate it on your network and log in from Terminal. These utilities are written in AppleScript and Bash, are compatible with OS X 10.6 Snow Leopard through 10.12 Sierra, and include source code.


RPi-sd card builder

The RPi-sd card builder utility is an application which will walk you through the process of installing to SD card. Note: This is a closed source application which requires your root password.


ApplePi-Baker v2

The new ApplePi-Baker v2 is a free utility that allows you to create a NOOBS SD, write an IMG file to SD card, or backup an SD card to IMG, with only a few simple clicks. This is a closed source application. The so called sudo password, unlike all other applications, is no longer needed (developed per Apple's security guidelines with Privileged Helper). The application is written in Lazarus Pascal, 64 bits, signed and supports Retina. The latest version (2.0.0) has been tested and is compatible with the latest macOS version (at this time: Mojave 10.14.4). Some of the new features are; pretty much any compression format is supported, sizes are properly checked before writing to disk, optional enabling of SSH after restore, optional auto eject, and writing to multiple disks in one restore.

ApplePi-Baker now also supports Shrinking (during backup) and Expanding (during restore) of Linux partitions.


PiWriter

PiWriter is a simple wizard made using shell scripts, PlatyPus and CocoaDialog. To prevent users from making mistakes the wizard auto-detect's the SD card you plan to use and prevents you from selecting your system disk. Also there is no need for a root password so even less damage can be done. The nextgen PiWriter2 introduces a new 'drag and drop' approach and also includes a backup feature. PiWriter 1.0.4 does not work on Mac OS X Mavericks. Nor does it work on OS X Yosemite, 10.10.5.

  • Watch full OS X HOWTO video using PiWriter 1.x By: Bruce Fulton

Etcher

Etcher is a cross-platform disk image flasher (Win/Mac/Linux), that prevents you from overwriting your system disk by accident, verifies the written SD card image, and can also flash directly from compressed formats such as '.zip', '.gz', '.bz2', '.xz'. Download the operating system package from the raspberrypi.org downloads page or from a mirror or torrent. Insert an SD card into your computer. Starting Etcher, select the operating system package you've got. Etcher tries to auto-select your SD card drive. If you have multiple drives that can be written to, choose manually the one that corresponds to your SD card. Start flashing after entering the sudo password. The image written to your card will be verified afterwards.

Using system tools

Images are available from the Raspberry Pi organization here: http://www.raspberrypi.org/downloads

Once you have downloaded the image you want, you should

  1. Verify the file using the published hash value (note 1)
  2. unzip the file to extract the image (.img) file (note 2)
  3. use the command-line tools iaw RasPi's procedure to copy the image to your SD card

note 1: from the command line: $ openssl sha1 path_to_file.img, or drag&drop the .img file into command window instead of typing the full path and file name.

note 2: if you use the native file de-compressor in OS X, you may have issues because it sucks. Instead, consider getting an app that really works; e.g. Unarchiver.

For OS X users, the rest of the information on this page is largely outdated, and a waste of your time.


  1. Download the image from a mirror or torrent
  2. Extract the image by double clicking on the download file
  3. Connect the SD card reader with the SD card inside; note: must be formatted in FAT32!
  4. From the Apple () menu, choose About This Mac, then click on More info...; if you are using Mac OS X 10.8.x Mountain Lion then click on System report.
  5. Click on USB (or Card Reader if using an in-built SD card reader) then search for your SD card in the upper right section of the window; click it, then search for BSD name in the lower right section: must be something like diskn where n is a number (for example, disk4). Note this number
  6. Unmount the partition so that you will be allowed to overwrite the disk by opening Disk Utility and unmounting it (do not eject it, or you have to reconnect it). Note: On Mac OS X 10.8.x Mountain Lion, 'Verify Disk' (before unmounting) will display the BSD name as '/dev/disk1s1' (or similar), allowing you to skip the previous two steps.
  7. From the Terminal run:
    • sudo dd if=path_of_your_image.img of=/dev/diskn bs=1M
    • Remember to replace n with the number that you noted before!
  8. Wait a LONG time! (or see the note above about using /dev/rdisk#...) To see the current status, send SIGINFO signal by pressing Ctrl+T.
  9. You're done! Insert it in the Raspberry Pi, and have fun

Using command line tools (1)

  • If you are comfortable with the command line, you can image a card without any additional software. Run:
    • diskutil list
      • identify the disk (not partition) of your SD card. e.g. disk4 (not disk4s1)
    • diskutil unmountDisk /dev/<disk# from diskutil>
      • e.g. diskutil unmountDisk /dev/disk4
    • sudo dd bs=1m if=<your image file>.img of=/dev/<disk# from diskutil>
      • e.g. sudo dd bs=1m if=2014-09-09-wheezy-raspbian.img of=/dev/disk4
      • (This will take a few minutes)

Using command line tools (2)

Here is a procedure published by the Raspberry Pi organization that actually works for current versions of OS X. It requires use of the command line tools, but if you follow it, you will be successful. If you try the 'GUI Tools' listed above for OS X, you will likely encounter issues. Also, you may largely ignore the balance of this section as this page has self-deprecated due to lack of maintenance.


Note: Some users have reported issues with using Mac OS X to create SD cards.

  1. These commands and actions need to be performed from an account that has administrator privileges.
  2. Download the image from a mirror or torrent
  3. Verify if the the hash key is the same (optional), in the terminal run:
    • shasum ~/Downloads/2014-09-09-wheezy-raspbian.zip
  4. Extract the image:
    • unzip ~/Downloads/2014-09-09-wheezy-raspbian.zip
    • (or: just double click the zip, it will extract automatically)
  5. From the terminal run df -h
  6. Connect the SD card reader with the SD card inside
  7. Run df -h again and look for the new device that wasn't listed last time. Record the device name of the filesystem's partition, for example, /dev/disk3s1
  8. Unmount the partition so that you will be allowed to overwrite the disk:
    • sudo diskutil unmount /dev/disk3s1
    • (or: open Disk Utility and unmount the partition of the SD card (do not eject it, or you have to reconnect it)
  9. Using the device name of the partition work out the raw device name for the entire disk, by omitting the final 's1' and replacing 'disk' with 'rdisk' (this is very important: you will lose all data on the hard drive on your computer if you get the wrong device name). Make sure the device name is the name of the whole SD card as described above, not just a partition of it (for example, rdisk3, not rdisk3s1. Similarly you might have another SD drive name/number like rdisk2 or rdisk4, etc. -- recheck by using the df -h command both before & after you insert your SD card reader into your Mac if you have any doubts!):
    • For example, /dev/disk3s1 => /dev/rdisk3
  10. In the terminal write the image to the card with this command, using the raw disk device name from above (read carefully the above step, to be sure you use the correct rdisk# here!):
    • sudo dd bs=1M if=~/Downloads/2014-09-09-wheezy-raspbian/2014-09-09-wheezy-raspbian.img of=/dev/rdisk3
    • if the above command report an error (dd: bs: illegal numeric value), please change bs=1M to bs=1m
    • (note that dd will not feedback any information until there is an error or it is finished, information will show and disk will re-mount when complete. However if you are curious as to the progresss - ctrl-T (SIGINFO, the status argument of your tty) will display some en-route statistics).
  11. After the dd command finishes, eject the card:
    • sudo diskutil eject /dev/rdisk3
    • (or: open Disk Utility and eject the SD card)
  12. Insert it in the Raspberry Pi, and have fun
  • (Mac) The RasPiWrite utility is a Python script which will walk you through the process of installing to SD card, it works with any Raspberry Pi compatible disk image, and can download one of the currently available distros if you don't have one. [As of April 2015, several fatal but easy-to-fix, bugs prevent RasPiWrite from running at all and have been present for over a year, and thus RasPiWrite seems abandoned, at least for now. You can use it if you are willing to fix Python syntax errors. ]

Flashing the SD Card using Linux (including on a Raspberry Pi!)

Using ImageWriter (graphical interface)

If you are using Ubuntu and hesitate to use the terminal, you can use the ImageWriter tool (nice graphical user interface) to write the .img file to the SD card.

  1. Download the zip file containing the image from a mirror or torrent
  2. Right click the zip file and select 'Extract here'
    • ATTENTION: As of this writing (15 June 2012), there is a bug in the ImageWriter program that causes it to fail if the filename of the image file or its path (i.e. all the names of any parent folders that you extract the image file into) contain any space characters. Before going any further, ensure that neither the file name of the image you're using or the path contain any spaces (or other odd characters, for that matter). A bug has been opened for this issue: https://bugs.launchpad.net/usb-imagewriter/+bug/1013834 Once the issue is fixed, edit this page to advise people to use an updated/patched version of ImageWriter.
  3. Insert the SD card into your computer or connect the SD card reader with the SD card inside
  4. Install the ImageWriter tool from the Ubuntu Software Center
  5. Launch the ImageWriter tool (it needs your administrative password)
  6. Select the image file (example 2012-10-28-wheezy-raspbian.img) to be written to the SD card (note: because you started ImageWriter as administrator the starting point when selecting the image file is the administrator's home folder so you need to change to your own home folder to select the image file)
  7. Select the target device to write the image to (your device will be something like '/dev/mmcblk0' or '/dev/sdc')
  8. Click the 'Write to device' button
  9. Wait for the process to finish and then insert the SD card in the Raspberry Pi

Using Etcher (graphical interface)

  1. Download the appropriate Linux version (x86/x64) of the Etcher AppImage. AppImage is a stand-alone packaged version of the Etcher tool, and make that file executable.
  2. Download the operating system package from the raspberrypi.org downloads page or from a mirror or torrent. Make sure the distribution is for the Raspberry Pi, as others will not work.
  3. Insert an SD card into your computer.
  4. Run the Etcher AppImage. When started, select the operating system package you've downloaded (Etcher can burn SD card directly from compressed files such as '.zip', '.gz', '.bz2', '.xz', or from the uncompressed '.img' files, and many other format). Etcher tries to auto-select your SD card drive. If you have multiple drives that can be written to, choose manually the one that corresponds to your SD card. Start flashing. The image written to your card will be verified afterwards.

Etcher is cross-platform, and works on Windows, Mac OS X, and Linux as well, and it prevents you from overwriting the system disk of your computer.

Using the Linux command line

Please note that the use of the 'dd' tool can overwrite any partition of your machine. If you specify the wrong device in the instructions below you could delete your primary Linux partition. Please be careful.

  1. Download the zip file containing the image from a mirror or torrent
  2. Verify if the the hash key of the zip file is the same as shown on the downloads page (optional). Assuming that you put the zip file in your home directory (~/), in the terminal run:
    • sha1sum ~/2012-12-16-wheezy-raspbian.zip
    • This will print out a long hex number which should match the 'SHA-1' line for the SD image you have downloaded
  3. Extract the image, with
    • unzip ~/2012-12-16-wheezy-raspbian.zip
  4. Run df -h to see what devices are currently mounted
  5. If your computer has a slot for SD cards, insert the card. If not, insert the card into an SD card reader, then connect the reader to your computer.
  6. Run df -h again. The device that wasn't there last time is your SD card. The left column gives the device name of your SD card. It will be listed as something like '/dev/mmcblk0p1' or '/dev/sdd1'. The last part ('p1' or '1' respectively) is the partition number, but you want to write to the whole SD card, not just one partition, so you need to remove that part from the name (getting for example '/dev/mmcblk0' or '/dev/sdd') as the device for the whole SD card. Note that the SD card can show up more than once in the output of df: in fact it will if you have previously written a Raspberry Pi image to this SD card, because the Raspberry Pi SD images have more than one partition.
  7. Now that you've noted what the device name is, you need to unmount it so that files can't be read or written to the SD card while you are copying over the SD image. So run the command below, replacing '/dev/sdd1' with whatever your SD card's device name is (including the partition number)
    • umount /dev/sdd1
    • If your SD card shows up more than once in the output of df due to having multiple partitions on the SD card, you should unmount all of these partitions.
  8. In the terminal write the image to the card with this command, making sure you replace the input file if= argument with the path to your .img file, and the '/dev/sdd' in the output file of= argument with the right device name (this is very important: you will lose all data on the hard drive on your computer if you get the wrong device name). Make sure the device name is the name of the whole SD card as described above, not just a partition of it (for example, sdd, not sdds1 or sddp1, or mmcblk0 not mmcblk0p1)
    • dd bs=4M status=progress if=~/2012-12-16-wheezy-raspbian.img of=/dev/sdd
      • Please note that block size set to 4M will work most of the time, if not, please try 1M, although 1M will take considerably longer.
    • Note that if you are not logged in as root you will need to prefix this with sudo
    • If you choose to omit the 'status=progress' option the dd command will not give any information of its progress and so may appear to have frozen. It could take more than five minutes to finish writing to the card. If your card reader has an LED it may blink during the write process. To see the progress of the copy operation you can run pkill -USR1 -n -x dd in another terminal (prefixed with sudo if you are not logged in as root). The progress will be displayed (perhaps not immediately, due to buffering) in the original window, not the window with the pkill command.
    • Alternatively, you can use the following command to run dd as a background process. It will return a pid as well as report the result of the copy upon completion:
      • dd bs=4M if=./2015-05-05-raspbian-wheezy.img of=/dev/sdd & pid=$!
      • You can verify the process is still running throughout the copy with: pidof dd
  9. Instead of dd you can use dcfldd; it will give a progress report about how much has been written.
  10. Another option to monitor progress is to use Pipe Viewer (pv). Pipe dd input part through pv to the output part of dd:
  11. You can check what's written to the SD card by dd-ing from the card back to your harddisk to another image, and then running diff (or md5sum) on those two images. There should be no difference.
  12. As root run the command sync or if a normal user run sudo sync (this will ensure the write cache is flushed and that it is safe to unmount your SD card)
  13. Remove SD card from card reader, insert it in the Raspberry Pi, and have fun

Using any system and BerryBoot

If your Raspberry Pi is connected to the Internet, you can use the BerryBoot installer to let it download and install the operating system. This requires that you first use a normal Windows/Mac/Linux computer to download a small .zip file with the Berryboot system files and extract it to an empty SD card. Then you put the SD card in your Raspberry Pi, and follow the on-screen prompts to complete the installation. An additional advantage is that Berryboot allows you to install more than one operating system on a single SD card. Also, it is not necessary to install any additional software on your normal Windows/Mac/Linux computer.

To write your SD card you start by downloading the SD image (the data you will write to the card). The best way to do this is using BitTorrent. This generally results in a faster download as it is a highly distributed system (you will be downloading the data from users who have previously downloaded it).

The SD card image is sized for a 2 GB card. So, if you are using an SD card with a greater capacity, you may find that only 2 GB is available. If this is the case, then to gain more free space, the partitions must be resized. The Fedora Remix and the BerryBoot will automatically resize the partitions on the mounted card during the first boot. The Debian , OpenSuSe and Rasbian images won't, so you'll have to do it manually. The easiest way is to use the tool RPi raspi-config selecting menu item EXPAND-ROOTFS - Expand Root Partition to Fill SD Card. If you want to resize the SD card whilst the SD card is not mounted in the Raspberry Pi, look here for instructions.

If you would rather not resize the partition on another machine as described above, either because you do not have another working Linux machine or you wish to keep your data on another partition to your operating system, you can instead create a new data partition and have that mount automatically at boot.

  • First you need to become root and install parted (I did all of this from the boot command prompt, although if you feel safer in a GUI, you can do all of this in a terminal window):
  • Then you need to run parted on your SD card, mine is /dev/mmcblk0, ymmv:
  • Once running, set the display units to something usable and then print your partition table:
  • You should see something like this:
  • Now you need to create your data partition - you need to choose one more than the end of partition 3 with ,0,0 as your start and use the number from the line that starts with Disk as your end:

Mac Zip Directory Command Line Number

  • That should show your new partition:
  • Now quit and format the partition (again, ymmv with the specific device name, try ls /dev for some clues), and then label it:
  • Now we need to make sure that the partition is mounted automatically when the system boots (maybe don't use vi if you never have before, try nano):
  • Enter a line exactly like this at the end of the file and save and quit your text editor:
  • Create the mount point:
  • Now mount the partition:

Your new partition has been created!


SD(DC|DX] Card Class 6 & 10 Hints

Startup
Buying Guide - SD Card Setup - Basic Setup - Advanced Setup - Beginners Guide - Troubleshooting
Hardware
Hardware - Hardware History - Low-level peripherals - Expansion Boards
Peripherals
Screens - Cases - Other Peripherals (Keyboard, mouse, hub, wifi...)
Software
Software - Distributions - Kernel - Performance - Programming - VideoCore APIs - Utilities
Projects
Tutorials - Guides - Projects - Tasks - DataSheets - Education - Communities
Retrieved from 'https://elinux.org/index.php?title=RPi_Easy_SD_Card_Setup&oldid=492871'