[meta-intel] galileo
Cal Sullivan
california.l.sullivan at intel.com
Mon Mar 12 11:55:05 PDT 2018
Adding Stephano to CC. He's recently played with a Galileo and I think
he got some of the stuff you're asking about to work on the 4.14 kernel.
A couple responses inline below...
On 03/11/2018 02:10 PM, Trevor Woerner wrote:
> Hi,
>
> I realize that the Galileo board has been completely abandoned; I'm
> not looking for "official" information, but I'm hoping someone would
> be willing to provide some anecdotal information... perhaps offline?
>
> I thought it would be a fun exercise to investigate updating the Linux
> image and arduino-IDE-toolchain for my Galileo Gen2 board.
> Unfortunately I've hit some walls and was looking for some ideas.
>
> With its LOCKing problem[*1], projects like Yocto and Buildroot are
> natural homes for Galileo support. It looks as though Galileo support
> was added to The Yocto Project somewhere around Dylan [1.4] with
> https://github.com/intel/Galileo-Runtime.git. Using the
> sub-repositories found there and a virtual machine I'm able to build a
> working toolchain which I can install in my Arduino 1.8.5 IDE to
> build, upload, and run Blink. I can also build a rootfs image, but
> there isn't much in the way of guidance on how to get the resulting
> artifacts cobbled together onto an SDcard. But if I leave the SDcard
> slot empty, I can boot the default flash image that was shipped with
> the board (which is based on Dylan), and the IDE and sketches all
> work[*2].
>
> After Dylan, Galileo-Runtime.git appears to have been abandoned (it's
> still stuck at Dylan) and meta-intel-quark and meta-intel-galileo
> appear... for Daisy [1.6]. Building with these layers (with everything
> setup for Daisy) doesn't work out-of-the-box due to some complaining
> about circular dependencies of initscripts on initscripts. I've tried
> several different things and combinations, but I can't successfully
> build an image or toolchain using these layers. These layers also have
> Dizzy [1.7] branches, so I gave those a whirl too without any success
> either.
>
> After Dizzy, meta-intel-quark and meta-intel-galileo appear to have
> been abandoned and Quark/Galileo support migrated to meta-intel (and
> was subsequently removed after Rocko [2.4]). Along that path, the
> bootloader moved from grub0 to gummiboot to systemd-boot. The
> out-of-tree binutils -mquark-strip-lock patch was upstreamed as the
> -momit-lock-prefix option. The meta-intel layer included wic support
> making it dead-simple to create an SDcard from the build artifacts
> (yay!). Uclibc support died with Krogoth [2.1] (boo). And the
> suggested kernel for Quark moved from upstream linux-3.8 with about
> two dozen patches, to linux-intel-4.9 (as-is)... and this is where I'm
> stuck.
>
> In the early days it doesn't seem like there was much distinction
> between Quark and Galileo, they were mostly synonymous. But by the
> time we get to Rocko, we find that the linux-intel kernel has support
> for Quark, but nothing for Galileo. When I boot the factory-installed
> Dylan image, I find loads of stuff under /sys/class/gpio,
> /sys/class/pwm, and /sys/class/platform which are what the Arduino
> code uses for identification and interaction with the Arduino headers.
> When I run linux-intel[*3] I have a /sys/class/gpio that only claims 8
> gpios are available for use, none of which appear to relate to the
> Arduino headers. Was the Galileo support never "upstreamed"? Not even
> in Intel's own kernel fork?
The linux-intel fork is essentially upstream + patches destined for
upstream only. If the Galileo support never went upstream, it wouldn't
make it into linux-intel, either.
>
> With Rocko I can build a bootable image (yay!!) but without proper
> kernel support for Galileo the Arduino code stops quite abruptly when
> it finds it can't find /sys/class/platform/GalileoGen2. At this point
> I started looking at mraa/upm as a replacement for the Arduino
> libraries, but they have a similar problem. When trying to run the
> "blink_onboard.c" example program (the mraa equivalent to Arduino's
> Blink program) it fails because it wants to use GPIO13 and 31, but the
> kernel says there are only 8 GPIOs available.
I think the kernel offset these by 256 or something... Stephano can
probably help here. I believe he got GPIO stuff working.
>
> In summary:
> - I can build a toolchain using Galileo-Runtime.git and Poky Dylan in
> a VM that I can install in place of the Arduino toolchain, but this
> doesn't gain me much since the default Arduino toolchain is based on
> these same layers/versions[*4]
> - I can build, but can't assemble a working rootfs for my Galileo from
> Dylan
> - I can't build a toolchain nor assemble a working rootfs from
> anything until I get to Rocko
> - with Rocko I can build a bootable rootfs for my Galileo and a
> working toolchain for Arduino and/or I can use mraa/upm; however none
> of these programs work because although Rocko supports Quark (to some
> extent) support for Galileo seems to have stopped back in Dylan
>
> Thank you for reading to the end. I'm curious to know if anyone would
> like to comment on my findings and perhaps correct any historical
> inaccuracies or confirm what I've found. I'm also hoping someone might
> know of a repository somewhere out there with a more recent linux
> kernel with Quark+Galileo support that will work with Rocko.
>
> It's too bad there isn't a meta-intel-community layer out there where
> support for non-supported things could live on.
>
> Best regards,
> Trevor
>
>
>
> [*1] https://en.wikipedia.org/wiki/Intel_Quark#Segfault_bug
> [*2] the galileo arduino libraries are found at
> https://github.com/01org/corelibs-galileo
> [*3] which, by the way, is not even setup for Quark; i had to search
> for and enable a couple more Quark-specific kernel configuration
> options in order to get "full" Quark support from linux-intel!
If you have a list please share it!
Thanks,
Cal
> [*4] although on my openSUSE system, the default toolchain that is
> installed by the Arduino IDE is broken, so i do gain is the ability to
> properly compile and upload sketches
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-intel/attachments/20180312/a633d87c/attachment-0001.html>
More information about the meta-intel
mailing list