Skip to content

Latest commit

 

History

History
43 lines (31 loc) · 2.41 KB

Writing-an-ev3dev-Image-to-SD-Using-Command-Line-Tools-on-Linux.md

File metadata and controls

43 lines (31 loc) · 2.41 KB
  1. Make sure that you SD card is unplugged. Then run df. You should see something like this:

     user@host ~/ $ df -h
     Filesystem      Size  Used Avail Use% Mounted on
     /dev/sda1       119G   79G   34G  70% /
     none            4.0K     0  4.0K   0% /sys/fs/cgroup
     udev            7.8G   12K  7.8G   1% /dev
     tmpfs           1.6G  1.1M  1.6G   1% /run
     none            5.0M     0  5.0M   0% /run/lock
     none            7.9G  1.5M  7.9G   1% /run/shm
     none            100M  3.7M   97M   4% /run/user
    
  2. Now insert you SD card and run df again. See the new entry (/dev/sdb1)? That is your SD card. sdb is the actual device name and 1 is the partition number. Your actual device may be named something different.

     user@host ~/ $ df -h
     Filesystem      Size  Used Avail Use% Mounted on
     /dev/sda1       119G   79G   34G  70% /
     none            4.0K     0  4.0K   0% /sys/fs/cgroup
     udev            7.8G   12K  7.8G   1% /dev
     tmpfs           1.6G  1.1M  1.6G   1% /run
     none            5.0M     0  5.0M   0% /run/lock
     none            7.9G  1.5M  7.9G   1% /run/shm
     none            100M  3.7M   97M   4% /run/user
     /dev/sdb1       2.0G  0.0G  2.0G   0% /media/user/LABEL
    
  3. Unmount your SD card. If it has more than one partition, you will need to do this for each partition.

     user@host ~ $ sudo umount /dev/sdb1
    
  4. This is the dangerous part. If you pick the wrong device, you could wipe out your hard drive, so BE CAREFUL!. When specifying the device, don't include the partition number.

    In this example we downloaded the compressed disk image file to ~/Download/ and our SD card is /dev/sdb. Adjust these values as needed. This will take a long time.

     user@host ~ $ xzcat ~/Download/ev3dev.1900MB.img.xz | sudo dd bs=4M of=/dev/sdb
     [sudo] password for user:
    

    TIP: You can monitor the progress of this by running the following in another terminal. On some systems, the signal may need to be INFO instead of USR1. This will cause the status to be printed periodically in the first terminal.

     user@host ~ $ sudo watch kill -USR1 $(pgrep ^dd)
    
  5. Now refresh the partition table and mount the first partition (if it does not automatically) so that we are ready for the next step.

     user@host ~ $ sudo partprobe