Help port R to the BeagleBoard / Angstrom for $1,000

44 views
Skip to first unread message

jkridner

unread,
Jul 25, 2010, 7:25:22 AM7/25/10
to beagl...@googlegroups.com
I thought this challenge warranted sharing with the entire BeagleBoard mailing list, since Matt is offering $1,000 and it sounds like a productive endeavor, especially now that the Bug Labs guys have full OpenJDK and SharkVM running on the ARM Cortex-A8, including the BeagleBoard and on Angstrom. Besides, I'd love to see more people introduce these Neuros-style bounties (and on more platforms, including MeeGo) sponsored by people interested in moving the state of technology forward, as long as it doesn't become the expected way to get anything done in the community. Hope someone picks this one up...

 
 

Sent to you by jkridner via Google Reader:

 
 

via Antipasto Hardware Blog by Matt on 7/23/10

Ok... I've been fooling around with the BeagleBoard for some time now, and I have a couple observations to make. First of all, it's crazy powerful. You can do a lot more than you'd expect, since the processor is so fast. I mean, seriously, it's faster than most Android handsets out there. So every app that could run on an Android phone can run on the BeagleBoard (in theory).

The BeagleBoard has full Linux programming libraries, Makefile, gcc, perl, you name it, built in, and that makes programming a cinch in most cases. However.... some of my favorite applications on Linux are a little harder than others to port to the BeagleBoard. Including R, for instance. R is a statistical programming package that a lot of people use in the government and military and NSA to do advanced signal and data processing. I've been learning it in my spare time, and I think it would be really cool to have a portable version of it on a handheld.

I tried to get it running on my BeagleBoard, but alas, I'm not much of a software guy (I'm much more hardware). I failed to get past some of the java lib dependencies, and don't know how to install those on Angstrom without totally recompiling everything. I was over at MIT this past week, just reading in the QA stacks library (I sneak in from time to time and just camp out there for hours with Chris), and we started talking about how whether it was doable. Chris bet me $500 that I could do it. Then I joked, well I'll bet $500 that I can't.

$500 + $500 = $1,000

I would pay $1,000 in real dollars (not gift certificates and useless things like that, I mean actual cash) to the first person who can demonstrate it running, and provide links to either a tar, or zip, or image, so I can get it up and running on my own too. The solution has to be open source, and publicly shareable.


Personally, I think it's impossible. That's why I'm saying $1,000 and not like $200 or something like that. But even I'm somewhat realistic, so here's a list of "anti-conditions":

  • R has a lot of built in libraries that do graphing, visuals, etc. it doesn't need to do any of that stuff
  • Command line only is fine, no need for to port the GUI, I don't even know if that's possible
  • Obviously it should run whatever can be run within the memory limits of the BeagleBoard in RAM, and that will probably mean some of the base packages won't auto-load
  • It should at least have a basic R command line, and be able to instantiate arrays and user defined functions, etc.

I don't really want to call this a "contest" because it's not, it's just a $1,000 check that I'll write if someone can help me port R to the BeagleBoard... if it's even possible.

 
 

Things you can do from here:

 
 

Koen Kooi

unread,
Jul 25, 2010, 9:22:12 AM7/25/10
to beagl...@googlegroups.com
Op 25 jul 2010, om 13:25 heeft jkridner het volgende geschreven:

> I thought this challenge warranted sharing with the entire BeagleBoard mailing list, since Matt is offering $1,000 and it sounds like a productive endeavor, especially now that the Bug Labs guys have full OpenJDK and SharkVM running on the ARM Cortex-A8, including the BeagleBoard and on Angstrom. Besides, I'd love to see more people introduce these Neuros-style bounties (and on more platforms, including MeeGo) sponsored by people interested in moving the state of technology forward, as long as it doesn't become the expected way to get anything done in the community. Hope someone picks this one up...

I hope this qualifies: http://www.angstrom-distribution.org/~koen/r_2.11.1-r0.5_armv7a.ipk :) I had to cheat a bit because my debian host has a broken fortran, so I compiled it natively on my xM and then packaged it using OE.

root@beagleboard-xM:~# uname -a
Linux beagleboard-xM 2.6.32 #2 PREEMPT Wed Jul 21 12:51:02 CEST 2010 armv7l GNU/Linux
root@beagleboard-xM:~# R

R version 2.11.1 (2010-05-31)
Copyright (C) 2010 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
> y <- c(x, 0, x)
> 1/x
[1] 0.09615385 0.17857143 0.32258065 0.15625000 0.04608295
>


regards,

Koen


