jubilinux for edison: debian stretch
Updated December 10, 2017.
Current stable version: 0.3.0, Debian Stretch
Current unstable version: stretch-0.3.1-SNAPSHOT
ubilinux ™ is an embedded Linux distribution from Emutex and is based on Debian Wheezy. It is targeted at embedded devices that have limited memory and storage capabilities.
ubilinux is great for changing the Intel Edison from a high-performance wearable/embedded platform into a headless server with uniquely low power consumption and tiny phsyical footprint. The only trouble is that ubilinux as officially distributed is based on a rather old version of Debian (wheezy) and a very old verison of the edison linux kernel.
jubilinux is an update to the stock ubilinux edison distribution to make it more useful as a server, most significantly by upgrading from wheezy to stretch. Changes include:
- Based on debian stretch instead of wheezy. (Accomplised via
apt-get dist-upgradeof the root file system.)
- Update kernel and modules to latest from Intel’s edison linux kernel . (Latest commit as of this writing is Sep 8, 2016.)
/home/.usr, and replace
/usrwith a bind mount, freeing up significant amounts of storage on
Version 0.3.0 of jubilinux, based on debian stretch, is now stable. Don’t use it for anything critical, such as financial or medical purposes, anyway. I’m not responsible.
Download jubilinux and extract it somewhere. Install it like any other edison dfu install, such as via
You can monitor the installation progress over the edison’s USB serial console with
screen /dev/ttyUSB0 115200, assuming that
ttyUSB0 is the serial device for your edison’s console. Run this in a different terminal window from
Please leave your edison running for a few minutes after
flashall.sh finishes! The jubilinux first-boot sequence involves three reboots, and should not be interrupted by a yanked power cord.
After installation is complete, you can log into your edison over the serial console or the OTG ethernet. You can launch a serial console with
screen /dev/ttyUSB0 115200; log in as
root. Alternatively, you can log in via SSH over the OTG ethernet adapter with
ssh firstname.lastname@example.org. It’s probably better to use the serial console though, because one of the first things I always do is turn the OTG port into a USB host, rendering OTG ethernet inoperable.
jubilinux boots with two default users:
edison. Both users’ passwords are
edison. Be sure to change both passwords.
Logged in as
/etc/rc.local and comment or uncomment lines as appropriate for your configuration.
/etc/rc.local is used for the configuration of:
- USB OTG port device vs host mode
- Enabling bluetooth
- Enabling bluetooth rfcomm login console
- Enabling auto-acceptance of bluetooth pairing requests
- Activating wifi without
Start Using jubilinux
jubilinux behaves very much like any other debian system, with one major difference: jubilinux does not use an initial ramdisk (
initrd), so alternative versions of certain packages should be used. For example, for LUKS encryption support, use
apt-get install cryptsetup-bin instead of
apt-get install cryptsetup; the former installs the required executables and is all you need for edison, while the latter drags along with it the entire
If you want to compile your own kernel, the kernel used for jubilinux can easily be reconfigured and rebuilt. Cloning the github repo will get you a handy helper setup that includes both the stock edison kernel and the broadcom wifi/bt driver, along with scripts to collect the kernel and modules in a manner easily transferrable to a running edison.