When creating the downloadable disk image for the Beaglebone Black ‘device-adapter’, we make several alterations to the default Debian Beaglebone disk image. This page summarizes those changes.
The OpenICE software has been tested on BeagleBone Black and Raspberry Pi. But should run on any ARM device running a recent linux based on kernel 3.x and compiled for the ARM hard-float ABI. (This in addition to Intel x86 and x86_64 on mac/linux/windows). These instructions are specific to Debian 7 running on BeagleBone Black hardware; but they could be adapted for virtually any platform with JVM support.
Configure a microsd card with debian on another ubuntu computer
xzcat bone-debian-7.8-lxde-4gb-armhf-2015-03-01-4gb.img.xz | pv | dd of=/dev/sdX bs=1024K
Insert the microsd card into the BBB. Power up and this will boot Debian from the microsd card.
sudo passwd debian
for consistency you might like to change the helpful hint in /etc/issue and /etc/issue.net
A lot of wifi adapters are supported out the box. The ones we use become interface ra1
so this block is helpful to add to
auto ra0 iface ra0 inet dhcp wpa-ssid "MDPNP-JSN" wpa-psk "********"
echo HOSTNAME > /etc/hostname
save some aggravation and make sure the host name resolves by adding to
127.0.0.1 localhost.localdomain localhost 127.0.1.1 my-machine
sudo apt-get update
ensure that the ACPId package is installed
sudo apt-get install acpid
now is a good time to install zip
sudo apt-get install unzip
To interpret data from devices that do not emit their timezone (most) one should configure the timezone on the ARM device.
For some reason ttyOx get root/dialout (like an external modem?) Until I figure out how to change default ownership/permissions I’ve been adding the debian user to the permissioned groups.
sudo usermod -a -G tty debian
sudo usermod -a -G dialout debian
Add the new device to the targets file in the repo
Synchronizing time between devices enables a lot of powerful capabilities combined with things like DesinationOrder QoS and Lifespan QoS.
sudo apt-get install ntp to install ntpd and keep the device in sync. servers can then be specified in /etc/ntp.conf
we also specify a local NTP server on our lab network with DHCP option 42
Copy public key to
~/.ssh/authorized_keys on the beaglebone
Ensure no read/write except for user on
On source computer with private key ID_RSA to access beaglebone at BEAGLEADDRESS create an entry in
Host BEAGLEADDRESS IdentityFile ~/.ssh/ID_RSA
Comment out this line in
T0:23:respawn:/sbin/getty -L ttyO0 115200 vt102
Comment out this line in
Ok those were great but this actually does it because it’s launched by systemd
sudo systemctl stop serial-getty@ttyO0.service
sudo systemctl mask serial-getty@ttyO0.service
Download the driver for AX88179
Install headers for most recent kernel
sudo apt-get install linux-headers-3.8.13-bone71
Extract driver, make, make install
Latest BeagleBone Linux builds http://beagleboard.org/latest-images
beagleboard.org getting started http://beagleboard.org/Getting%20Started
Under heavy load (stress testing) I’ve observed hangups due to CPU throttling. Enabling the ‘performance’ governor profile helps mitigate the problem.
sudo apt-get install cpufrequtils
sudo cpufreq-set -g performance
That’s not a permanent change. One way to ensure sysfs gets updated every time:
sudo apt-get install sysfsutils
Add a line at the end
sudo vi /etc/sysfs.conf
devices/system/cpu/cpu0/cpufreq/scaling_governor = performance
move the ondemand script
sudo mv /etc/init.d/ondemand /etc/init.d/ondemand.bak
The latest 12.04.3 build from armhf.com supports the realtek rtl8192cu chipset “out of the box”. we’ve had success using such adapters with beaglebone black via usb. Ensure the adapter is connected at power-on. Uncomment relevant wlan0 lines in
sudo ifup wlan0 and wait a loong time. Eventually the adapter will come up!
In informal testing a beaglebone black using ethernet had an observed maximum current draw of 409 mA. With the 3” LCD cape the max was 469 mA. With an RTL8188S wifi dongle the max was 520 mA. With an RTL8192cu wifi dongle the max was 566 mA. With a 7” LCD cape the max draw was 1,010 mA. All at 5V.
similar works for the ds3231 http://blog.lemoneerlabs.com/post/time-y-wimey-stuff
This requires further exploration… but for TRANSIENT_LOCAL durability ResourceLimits will need to be tuned for available memory. In addition adding some swap space should enable larger writer caches.
This is a super useful little image that will copy MMC to an sdcard and then can easily be configured to reverse the process. http://elinux.org/BeagleBone_Black_Extracting_eMMC_contents
Add this line at the end (change “jerome” to your username):
jerome ALL=(ALL) NOPASSWD: ALL