> Sent to you by jkridner via Google Reader:
>
>
> Help port R to the BeagleBoard / Angstrom for $1,000
> via Antipasto Hardware Blog by Matt on 7/23/10
> Ok... I've been fooling around with the BeagleBoard for some time now, and I have a couple observations to make. First of all, it's crazy powerful. You can do a lot more than you'd expect, since the processor is so fast. I mean, seriously, it's faster than most Android handsets out there. So every app that could run on an Android phone can run on the BeagleBoard (in theory).
>
> The BeagleBoard has full Linux programming libraries, Makefile, gcc, perl, you name it, built in, and that makes programming a cinch in most cases. However.... some of my favorite applications on Linux are a little harder than others to port to the BeagleBoard. Including R, for instance. R is a statistical programming package that a lot of people use in the government and military and NSA to do advanced signal and data processing. I've been learning it in my spare time, and I think it would be really cool to have a portable version of it on a handheld.
>
> I tried to get it running on my BeagleBoard, but alas, I'm not much of a software guy (I'm much more hardware). I failed to get past some of the java lib dependencies, and don't know how to install those on Angstrom without totally recompiling everything. I was over at MIT this past week, just reading in the QA stacks library (I sneak in from time to time and just camp out there for hours with Chris), and we started talking about how whether it was doable. Chris bet me $500 that I could do it. Then I joked, well I'll bet $500 that I can't.
>
> $500 + $500 = $1,000
>
> I would pay $1,000 in real dollars (not gift certificates and useless things like that, I mean actual cash) to the first person who can demonstrate it running, and provide links to either a tar, or zip, or image, so I can get it up and running on my own too. The solution has to be open source, and publicly shareable.
>
>

> Personally, I think it's impossible. That's why I'm saying $1,000 and not like $200 or something like that. But even I'm somewhat realistic, so here's a list of "anti-conditions":
>
> • R has a lot of built in libraries that do graphing, visuals, etc. it doesn't need to do any of that stuff
> • Command line only is fine, no need for to port the GUI, I don't even know if that's possible
> • Obviously it should run whatever can be run within the memory limits of the BeagleBoard in RAM, and that will probably mean some of the base packages won't auto-load
> • It should at least have a basic R command line, and be able to instantiate arrays and user defined functions, etc.
>
> I don't really want to call this a "contest" because it's not, it's just a $1,000 check that I'll write if someone can help me port R to the BeagleBoard... if it's even possible.
>
>
>
>

> Things you can do from here:
> • Subscribe to Antipasto Hardware Blog using Google Reader
> • Get started using Google Reader to easily keep up with all your favorite sites
>
>
>

> --
> You received this message because you are subscribed to the Google Groups "Beagle Board" group.
> To post to this group, send email to beagl...@googlegroups.com.
> To unsubscribe from this group, send email to beagleboard...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.

h...@computer.org

unread,
Jul 25, 2010, 10:09:50 AM7/25/10
to Beagle Board
Does this qualify as well?

Install Debian Lenny, u-boot and a kernel on a SD card from

http://download.goldelico.com/ombeagle/20100715-lenny/

boot and login. Make sure the host works as a internet router.


Linux bb-debian 2.6.32 #48 PREEMPT Tue Jun 8 14:21:52 CEST 2010 armv7l

