JeVois  1.0
JeVois Smart Embedded Machine Vision Toolkit
How to format a new MicroSD card for JeVois

JeVois expects a very specific organization of partitions (logical volumes) and files onto its MicroSD. In addition, two low-level bootloader (hardware startup) "files" must be present on the MicroSD card at specific physical locations (sectors). For this reasons, care must be taken when preparing a MicroSD card for use with JeVois.

Easy approach: Download and flash a JeVois disk image

The simplest approach is to download and flash a pre-configured JeVois disk image. Those are available at jevois.org and contain all the operating system, supporting data, and core JeVois software. After you have prepared a new MicroSD card using a JeVois disk image, you will be able to add new machine vision modules to it very easily using a laptop or desktop computer.

microSD flashing for Windows/Mac/Linux using Etcher by resin.io

Etcher is a free an open-source program to burn disk images to USB drived and SD cards, which is cross-platform and provides an easy graphical interface that looks the same on Windows, Mac, and Linux.

  • Download and install the free and open-source Etcher
  • Download JeVois MicroSD image file from JeVois Start. You do not need to unzip the file when using Etcher, it can accept zipped fies. If your computer automatically unzips the file (e.g., on some Macs), that is ok, you will just use the resulting unsipped file in the following steps, which should be named jevois-image-1.0-8G.img or similar.
  • Attach your microSD card to your computer using a USB-to-microSD adapter or other method (e.g., microSD-to-SD adapter on Macs with an SD slot).
  • Start Etcher.
  • Select the .zip image file you downloaded (or the .img file that was unzipped from your download).
  • Select the drive corresponding to your microSD card.
  • Click flash and wait until complete. Your card is ready to be inserted into your JeVois smart camera.
etcher.png

More conventional flashing a JeVois disk image: Linux

Use these instructions if the easy flashing with Etcher, as described above, somehow does not work for you.

Any easy way on Linux is to use dd in a terminal. First, identify the device assigned to your SD card. On Ubuntu, go to your Ubuntu menu and type disks and then start the Disks program.

newmicrosd-ubuntu2.png

Click on the icon that most likely is your MicroSD card and examine carefully the information that is displayed, such as the size, brand name, etc. Once you are positive that this is your new MicroSD card, note the device name displayed towards the bottom. Here it is /dev/sdf and this is the name we will use to write the JeVois disk image to.

Note
Make sure you unzip the file you downloaded. Do not try to flash the .zip file to microSD, it will not work.
cd Downloads
wget http://jevois.org/data/jevois-image-latest-8G.zip
unzip jevois-image-latest-8G.zip
sudo dd if=jevois-image-1.0-8G.img of=/dev/sdX bs=1M  # exact .img file name may vary
sync

where you should replace sdX above by the name of the device that you noted in the previous step. Make sure you wait until the sync command (which flushes disk caches) is complete, otherwise not all the disk image data might have been committed to your MicroSD yet. You can now eject the MicroSD card and insert it into your JeVois smart camera.

For the dd command, if specifies the source file (or device), of specifies the destination file (or device), and bs is the block size to use.

Warning
Make sure you double-check and triple-check the name of the device you use. One small typo and you could destroy the contents of your computer's hard drive.

More conventional flashing a JeVois disk image: Windows

Use these instructions if the easy flashing with Etcher, as described above, somehow does not work for you.

Note
Make sure you unzip the file you downloaded. Do not try to flash the .zip file to microSD, it will not work.

You can use USBWriter from https://sourceforge.net/p/usbwriter/wiki/Documentation/

You can also try the USB Image Tool or the Win32 Disk Imager

See instructions here for how to use these tools.

More conventional flashing a JeVois disk image: Mac

Use these instructions if the easy flashing with Etcher, as described above, somehow does not work for you.

Note
Make sure you unzip the file you downloaded. Do not try to flash the .zip file to microSD, it will not work.

The easiest on Mac is to use dd in a terminal. First, identify the device assigned to your SD card. For that, open a Terminal (located in Applications -> Utilities -> Terminal), and type:

diskutil list

You should see something like what is shown below, revealing that our MicroSD card is assigned to /dev/disk1 on this particular mac:

newmicrosd-mac.png

Be sure to check the name and size as this is the device that we are now going to erase. In the terminal, type:

diskutil unmountDisk /dev/diskX
cd Downloads
wget http://jevois.org/data/jevois-image-latest-8G.zip
unzip jevois-image-latest-8G.zip
sudo dd if=jevois-image-1.0-8G.img of=/dev/diskX bs=1M # exact .img file name may vary
sync

where you should replace diskX above by the name of the device that you noted in the previous step. Make sure you wait until the sync command (which flushes disk caches) is complete, otherwise not all the disk image data might have been committed to your MicroSD yet. You can now eject the MicroSD card and insert it into your JeVois smart camera.

For the dd command, if specifies the source file (or device), of specifies the destination file (or device), and bs is the block size to use.

Warning
Make sure you double-check and triple-check the name of the device you use. One small typo and you could destroy the contents of your computer's hard drive.

On Mac, you can also try the RPi SD card builder to flash your SD card.

Copying a JeVois MicroSD to another

In addition to the partitions and files that you can see, the JeVois MicroSD card also has two additional and essential "files" that are stored directly onto specific sectors (physical flash disk locations) on the card. These are two bootloader (system startup) files which are the first two files loaded when the JeVois embedded processor starts. Because the processor does not yet know about partitions, file systems, etc at that early startup stage, all it knows how to do is to read raw sectors from the SD card. You usually do not need to modify these two special files. But beware that if you want to copy the contents of one JeVois MicroSD card to a new card, you need to do a full physical sector-by-sector copy.

If you have customized a JeVois MicroSD card, for example installing many machine vision modules onto it, and you want to make a copy to another, new MicroSD card, proceed as follows:

On Linux and mac, you would use dd again, first to dump your existing MicroSD to a file on your desktop or laptop, and then we will write that file to the new MicroSD card:

1 # Insert source card:
2 
3 sudo dd if=/dev/sdX of=mycard.img bs=1M
4 
5 sync
6 
7 # Properly eject source card.
8 
9 # Insert destination (blank) card:
10 
11 sudo dd if=mycard.img of=/dev/sdX bs=1M
12 
13 sync

For the dd command, if specifies the source file (or device), of specifies the destination file (or device), and bs is the block size to use.

On Windows, use USBWriter again.

More complex approach: Write a new MicroSD card using the full JeVois build-from-source process

Another way to create a MicroSD card for JeVois is to use the compilation and installation scripts provided with the JeVois development environment.

This allows you to install a custom kernel, custom hardware configuration, custom Linux installation with possibly new system libraries and programs, etc.

This is not recommended for novice users and is for Linux only. The procedure is detailed as part of the programmer manual.

For more information on this, see Programmer guide and in particular Programmer SDK and writing new modules.