Intel® Makers
Intel® Edison, Intel® Joule™, Intel® Curie™, Intel® Galileo
Announcements
Welcome - This is a Peer-to-Peer Forum only. Intel has discontinued these products but you may find support from other customers on this Forum
9868 Discussions

ubilinux (Debian) now available from Emutex Labs

DHunt5
Valued Contributor I
18,656 Views

Hi all,

There's now a flash-installable version of Debian available for Edison. It's called ubilinux, and is a follow-on from the previous work done on the ubilinux distribution for Galileo and Galileo Gen2.

ubilinux page http://www.emutexlabs.com/ubilinux here

Functionality available out of the box:

Mutli-function gadget (Storage, Network, Serial)

Wifi

Arduino IDE compatibility with sketch download daemon

C and C++ compiler

Python

Node.JS

wpa-supplicant and HostAPD

If there's something missing that you need, just use 'apt-get install' to get it from the pre-selected Debian repositories.

We've chosen the "flashall.sh -b" method to install onto the Edison, as we've increased the size of the root partition to a size that's larger than the max size allowed by the OTA upgrades. This is to give users more space for installing packages. You need a linux platform or a Linux live-boot platform to use the flashall.sh script. See the Installation Instructions here: http://www.emutexlabs.com/ubilinux/29-ubilinux/218-ubilinux-installation-instructions-for-intel-edis... Installation instructions

--START EDIT--

Note: It's probably good if the first thing you do once you get your board connected to the internet is do an "apt-get install ntp" which will automatically set the system clock. Otherwise it's set to a date in the year 2000.

--END EDIT--

--START EDIT--

xFSTK (as mentioned below) is no longer needed if you tweak the flashall.sh script as described in this post:

/message/257617# 257617 https://communities.intel.com/message/257617# 257617

--END EDIT--

Message was edited by: David Hunt

168 Replies
DCler
New Contributor I
569 Views

It seems I got bluetooth working on ubilinux and Edison

For anyone who wants to give it a try before an updated image will be released, this is what I have done:

From my Edison with ubilinux

$ apt-get install libusb-dev libdbus-1-dev libglib2.0-dev automake libudev-dev libical-dev libreadline-dev rfkill

$ wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.24.tar.xz http://www.kernel.org/pub/linux/bluetooth/bluez-5.24.tar.xz

$ tar xf bluez-5.24.tar.xz

$ cd bluez-5.24

$ ./configure –disable-systemd

$ make -j 2

$ make install

 

Then from the original image (I have downloaded on my laptop and mounted the ext4 file locally) you should copy the following folder and files to your Edison ubilinux filesystem:

/etc/bluetooth/

/usr/sbin/bluetooth_rfkill_event

/usr/sbin/brcm_patchram_plus

As the original files from the Yocto image are looking for the bluetooth firmware in the etc folder (instead that from the /lib/firmware) from your Edison ubilinux run:

$ mkdir /etc/firmware

$ cp /lib/firmware/bcm43341.* /etc/firmware/

now from your Edison ubilinux run the bluetooth_rfkill_event in background:

$ bluetooth_rfkill_event &

$ rfkill unblock bluetooth

now you should see the BT device

$ hciconfig dev

and scan for other devices

$ hcitool scan

I didn't have too much time to provide a script or something more straightforward, but that it is a start.

ddevs
Novice
569 Views

Yeay, Thanks Daniele.

That was very fast than what I'm expecting.

I'll try it out when I came back from work today.

Yes, hoping those firmware (blob?) file etc will be included in the next ubilinux iteration.

(Hoping that no regulation or law that prohibit that)

Cheers,

devsar

TLHUI
New Contributor II
554 Views

Hi Daniele_Cleri

I would like to install bluetooth in my edison, i follow your indications but when I execute :

root@ubilinux:~/bluez-5.24# ./configure –disable-systemd

I have error, I try two times and i have reflash, after the new flash i have only update/upgrade and install wifi with this root script (rcX.d)

My errors are :

root@ubilinux:~/bluez-5.24# ./configure –disable-systemd

configure: WARNING: you should use --build, --host, --target

configure: WARNING: invalid host type: –disable-systemd

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... no