The programs included with the Debian GNU/Linux system are free
software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Jul 23 12:48:05 2010 from 192.168.0.200
bb-debian:~# apt-get install r-base
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libgfortran3 libpaper-utils libpaper1 r-base-core r-cran-boot r-cran-
cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-
lattice r-cran-mgcv r-cran-nlme r-cran-rpart r-cran-survival r-cran-vr
r-recommended tk8.4
unzip zip
Suggested packages:
ess r-doc-info r-doc-pdf r-doc-html r-mathlib
Recommended packages:
r-base-html r-base-latex r-base-dev
The following NEW packages will be installed:
libgfortran3 libpaper-utils libpaper1 r-base r-base-core r-cran-boot
r-cran-cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth r-
cran-lattice r-cran-mgcv r-cran-nlme r-cran-rpart r-cran-survival r-
cran-vr r-recommended
tk8.4 unzip zip
0 upgraded, 20 newly installed, 0 to remove and 1 not upgraded.
Need to get 18.2MB of archives.
After this operation, 64.3MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://ftp.de.debian.org stable/main libgfortran3 4.3.2-1.1
[211kB]
Get:2 http://ftp.de.debian.org stable/main libpaper1 1.1.23+nmu1
[21.9kB]
Get:3 http://ftp.de.debian.org stable/main libpaper-utils 1.1.23+nmu1
[18.3kB]
Get:4 http://ftp.de.debian.org stable/main zip 2.32-1 [110kB]
Get:5 http://ftp.de.debian.org stable/main unzip 5.52-12 [163kB]
Get:6 http://ftp.de.debian.org stable/main tk8.4 8.4.19-2 [1022kB]
Get:7 http://ftp.de.debian.org stable/main r-base-core 2.7.1-1+lenny1
[11.0MB]
Get:8 http://ftp.de.debian.org stable/main r-cran-boot 1.2.33-1
[458kB]
Get:9 http://ftp.de.debian.org stable/main r-cran-cluster 1.11.11-1
[343kB]
Get:10 http://ftp.de.debian.org stable/main r-cran-foreign 0.8.27-1
[154kB]
Get:11 http://ftp.de.debian.org stable/main r-cran-vr 7.2.42-1
[971kB]
Get:12 http://ftp.de.debian.org stable/main r-cran-kernsmooth
2.22.22-1
[51.7kB]
Get:13 http://ftp.de.debian.org stable/main r-cran-lattice 0.17-10-1
[598kB]
Get:14 http://ftp.de.debian.org stable/main r-cran-mgcv 1.4-1-1
[658kB]
Get:15 http://ftp.de.debian.org stable/main r-cran-nlme 3.1.89-1
[1346kB]
Get:16 http://ftp.de.debian.org stable/main r-cran-survival 2.34-1-1
[833kB]
Get:17 http://ftp.de.debian.org stable/main r-cran-rpart 3.1.41-1
[160kB]
Get:18 http://ftp.de.debian.org stable/main r-cran-codetools 0.2-1-1
[39.8kB]
Get:19 http://ftp.de.debian.org stable/main r-recommended
2.7.1-1+lenny1
[2208B]
Get:20 http://ftp.de.debian.org stable/main r-base 2.7.1-1+lenny1
[29.7kB]
Fetched 18.2MB in 21s (842kB/
s)
debconf: delaying package configuration, since apt-utils is not
installed
Selecting previously deselected package libgfortran3.
(Reading database ... 25829 files and directories currently
installed.)
Unpacking libgfortran3 (from .../libgfortran3_4.3.2-1.1_armel.deb) ...
Selecting previously deselected package libpaper1.
Unpacking libpaper1 (from .../libpaper1_1.1.23+nmu1_armel.deb) ...
Selecting previously deselected package libpaper-utils.
Unpacking libpaper-utils (from .../libpaper-
utils_1.1.23+nmu1_armel.deb) ...
Selecting previously deselected package zip.
Unpacking zip (from .../archives/zip_2.32-1_armel.deb) ...
Selecting previously deselected package unzip.
Unpacking unzip (from .../unzip_5.52-12_armel.deb) ...
Selecting previously deselected package tk8.4.
Unpacking tk8.4 (from .../tk8.4_8.4.19-2_armel.deb) ...
Selecting previously deselected package r-base-core.
Unpacking r-base-core (from .../r-base-
core_2.7.1-1+lenny1_armel.deb) ...
Selecting previously deselected package r-cran-boot.
Unpacking r-cran-boot (from .../r-cran-boot_1.2.33-1_all.deb) ...
Selecting previously deselected package r-cran-cluster.
Unpacking r-cran-cluster (from .../r-cran-
cluster_1.11.11-1_armel.deb) ...
Selecting previously deselected package r-cran-foreign.
Unpacking r-cran-foreign (from .../r-cran-
foreign_0.8.27-1_armel.deb) ...
Selecting previously deselected package r-cran-vr.
Unpacking r-cran-vr (from .../r-cran-vr_7.2.42-1_armel.deb) ...
Selecting previously deselected package r-cran-kernsmooth.
Unpacking r-cran-kernsmooth (from .../r-cran-
kernsmooth_2.22.22-1_armel.deb) ...
Selecting previously deselected package r-cran-lattice.
Unpacking r-cran-lattice (from .../r-cran-
lattice_0.17-10-1_armel.deb) ...
Selecting previously deselected package r-cran-mgcv.
Unpacking r-cran-mgcv (from .../r-cran-mgcv_1.4-1-1_armel.deb) ...
Selecting previously deselected package r-cran-nlme.
Unpacking r-cran-nlme (from .../r-cran-nlme_3.1.89-1_armel.deb) ...
Selecting previously deselected package r-cran-survival.
Unpacking r-cran-survival (from .../r-cran-
survival_2.34-1-1_armel.deb) ...
Selecting previously deselected package r-cran-rpart.
Unpacking r-cran-rpart (from .../r-cran-rpart_3.1.41-1_armel.deb) ...
Selecting previously deselected package r-cran-codetools.
Unpacking r-cran-codetools (from .../r-cran-
codetools_0.2-1-1_all.deb) ...
Selecting previously deselected package r-recommended.
Unpacking r-recommended (from .../r-
recommended_2.7.1-1+lenny1_all.deb) ...
Selecting previously deselected package r-base.
Unpacking r-base (from .../r-base_2.7.1-1+lenny1_all.deb) ...
Setting up libgfortran3 (4.3.2-1.1) ...
Setting up libpaper1 (1.1.23+nmu1) ...

