Build BeagleLogic

Kumar Abhishek edited this page Dec 1, 2015 · 12 revisions

You can skip step 1 by downloading beaglelogic-firmware.tar.gz from here and extract into /lib/firmware on the BeagleBone Black. You still need to build the kernel modules though

Update: BeagleLogic kernel modules are now bundled with kernel versions bone60 onwards. If you're on the latest Debian image, run /opt/scripts/tools/update_kernel.sh to update your kernel to the latest version

Build Instructions

(assuming the BeagleLogic repo has been cloned to ~/BeagleLogic)
This project is under active development, so it is recommended to run "git pull" in the latest changes before proceeding with these instructions!
You need arm-linux-gnueabihf- to build the kernel modules. This guide has been written with reference to arm-linux-gnueabihf-gcc [Ubuntu Linaro v4.8.2]

1. PRU Firmware

You need to set the following environment variables beforehand:

  • PATH=<path-to-clpru>/bin
  • PRU_C_DIR=<path-to-clpru>/include;<path-to-clpru>/lib

Information on how to install clpru on debian can be found here. On a vanilla debian installation the environment will be:

  • PATH="/usr/bin"
  • PRU_C_DIR="/usr/share/ti/cgt-pru/include;/usr/share/ti/cgt-pru/lib"
abhishek@abhishek:~$ cd BeagleLogic/beaglelogic-firmware/
abhishek@abhishek:~/BeagleLogic/beaglelogic-firmware$ make
abhishek@abhishek:~/BeagleLogic/beaglelogic-firmware$ make install-tobb

This scp'es the generated firmware binaries into the appropriate directory. If you are using a non-standard hostname, please add BBHOST=root@ip-address-to-beaglebone [makefile assumes this to be 192.168.7.2] in the make invocation.

2. Kernel Module & Device tree

You can download this patchset for including the remoteproc bindings and device tree file BeagleLogic into the kernel tree of v3.8.13 and compiling your own modules,

The patches have now been merged into rcn-ee's kernel. You just need to update the kernel and install the firmware to get BeagleLogic up and running.

There are two patches to apply. Ignore the whitespace warnings and build the kernel.

Next, go to the cloned repo and type:

abhishek@abhishek:~$ cd BeagleLogic/beaglelogic-kernel-driver/
abhishek@abhishek:~/BeagleLogic/beaglelogic-kernel-driver$ make
abhishek@abhishek:~/BeagleLogic/beaglelogic-kernel-driver$ make devicetree-tobb

You would need to manually copy beaglelogic.ko into /lib/modules/'uname -r'/kernel/drivers/remoteproc at the moment [This would be a make target soon]

Then run from a SSH on the BeagleBone to update the module cache

root@beaglebone:~$ depmod -a

Now, modprobe should be able to load the BeagleLogic kernel module.

Next Step: Getting Started