Custom built Debian with RealTime kernel

Hello everyone,

First, I’d like to thank you for all the support and the amazing work done on the BeagleBoneBlack.

I’m kind of a newbie here. Got my board for a few weeks on Angstrom. I’m an electronic engineering student in France and for a specific project I need a custom built distribution.

  • The distribution needs to be minimal (no extra un-needed packages)
  • I need a RealTime kernel
  • I need a late kernel (the 3.8 doesn’t have some kernel modules which I need). 3.14 for instance ?
  • I need gstreamer packages and gstreamer plugin packages to ship with the image.
  • I need to produce an image to flash the eMMC with that distro.

I have visited a lot of pages including RobertCNelson github which looks really active regarding BBB kernels. I successfully upgraded to Debian Wheezy Kernel 3.14 using this tutorial : http://datko.net/2014/03/21/bbb_upgrade_3_13/

Now I would need to generate my own image with specific packages and, most important, a real-time kernel. It seems that the Beaglebone github has a 3.8-rt branch but no 3.14-rt branch, so I guess I have to patch a “regular” 3.14 with RT-PREEMPT patches.

Could someone give me some hints and how-to’s for me to build such a thing ?

Thanks everyone for your support.

Clement C.

This should make it easy to get started..

https://github.com/RobertCNelson/linux-dev/commit/bd69ecb7570865a29dd24fd779fa8568ffa39e5d

Just fork the linux-dev repo,

checkout the am33x-v3.14 branch and un-comment the rt line at the
bottom of patch.sh

Regards,

Thanks very much Robert !

I’ve forked your repo on https://github.com/GunMan-fr/linux-dev
and uncommented the rt line in patch.sh .

Then I built the kernel using build_kernel.sh and everything worked perfectly :slight_smile: !

Now I was trying to build a debian image with build_deb.sh and it fails everytime.

I get a huge lot of this error :

ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.

and the process finally crashes with this error :

ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.

make[1]: *** [deb-pkg] Error 2
make: *** [deb-pkg] Error 2

Maybe I forgot to do something ?

Thanks very much for your help.

Clément.

Thanks very much Robert !

I've forked your repo on GitHub - GunMan-fr/linux-dev
and uncommented the rt line in patch.sh .

Then I built the kernel using build_kernel.sh and everything worked
perfectly :slight_smile: !

Now I was trying to build a debian image with build_deb.sh and it fails
everytime.

I get a huge lot of this error :

    ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be
preloaded: ignored.

and the process finally crashes with this error :

    ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be
preloaded: ignored.

this error is fine.. just a 64bit system using 32bit gcc cross compiler..

    make[1]: *** [deb-pkg] Error 2
    make: *** [deb-pkg] Error 2

Maybe I forgot to do something ?

This shouldn't happen..

But... I hardly ever test the cross "deb" just run:

./build_kernel.sh
(insert debian microSD card into host pc)
./tools/install_kernel.sh

(insert microSD into bbb)

Regards,

Nice one, Robert!

Is that kernel stable? Depending on the latency figures, it may work
for the Machinekit images I'm doing, which would mean no waiting for
Xenomai to make a 3.12/3.14 patch set.

I'm not even sure if the rt-patchset will still boot. But with how
small our v3.14.x patchset is, it's atleast worth a test.

Regards,

Thanks :slight_smile: !

But I guess that is to install the kernel on a live microSD the BBB will boot from. How to apply the kernel to the BBB directly on the eMMC ? (I have a debian installed on the eMMC already and there’s a debian flasher on my microSD).

It seems it has to be done via TFTP ?