Creating config file /etc/papersize with new version
Setting up libpaper-utils (1.1.23+nmu1) ...
Setting up zip (2.32-1) ...
Setting up unzip (5.52-12) ...
Setting up tk8.4 (8.4.19-2) ...
Setting up r-base-core (2.7.1-1+lenny1) ...
Setting R_PAPERSIZE_USER default to 'a4'

Creating config file /etc/R/Renviron with new version
Setting up r-cran-boot (1.2.33-1) ...
Setting up r-cran-cluster (1.11.11-1) ...
Setting up r-cran-foreign (0.8.27-1) ...
Setting up r-cran-vr (7.2.42-1) ...
Setting up r-cran-kernsmooth (2.22.22-1) ...
Setting up r-cran-lattice (0.17-10-1) ...
Setting up r-cran-mgcv (1.4-1-1) ...
Setting up r-cran-nlme (3.1.89-1) ...
Setting up r-cran-survival (2.34-1-1) ...
Setting up r-cran-rpart (3.1.41-1) ...
Setting up r-cran-codetools (0.2-1-1) ...
Setting up r-recommended (2.7.1-1+lenny1) ...
Setting up r-base (2.7.1-1+lenny1) ...
bb-debian:~# R

R version 2.7.1 (2008-06-23)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
> y <- c(x, 0, x)
> 1/x
[1] 0.09615385 0.17857143 0.32258065 0.15625000 0.04608295
> q()
Save workspace image? [y/n/c]: n
bb-debian:~# uname -a
Linux bb-debian 2.6.32 #48 PREEMPT Tue Jun 8 14:21:52 CEST 2010 armv7l
GNU/Linux
bb-debian:~# cat /proc/cpu
cat: /proc/cpu: Is a directory
bb-debian:~# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 696.20
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xc08
CPU revision : 3

Hardware : OMAP3 Beagle Board
Revision : 0020
Serial : 0000000000000000
bb-debian:~#

Koen Kooi

unread,
Jul 25, 2010, 10:21:05 AM7/25/10
to beagl...@googlegroups.com
Debian != angstrom

h...@computer.org

unread,
Jul 25, 2010, 11:20:52 AM7/25/10
to Beagle Board
On 25 Jul., 16:21, Koen Kooi <k...@beagleboard.org> wrote:
> Debian != angstrom

I didn't recognize that ($$$ makes people greedy). Sorry.

But I already had thought that "apt-get install" would be too simple
to earn 1000 $ :)

Michael Zucchi

unread,
Jul 26, 2010, 3:20:26 AM7/26/10
to beagl...@googlegroups.com
On 25 July 2010 20:55, jkridner <jkri...@beagleboard.org> wrote:

Besides, I'd love to see more people introduce these Neuros-style bounties (and on more platforms, including MeeGo) sponsored by people interested in moving the state of technology forward, as long as it doesn't become the expected way to get anything done in the community. Hope someone picks this one up...

From my experience and observation they aren't really all that much use.

We tried it at one time with Evolution (&/or GNOME, i can't remember) - way back around 2003 iirc.  Generally you attract people who just want the money, who aren't much use for any free software that doesn't earn any, and if that's their general motivation in life they probably wont have a passion for it either.  They still need a lot of help since it isn't ever enough money for experienced people to bother and they usually piss off straight afterwards leaving you with more and unfamiliar code to maintain.  AROS has done it for ages too, but at least from observation they don't seem to get much traction from them (at least in terms of growing the developer community).

IMHO if they became common they would be become the expected way for lots of work to be done.  Kind of like the GSOC thing - quite a few `students' seem to be doing projects every year just for the money + CV, and so would not bother doing projects which don't have that GSOC sponsorship.

Well just my 5c

 !Z

Jason Kridner

unread,
Jul 26, 2010, 9:39:45 AM7/26/10
to beagl...@googlegroups.com

I certainly have that fear as well--which is why I never want to make
it an official beagleboard.org thing, but I've seen it make some
short-term impact (potentially at the expense of long-term growth).
If it is out on the fringe and not getting overly tied to the way we
do things here, I can see it solving problems.

In this case, it seems R was already in a big distro (Debian) and that
putting it on Angstrom was just a matter of running the native build
tools. Hardly seems like something to get the community excited about
now, but I hope that Matt will better note the capability of both the
BeagleBoard and community.

multiv...@gmail.com

unread,
Jan 11, 2014, 11:40:33 PM1/11/14
to beagl...@googlegroups.com, jkri...@beagleboard.org
Let me start by apologizing for my ignorance.  I am new to linux command lines, and recently got started with a beaglebone black. I am familiar with R and I think I could make use of it on my next project, just some basic data collection and analysis.   As best as I can follow it looks like you guys got R installed on Angstrom.  Could I get some step by step installation instructions for a complete newbie?  They may already be in this thread, but I can't seem to sort them out.
Thanks
Reply all
Reply to author
Forward
0 new messages