Installing Xenomai Kernel


I’ve tried installing a xenomai-patched kernel, with the process described below. Installation seems to go smoothly, then when I reboot the boot process keeps getting stuck, loops on the error “ipaddr not set” and eventually just doesn’t go anywhere. I’ve got a bootlog (logged via serial) here:

If anyone has any idea what’s going wrong and can point me in the right direction, I’d very much appreciate it.

— Installation —

  • get a Debian image from wget BBB-eMMC-flasher-debian-9.3-console-armhf-2018-01-05-2gb.img.xz
  • Prepare a flasher with etcher
  • insert SD card into BeagleBone. Note many old (~2015) tutorials claim you need to press down a specific button to tell the BBB to flash from the SD card. This seems to longer be true with UBoot. Powering the board by USB and turning it on (with the SD card in it) flashed it by default. Make sure nothing else (usb-peripherals, ethernet etc.) are not connected. It should flash a cylon pattern on the LEDs for quite a while (~25 minutes) and then finally power off. Remove SD card and boot.
  • Plug in ethernet and update everything: sudo apt-get update
  • Note You can find the latest kernels maintained by RCN on his github. bb-kernel are closer to mainline and BeagleBone specific. ti-kernels can be used on the X-15 architecture, and include more advanced stuff. I want to patch the bb-kernel.
  • Find the latest maintained kernel: sudo apt-cache search xenomai | grep '3.18.13'. Where 3.18.13 is to narrow things down, based on the patched kernels that we’ve seen are maintained by RCN (see previous step). You can confirm the version comparing with the commits on RCN’s github repo for that branch. Take the latest, and install, e.g. sudo apt-get install linux-image-3.8.13-xenomai-r86 linux-headers-3.8.13-xenomai-r86 linux-firmware-image-3.8.13-xenomai-r86 .
  • make sure your u-boot is set to boot the patched kernel: less /boot/uEnv.txt. NOTE less was not available by default, had to sudo apt-get install less first…
  • Disconnect ethernet and reboot.

3.8.13 + U-Boot Overlays = Will Not Boot..

Disable U-Boot Overlays in /boot/uEnv.txt






I’m guessing I was supposed to do this before rebooting the first time huh? Or is there a way to still access and change the /boot/uEnv.txt file now, since it’s not booting? Note, I’m running from the on-board eeprom, not the SD card.

Sure, plug in an SD Card, boot with SD Card, mount the eMMC and fix it..


Tried it, but for some reason I couldn’t mount the eMMC. I got a “wrong fs type, bad option, bad superblock”, and checking dmesg | tail revealed some magic number mismatch errors… so I re-flashed as already described, and this time changed the /boot/uEnv.txt as you said. For reference, this is what the uEnv.txt looked like before rebooting:

I then rebooted, and it seemed to boot properly, till my serial connection quit, and then trying to use screen to look at the serial failed with

Cannot open line ‘/dev/cu.usbserial-FTA35NP3’ for R/W: Resource busy
Sorry, could not find a PTY.

I could get back serial communication (see this explanation](, and get the last bootlog:

Restarting (with the reset button) ends up in the same bootlog (but this time complete):

After this, the BeagleBone Black settles into a heartbeat flash, but I can’t ssh in on or 7.2, and I can’t get in through serial.

Btw, got an appropriate HDMI cable today and tried hooking it up… and the display just has a Tux penguin in the top left corner (which explains the unintelligble output over serial at the end of the bootlog, see previous pasatebin).