Loading Debian (Ubilinux) on the Edison

Contributors: Shawn Hymel
Favorited Favorite 5


Help! I bricked my Edison!

This is very much a possibility when loading new firmware. If you find that you have put the Edison in an unrecoverable state, it should be possible to recover (unbrick) it.

If you see the Edison begin to POST to your serial terminal, look for the line (it will count down to 0):

Hit any key to stop autoboot: 0

Press 'enter' and enter the command:

run do_flash

This will put the Edison into DFU mode. You can now run the flashall.bat or flashall.sh script from your host computer to re-image the Edison.

Many thanks to user ddewaele for finding this solution. You can see an example of his error (bricked Edison) and his solution as a gist on GitHub.

dfu-util not found

On Linux, if you get an error like "dfu-util: command not found" when trying to install Ubilinux then you need to install dfu-util. Run the command:

sudo apt-get install dfu-util

Which USB port do I use?

For installing Ubilinux, if you are using the Intel Arduino Breakout or Mini-Breakout, you need to use the USB port labeled "J16." If you are using the SparkFun Edison Base Block, use the port labeled "OTG."

For logging into Ubilinux, you need to use both USB ports on the Intel Arduino or Mini-Breakout. You only need to use the port labeled "Console" on the SparkFun Base Block.

libusb not found

In Windows, if you see an error message such as "The program can't start because libusb-1.0.dll is missing from your computer", then you need libusb-1.0.dll, which can be found in the dfu-util download. Navigate to \\dfu-util-0.8-binaries.tar\dfu-util-0.8-binaries\dfu-util-0.8-binaries\win32-mingw32. Right-click on libusb-1.0.dll and click "Copy."

Copy libusb

Navigate to \\ubilinux-edison-141030.tar\ubilinux-edison-141030\toFlash. Right-click and select "Paste" to paste in the libusb-1.0.dll file.

Paste libusb

NOTE: You can permanently install dfu-util.exe and libusb-1.0.dll on your Windows computer if you like. Read into modifying PATH and installing a .dll. For now, they were just copied into the Ubilinux path for brevity.

Packages not found

On Linux, a message such as "E: Unable to locate package" could mean a few things:

  • You are spelling the package name wrong (I am guilty of this quite often)
  • Your package lists cannot find the package (try modifying /etc/apt/sources.list to point to other repositories
  • The package simply does not exist. You might have to install whatever it is from source.

Sudo unable to resolve host

If you use the "sudo" command and get an error like:

sudo: unable to resolve host ubilinux

Then it means that the hostname of your Edison (in the file /etc/hostname) is not found in the /etc/hosts file. Open up an editor:

sudo nano /etc/hostname

And make a note of the name (it should be "ubilinux" by default). You can change it if you would like (it will change the name of your Edison when it is connected to a network).

Exit and open up /etc/hosts:

sudo nano /etc/hosts

And add your hostname (e.g. "ubilinux") afte "localhost" in the first line.

Changing /etc/hosts file in Edison

Save and exit with "Ctrl-X" and 'y.' Restart the Edison with:

sudo reboot

You should no longer get the warning with sudo.

I want to go back to Yocto

Many Edison guides on the Internet focus on using the default Yocto build. If you installed Ubilinux and decide that it is not for you, don't worry! You can easily reinstall Yocto.

Navigate to Intel's Edison download page and download "Edison Yocto complete image."

Follow the instructions found in the Install Ubilinux section, but instead of navigating to the Ubilinux directory to run "flashall.bat" or "flashall.sh," go to the Yocto directory. Here is brief reminder of what we did in that section:

  • Unzip the downloaded Yocto image.
  • If you are on Windows, copy dfu-util.exe (and likely libusb-1.0.dll) to the Yocto image directory.
  • Run flashall.bat (Windows) or flashall.sh (Mac and Linux). You will be asked to plug in your Edison.

You will be asked to plug in your Edison when installing Yocto

  • At this time plug in your Edison (or unplug it and plug it back in). The script will then start to flash the Yocto image onto your Edison.

Waiting while the default Intel Edison image is loaded

  • Once the script is complete, wait at least 2 minutes for the installation to complete. The Edison will restart itself a few times during this time. Do not remove power!

After waiting for some time, open up a serial console into your Edison, and you should be greeted with a Yocto login prompt:

Yocto Linux login prompt for Edison