Community
cancel
Showing results for 
Search instead for 
Did you mean: 
idata
Community Manager
1,827 Views

Why Do We have 2 Separate Official Images?

Hello community...

So we have two links to download Galileo's images from:

It seems that the first link is newer. (I did a cat /etc/version)

However, I tried to update libmraa0 on both the images... On the first one, opkg list | grep libmraa0 returns:

root@galileo200:~# opkg list | grep libmraa0

libmraa0 - 0.6.2 - mraa built using CMake

libmraa0 - 0.6.2.13 - mraa built using CMake

root@galileo200:~# cat /etc/version # pasted here FYI

201510010732

Whereas, on the other one, I have:

root@galileo201:~# opkg list | grep libmraa0

libmraa0 - 0.7.2-r0.0 - Low Level Skeleton Library for Communication on Intel platforms Low

libmraa0 - 0.6.2.13 - mraa built using CMake

libmraa0 - 0.7.3

root@galileo201:~# cat /etc/version

201506210418

What can be the problem? I have tried this with fresh SD images.

btw, the libraries on my edison I have this: http://pastebin.com/9M92uvY6 [Bash] edison mraa - Pastebin.com

Thanks in advance!

Taimoor

10 Replies
Pedro_M_Intel
Employee
75 Views

Hello Taimoor,

There are a few reasons why this is, for example, the uClibc image is a "lighter" image meanwhile the eglibc image has better compatibility with Linux packages. In the case you specify, MRAA is originally compiled for the eglibc image therefore there are newer versions available, meanwhile the uClibc image can have MRAA but you have to do a more complex process to get it.

I think the following article might be able to describe the differences between uClibc and eglibc better than me:

http://www.eglibc.org/faq EGLIBC: FAQ

Peter.

idata
Community Manager
75 Views

Hello Peter,

Thank you for your response... If you follow the links again, I'm talking about the Eglibc images. Both expand to about 1.2 -- 1.3GB.

Look at the shell outputs again. If you study the filenames, one is an *.xz archive whereas the other is a *.bz2 archive.

I think there is a sync issue between the links. You ought to have one official image right? And shouldn't we be able to "upgrade" to the latest MRAA on the official image?

Thank you very much

Taimoor

idata
Community Manager
75 Views

Hello Peter,

Any updates on this?

Thanks!

Pedro_M_Intel
Employee
75 Views

Let me check the differences of them both and I'll get right back to you.

Peter.

idata
Community Manager
75 Views

Hello @Intel_Peter,

The image linked from https://software.intel.com/en-us/iot/library/galileo-getting-started IoT - Intel® Galileo Board Get Started Guide | Intel® Developer Zone is not the one that we should use. (I mean, this following image should not be used: http://iotdk.intel.com/images/iot-devkit-latest-mmcblkp0.direct.bz2 http://iotdk.intel.com/images/iot-devkit-latest-mmcblkp0.direct.bz2 )

Why? It uses a very old version of mraa and upm libraries that eclipse does not seem to be able to update. A "uname -a" however gives the same string as the other image I'm going to point to next...

We should use the image from the Galileo downloads page (https://software.intel.com/en-us/iot/hardware/galileo/downloads IoT - Intel® Galileo Board Download ): http://downloadmirror.intel.com/25384/eng/iot-devkit-201510010757-mmcblkp0-galileo.direct.xz http://downloadmirror.intel.com/25384/eng/iot-devkit-201510010757-mmcblkp0-galileo.direct.xz (we use this!!)

The libraries are smoothly updated by the latest eclipse IDE.

I learned this the hard way. Hope it helps someone else avoid a lot of confusion.

- Taimoor

JTurn12
New Contributor II
75 Views

Thanks for posting this Taimoor.

I am using the top version you posted (bz2) and i definitely get the repository out of date error each time i use Eclipse. This hasn't prevented me from successfully executing the "blink" example but will probably pose problems in the future?

Do you think theres anyway to update the libraries directly from command line without wiping my sd card?

cheers

idata
Community Manager
75 Views

I don't know for sure. I guess its a good idea to change the images now rather than later. Of course the blinky example works but the new libraries bring in more updates and bug fixes. Even the examples on Github use the new libs. The most incompatible change to your code is I guess how enums are used in C++: (MRAA_SOMETHING_SOMETHING is replaced by mraa::SOMETHING_SOMETHING)...

Intel ought to fix the links asap as newbies can't possibly figure this out and will always get stuck.

JTurn12
New Contributor II
75 Views

I think I see the issue:

This page https://software.intel.com/en-us/iot/hardware/galileo/downloads IoT - Intel® Galileo Board Download | Intel® Developer Zone

says that the .bz file is no longer supported and to use the .DIRECT.xz file.

but then,at the iot installation instructions page https://software.intel.com/en-us/programming-blank-sd-card-with-yocto-linux-image-windows Making a bootable micro SD Card with Windows* | Intel® Developer Zone,

it points back to that .bz file rather than the .xz file.

idata
Community Manager
75 Views

*.bz2 and *.xz are only extensions. The difference on the page highlights that the uClibc image isn't supported (that's the bz file on the "Galileo Board Download ..." page). The images I pointed out are both EGlibc. The image on the "Making a bootable micro SD card with ..." points to an EGlibc image with a *.direct.bz2 extension which apparently isn't the one we want to use.

JTurn12
New Contributor II
75 Views

Thanks for bringing this up Tai.

I reloaded my SDcard with that .xz image and all the libraries synced successfully within Eclipse.

Reply