Contributing to Beagleboard as well as GSoC

Hello everyone,
I am a 3rd year student purusing engineering on Computer Science. From the past two years, I have been working with arduino and robotics. I have knowledge of digital electronic circuits as well. I want to contribute to beagleboard. Recently, I have purchased a beagleboard and I am learning bonescript now. I went through the GSoC ideas page and found the PRU Bridge project interesting. I have intermediate knowledge of C like interprocess communications, multithreading, sockets etc and I have good knowledge of NodeJs. I have already implemented backend of a website using NodeJs. I need help in contributing to beagleboard.

Hello Amulya,

Google Summer of Code is all about how you can can help and contribute to the community. So it’s your initiative to take up an idea that you like and chart out a timeline as to how you can make the most of the 3 months coding time to implement it. That would also play a role in selection of prospective students.

The PRU Bridge would have two components - a kernel mode part and a userspace API. Also go through the idea just below it, titled “PRUSS Support for newer kernels”. These two ideas have significant overlap so try to come up with how they can best be implemented. There is a list of design guidelines given as well.

I suggest you get started with PRU and Linux kernel programming as soon as possible. The idea requires significant work so as mentors we expect that the prospective students should be familiar with the operation of the PRU and kernel programming in C. Have a look at the previous year projects, especially BotSpeak and BeagleLogic because the PRU related work this year will build upon them.

You are welcome to join us on #beagle-gsoc ( for further discussions.

Nice to meet you Amulya,

As Abhishek said, a few things you could do is

  1. Talk to mentors on beagle-gsoc (Me, Abhishek or Alexander Hiam)
  2. Read existing code base (rproc drivers). Both pruspeak and beagle logic serve as an excellent base.
  3. and finally chart out a plan on your project deliverable and how you are going to achieve them.

Deepak Karki

Thanks Abhishek and Deepak for your responses. I am going to start learning about kernel programming and PRU and other projects as suggested by Abhishek.

When I tried to build pruspeak on my beaglebone, I got the following error:

root@beaglebone:~/gsoc/pruspeak# sudo sh 3: cd: can’t cd to src/driver
: not found 4: make
'. Stop. No rule to make target install 6: cd: can't cd to ../.. : not found 7: 9: cd: can't cd to src/pru-firmware : not found 10: make '. Stop. No rule to make target install 12: cd: can’t cd to …/…
: not found 13: 15: cd: can’t cd to src/dts
: not found 16: make
'. Stop. No rule to make target install 18: cd: can't cd to ../.. : not found 19: 21: cd: can't cd to src/userspace_lib : not found 22: make '. Stop. No rule to make target install 24: cd: can’t cd to …/…
: not found 25:
: not found 26:

when I tried to build each module manually, like the following one, I got error that

root@beaglebone:~/gsoc/pruspeak/src/driver# make
make: Warning: File `Makefile’ has modification time 2.6e+07 s in the future
if [ ! -d “/lib/modules/3.8.13-bone47/build” ]; then apt-get install linux-headers-3.8.13-bone47; fi
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package linux-headers-3.8.13-bone47
E: Couldn’t find any package by regex ‘linux-headers-3.8.13-bone47’
make: *** [all] Error 100

Can you tell me how can I install the linux-headers for beaglebone??

Hi there,

You may fix the warning by running touch on Makefile. As for the kernel headers, the usual way is:

sudo apt-get install linux-headers-$(uname -r)

If this doesn’t work for you, post your OS build number.


Hello Praveen,

the manual installation for headers in not working for me.

My OS build details are:

Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux

Distributor ID: Debian
Description: Debian GNU/Linux 7.8 (wheezy)
Release: 7.8
Codename: wheezy

You have to get your BBB date set correctly first.
Run the date command and tell me what time your BBB thinks it is.

its showing:

Wed Apr 23 20:20:18 UTC 2014

Update it by writing : root@beaglebone:~# ntpdate -b -s -u

You’ll likely want to update to a newer kernel and possibly newer Debian image as well.

Hello Jason,

I updated my kernel to bone70 version successfully. The problem still persists. Now, I want to update my Debain Image. I found many articles on internet helping to do so but, they need an external MicroSD card during the process. Can you tell me about any method to update Debain in which I wont need a MicroSD card ?


Check out the BBBlfs project to update a BeagleBone without a microSD card.