checking for mawk... mawk

checking whether make sets $(MAKE)... yes

checking whether make supports nested variables... yes

checking how to create a pax tar archive... gnutar

checking for style of include used by make... GNU

checking for –disable-systemd-gcc... no

checking for gcc... gcc

checking whether the C compiler works... yes

checking for suffix of executables...

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking dependency style of gcc... gcc3

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking minix/config.h usability... no

checking minix/config.h presence... no

checking for minix/config.h... no

checking whether it is safe to define __EXTENSIONS__... yes

checking whether make supports nested variables... (cached) yes

checking whether to enable maintainer-specific portions of Makefiles... no

checking for –disable-systemd-pkg-config... no

checking for pkg-config... /usr/bin/pkg-config

checking pkg-config is at least version 0.9.0... yes

checking for C/C++ restrict keyword... __restrict

checking for –disable-systemd-gcc... gcc

checking whether we are using the GNU C compiler... (cached) yes

checking whether gcc accepts -g... (cached) yes

checking for gcc option to accept ISO C89... (cached) none needed

checking dependency style of gcc... (cached) gcc3

checking whether gcc and cc understand -c and -o together... yes

checking whether gcc accepts -fPIE... yes

checking build system type... Invalid configuration `–disable-systemd': machine `–disable' not recognized

configure: error: /bin/bash ./config.sub –disable-systemd failed

root@ubilinux:~/bluez-5.24# make -j 2

make: *** No targets specified and no makefile found. Stop.

I have try with bluez-5.27 same problems.

Very Thanks

ttar
New Contributor II
554 Views

it is --disable-systemd

(I have found that sometimes this forum seems to transpose "--" into a single hyphen (or en-dash? em-dash?) instead.)

also, if you're using ubilinux, the bluez version from apt "should" be sufficient, you probably don't need to build the latest one (which is 5.27 now, anyway) - I have been using the v4.99-2 binaries from debian repository, and everything works ok so far.

TLHUI
New Contributor II
554 Views

Thanks for answer

Yes I tried it the '--' , but always the same problem, just the end text who change

checking build system type... Invalid configuration `–-disable-systemd': machine `–-disable' not recognized

configure: error: /bin/bash ./config.sub –-disable-systemd failed

I will try the antirior version (4.9) and i give my feedback here

LMont14
New Contributor I
554 Views

i'm trying to use edison with wifi direct in ubilinux, it could be possible?? If i can't, how do you recommendme to communicate our edison with a android system using wifi??'

BSout
Novice
569 Views

Big thanks for the work here folks. Just some notes below on my experience trying to flash this.

 

 

It took me a while to realize that xFSTK wasn't compiling because I was running on 14.04 64-bit. I think I read something on another post much later on about needing libusb-i386 for it to work, but that was after I had decided to load up 12.04-32bit in a virtualbox VM and it compiled just fine there. Sadly, the throughput while flashing this way was terrible and it took forever to flash the root image. I wouldn't suggest this method for others, but if you've got a sufficiently beefy host and enjoy waiting 30 minutes or more for the flash to complete here are the details for creating filters to connect the USB devices to the VM (took a little poking with lsusb and dmesg to track down the details on the last one)

Intel Edison 8087:0a9e

INTEL MERRIFIELD 8086:e005

Intel USB download gadget 8087:0a99

Resist the urge to connect the FTDI through the VM, monitoring the serial console from the host system works just fine.

Note, the version of virtualbox that apt-get installs doesn't seem to support USB so I had to download the normal version from oracle.

FAIR WARNING - In hindsight this might not have been the best idea I've had.

I ran this on an 8-core box with 16Gb ram and while my compile times were great in the VM, flashing was painfully slow.

If you're impatient and interrupt the flashing process you could possibly brick your device

If your host system chokes the VM, I'm not sure but there could be a potential for flashing to fail and brick your device.

(not sure if it would be soft-brick or hard-brick as I think that depends on how uboot is configured, maybe someone here can answer to that)

After that I was able to use Daniele's instructions to get bluetooth working.

A bit of messing about with bluez-alsa and configuring asound.conf and now I can use the edison with my bluetooth headphones.

