Loading Debian (Ubilinux) on the Edison
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:
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.
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 \
Navigate to \
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.
Save and exit with "Ctrl-X" and 'y.' Restart the Edison with:
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.
- 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.
- 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: