Skip to content

IOTDK: installation instructions

sethismyfriend edited this page Sep 25, 2014 · 1 revision
  1. Download the full iotDevKit image here: http://iotdk.intel.com/images/iot-devkit-latest-mmcblkp0.direct.bz2

The image is updated on a regular basis by the IoT group at intel and contains a lot of useful tools for developers including node 10.28, reddis, git, npm, connman, python, perl, busybox utilities, opkg, wget, make, opencv, gstreamer - and many other useful utilities.

  1. Unzip the bz2 file by double clicking on the file or if you prefer the commandline:

bunzip2 -c iot-devkit-latest-mmcblkp0.direct.bz2

It will create a file that is approx 1 GB in size with the .direct extension. Unfortunately on a mac, this extension is not the same as a .img file which you can boot from the disk utility, so we will need to use the "dd" command - which allows us to directly copy (data description) the bytes from your PC to the SD card in packets.

  1. To copy the bytes over to the SD card directly, insert your SD card and use diskutil to list your drives.

On a mac to list devices use diskutil:

user@pc: diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            419.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data                         80.4 GB    disk0s4
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *16.0 MB    disk1
   1:        Apple_partition_map                         32.3 KB    disk1s1
   2:                  Apple_HFS Flash Player            15.9 MB    disk1s2
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.6 GB    disk2
   1:             Windows_FAT_32 KINGSTON                15.6 GB    disk2s1
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *8.0 GB     disk3
   1:                 DOS_FAT_32 NO NAME                 8.0 GB     disk3s1

My disk was "/dev/disk3". Replace "of=/dev/disk3" with the name of your disk by listing the drives. Do not put the name of the partition, instead just the disk identifier. Be very careful to triple check if you are targeting the correct disk because you can overwrite any disk on your hard drive with this command. In my experiments the bs=1m worked and specifying other sizes did not generate the filesystem. In other forums some people recommended 8m as well.

user@pc: sudo dd if=/Users/username/Documents/iot-devkit-latest-mmcblkp0.direct of=/dev/disk3 bs=1m
Password:
1052+1 records in
1052+1 records out
1103102976 bytes transferred in 718.146399 secs (1536042 bytes/sec)

This command takes about 12 minutes, and does not provide feedback until it has finished executing so just wait a bit and check back for the confirmation. If you see an error that says "resource is busy", you need to unmount the partition from the disk, and try the copy command again.

user@pc: diskutil unmountDisk /dev/disk3s1

If you want to monitor the status of the copy, open a new tab, get the PID and send it a temp INFO signal and it will report back how many blocks in the other tab:

pgrep -a '^dd$'
sudo kill -INFO 10660

(replace with your PID above - this allows you to not waste hours wondering if your write process is working)

I noticed that the filesystem on the SD card appears to be truncated due to long filenames so that when you try to look at the size on your PC it appears to only be a 9mb filesystem. This is confusing - and not the case when you boot the SD card on your galileo or edison:

root@quark0171ae:# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       969M  732M  188M  80% /
devtmpfs        117M     0  117M   0% /dev
tmpfs           117M     0  117M   0% /dev/shm
tmpfs           117M  4.4M  112M   4% /run
tmpfs           117M     0  117M   0% /sys/fs/cgroup
tmpfs           117M     0  117M   0% /tmp
tmpfs           117M   12K  117M   1% /var/volatile
/dev/mmcblk0p1   50M  9.0M   41M  19% /media/card
root@quark0171ae:/usr/share/mraa/examples/javascript#

More information and discussion for other platforms are located here: https://software.intel.com/en-us/forums/topic/506595#comment-1798892