DHunt5
Valued Contributor I
569 Views

xFSTK no longer necessary. Check this post:

/message/257617# 257617 https://communities.intel.com/message/257617# 257617

MMich22
New Contributor II
569 Views

Is it right that this debian version is based on the same kernel? Does anyone else receive errors on the console trying to use ethernet over usb? Seems packages get lost.

DHunt5
Valued Contributor I
569 Views

I'm using ethernet over usb all the time, and have not seen any problems. Are you using a good quality cable?

MMich22
New Contributor II
569 Views

root@ubilinux:~# [ 3113.267128] dwc3-device dwc3-device.1: request f5f09c00 was not queued to ep6in-bulk

[ 3113.267234] dwc3-device dwc3-device.1: request f5f09cc0 was not queued to ep6in-bulk

This is what I get every now and then. I did not change anything since I flashed the edison.

Ideas?

DHunt5
Valued Contributor I
569 Views

I'm not sure I understand your question about the kernel. But I'm assuming you're asking why the kernel is the same as the yocto version, then it's because of the 100,000 line patch that needs to be applied to the kernel to enable all the Edison features. It was the easiest path to getting something booting.

MMich22
New Contributor II
579 Views

Maybe it is me but I do have problem logging onto a WPA2 wlan. I just edited the /etc/network/interfaces file but it does not seem to connect because I can not ping the server.

[ 193.956914] wl_bss_connect_done succeeded with e0:ff:ff:ff:4b:e0

[ 193.977522] CFG80211-ERROR) wl_is_linkdown : Link down Reason : WLC_E_DISASSOC_IND

[ 193.977600] link down if wlan0 may call cfg80211_disconnected. event : 12, reason=14 from e0:ff:ff:ff:4b:e0

[ 193.979886] CFG80211-ERROR) wl_is_linkdown : Link down Reason : WLC_E_LINK

[ 193.983234] cfg80211: Calling CRDA to update world regulatory domain

[ 198.341794] CFG80211-ERROR) wl_cfg80211_connect : Connectting withe0:ff:ff:ff:4b:e0 channel (1) ssid "WIFI", len (22)

MMoy
New Contributor II
579 Views

Had same issue, then i did the following and it worked.

nano /etc/network/interfaces

Replaced and put this in there.

auto lo

iface lo inet loopback

iface eth0 inet dhcp

auto wlan0

iface wlan0 inet dhcp

wireless mode managed

wireless essid any

wpa-driver wext

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Then.....

nano /etc/wpa_supplicant/wpa_supplicant.conf

Replaced and put this in there.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

ssid="xxxxxxxxxxxx"

psk="xxxxxxxxxx"

}

Then reboot

MMich22
New Contributor II
579 Views

This is what I get after trying what you wrote here.

root@ubilinux:~# ifup wlan0

wpa_supplicant: /sbin/wpa_supplicant daemon failed to start

run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1

MMoy
New Contributor II
579 Views
MMich22
New Contributor II
579 Views
MMoy
New Contributor II
579 Views

My apologies, there was an extra line in interfaces that needs to be removed.

Remove the "iface eth0 inet dhcp"

So now it should look like this.

# interfaces(5) file used by ifup(8) and ifdown(8)

auto lo

iface lo inet loopback

auto wlan0

iface wlan0 inet dhcp

wireless mode managed

wireless essid any

wpa-driver wext

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Try that.

MMich22
New Contributor II
579 Views

Thank you very much I will try that and give you a feedback later on. I'm still not sure if this will workout because the error is based on the wpa_supplicant and not on the network interfaces configuration as far as I got it.

GSwan
Novice
579 Views

David,

I have everything up and running, but a question has come up... does this distribution support cifs? I ask because when I try mout.cifs I get an error that cifs is not supported.

Is there another way to mount a shared folder on a Windows machine?

Thanks,

Glen

Michael_J_Intel1
Employee
579 Views

Fantastic contribution! I was hoping someone would do something like this. Within a few days of installing ubilinux, I was able to install all of the packages required to compile linuxcnc in simulation mode displaying on a remote X server. Next stop: compiling a real-time Xenomai kernel to replace the existing Edison kernel.

Reply