pru issues on BBB, jessie 4.4.2-bone-rt-rt5 kernel

Hello-

I have a BBB rev c with the Debian Jessie image on an SD card. I compiled the 4.4.2 bone rt kernel with RFKILL disabled, otherwise default settings built with github.com/RobertCNelson/bb-kernel. (Thanks for the great kernel builder!!!)

uname -a

Linux beagle 4.4.2-bone-rt-r5 #1 PREEMPT RT Thu Feb 25 11:36:52 EST 2016 armv7l GNU/Linux

When I boot up the system I have several (8) systemd-udevd processes using up all the cpu, but they are killed after a while with this message in syslog:

Feb 25 19:46:54 beagle systemd-udevd[212]: worker [636] /devices/platform/ocp/4a300000.pruss/uio/uio0 timeout; kill it
Feb 25 19:46:54 beagle systemd-udevd[212]: seq 2259 ‘/devices/platform/ocp/4a300000.pruss/uio/uio0’ killed
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [684] /devices/platform/ocp/4a300000.pruss/uio/uio1 timeout; kill it
Feb 25 19:46:54 beagle systemd-udevd[212]: seq 2260 ‘/devices/platform/ocp/4a300000.pruss/uio/uio1’ killed
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [685] /devices/platform/ocp/4a300000.pruss/uio/uio2 timeout; kill it
Feb 25 19:46:54 beagle systemd-udevd[212]: seq 2261 ‘/devices/platform/ocp/4a300000.pruss/uio/uio2’ killed
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [686] /devices/platform/ocp/4a300000.pruss/uio/uio3 timeout; kill it
Feb 25 19:46:54 beagle systemd-udevd[212]: seq 2262 ‘/devices/platform/ocp/4a300000.pruss/uio/uio3’ killed
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [832] /devices/platform/ocp/4a300000.pruss/uio/uio4 timeout; kill it
Feb 25 19:46:54 beagle systemd-udevd[212]: seq 2263 ‘/devices/platform/ocp/4a300000.pruss/uio/uio4’ killed
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [834] /devices/platform/ocp/4a300000.pruss/uio/uio5 timeout; kill it
Feb 25 19:46:54 beagle systemd-udevd[212]: seq 2264 ‘/devices/platform/ocp/4a300000.pruss/uio/uio5’ killed
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [850] /devices/platform/ocp/4a300000.pruss/uio/uio6 timeout; kill it
Feb 25 19:46:54 beagle systemd-udevd[212]: seq 2265 ‘/devices/platform/ocp/4a300000.pruss/uio/uio6’ killed
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [856] /devices/platform/ocp/4a300000.pruss/uio/uio7 timeout; kill it
Feb 25 19:46:54 beagle systemd-udevd[212]: seq 2266 ‘/devices/platform/ocp/4a300000.pruss/uio/uio7’ killed
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [636] terminated by signal 9 (Killed)
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [684] terminated by signal 9 (Killed)
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [685] terminated by signal 9 (Killed)
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [686] terminated by signal 9 (Killed)
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [832] terminated by signal 9 (Killed)
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [834] terminated by signal 9 (Killed)
Feb 25 19:46:54 beagle systemd-udevd[212]: worker [850] terminated by signal 9 (Killed)

As I understand prus are supported with the bone kernels. Any ideas why they don’t work? Maybe in conflict with something?

I have HDMI Audio/Video and eMMC turned off in uEnv.txt:

uname_r=4.4.2-bone-rt-r5
dtb=am335x-boneblack-overlay.dtb

cmdline=coherent_pool=1M quiet cape_universal=enable

And this is my lsmod:

Module Size Used by
c_can_platform 6560 0
c_can 9531 1 c_can_platform
uio_pruss 4928 0
can_dev 11689 1 c_can
spidev 7481 0
tieqep 8758 0
pwm_tiecap 3652 0
pwm_tiehrpwm 4706 0
usb_f_acm 7193 1
u_serial 10716 3 usb_f_acm
usb_f_rndis 22093 1
g_multi 5441 0
usb_f_mass_storage 41731 2 g_multi
u_ether 11887 2 usb_f_rndis,g_multi
libcomposite 43393 4 usb_f_acm,usb_f_rndis,g_multi,usb_f_mass_storage
ccm 6710 3
arc4 2019 2
rtl8192cu 52442 0
rtl_usb 9579 1 rtl8192cu
rtl8192c_common 37747 1 rtl8192cu
rtlwifi 56114 3 rtl_usb,rtl8192c_common,rtl8192cu
mac80211 490892 3 rtl_usb,rtlwifi,rtl8192cu
cfg80211 419275 2 mac80211,rtlwifi
joydev 8336 0
omap_aes 13637 0
omap_sham 21619 0
omap_rng 4359 0
rng_core 7099 1 omap_rng
evdev 10516 1
spi_omap2_mcspi 11118 0
uio_pdrv_genirq 3661 0
uio 8760 2 uio_pruss,uio_pdrv_genirq
leds_gpio 3420 0

Any help would be appreciated!

Thanks-
Lajos

As I understand prus are supported with the bone kernels. Any ideas why they don’t work? Maybe in conflict with something?

First, which device tree file are you using for the PRU’s, and have you loaded it ?

I used the info from a post you made in this thread:

https://groups.google.com/forum/m/#!category-topic/beagleboard/software/tdt1TTix7aE

It’s your 3rd post from the top, sorry, couldn’t figure out how to link to it.

I started from the Jessie BBB image that had the 4.1.15-ti-rt-r43 kernel. Now I have the 4.4.2-bone-rt-r5 kernel that I compiled and installed myself, am I maybe missing some udev rules?

I started from the Jessie BBB image that had the 4.1.15-ti-rt-r43 kernel. Now I have the 4.4.2-bone-rt-r5 kernel that I compiled and installed myself, am I maybe missing some udev rules?

If I were you, I would . . .

$ apt-cache search linux-image-4 |grep bone-rt
linux-image-4.0.6-bone-rt-r5 - Linux kernel, version 4.0.6-bone-rt-r5
linux-image-4.0.6-bone-rt-r6 - Linux kernel, version 4.0.6-bone-rt-r6
linux-image-4.0.7-bone-rt-r7 - Linux kernel, version 4.0.7-bone-rt-r7
linux-image-4.0.8-bone-rt-r8 - Linux kernel, version 4.0.8-bone-rt-r8
linux-image-4.1.10-bone-rt-r16 - Linux kernel, version 4.1.10-bone-rt-r16
linux-image-4.1.11-bone-rt-r16 - Linux kernel, version 4.1.11-bone-rt-r16
linux-image-4.1.12-bone-rt-r16 - Linux kernel, version 4.1.12-bone-rt-r16
linux-image-4.1.13-bone-rt-r16 - Linux kernel, version 4.1.13-bone-rt-r16
linux-image-4.1.13-bone-rt-r17 - Linux kernel, version 4.1.13-bone-rt-r17
linux-image-4.1.14-bone-rt-r17 - Linux kernel, version 4.1.14-bone-rt-r17
linux-image-4.1.15-bone-rt-r17 - Linux kernel, version 4.1.15-bone-rt-r17
linux-image-4.1.3-bone-rt-r15 - Linux kernel, version 4.1.3-bone-rt-r15
linux-image-4.1.5-bone-rt-r15 - Linux kernel, version 4.1.5-bone-rt-r15
linux-image-4.1.7-bone-rt-r16 - Linux kernel, version 4.1.7-bone-rt-r16
linux-image-4.1.8-bone-rt-r16 - Linux kernel, version 4.1.8-bone-rt-r16
linux-image-4.1.9-bone-rt-r16 - Linux kernel, version 4.1.9-bone-rt-r16

Then pick the last one which would be: linux-image-4.1.9-bone-rt-r16 Here is the problem. There are a couple kernel config options that must be enabled / disabled in order for prussdrv to work properly. Passed that it is entirely possible that 4.4* may break prussdrv somehow, and unintentionally. Because no one who uses prussdrv has tested this kernel yet.

Later, once you confirm that linux-image-4.1.9-bone-rt-r16 works. You can always compare configs between the two to double check what you’ve missed.

Thanks for the advice, I’ll try a 4.1 bone kernel.

Heh, perfect example of why one need to update the APT cache . . .

william@beaglebone:~$ sudo apt-get update
william@beaglebone:~$ apt-cache search linux-image-4 |grep bone-rt
linux-image-4.0.8-bone-rt-r8 - Linux kernel, version 4.0.8-bone-rt-r8
linux-image-4.1.10-bone-rt-r16 - Linux kernel, version 4.1.10-bone-rt-r16
linux-image-4.1.11-bone-rt-r16 - Linux kernel, version 4.1.11-bone-rt-r16
linux-image-4.1.12-bone-rt-r16 - Linux kernel, version 4.1.12-bone-rt-r16
linux-image-4.1.13-bone-rt-r16 - Linux kernel, version 4.1.13-bone-rt-r16
linux-image-4.1.13-bone-rt-r17 - Linux kernel, version 4.1.13-bone-rt-r17
linux-image-4.1.14-bone-rt-r17 - Linux kernel, version 4.1.14-bone-rt-r17
linux-image-4.1.15-bone-rt-r17 - Linux kernel, version 4.1.15-bone-rt-r17
linux-image-4.1.15-bone-rt-r18 - Linux kernel, version 4.1.15-bone-rt-r18
linux-image-4.1.16-bone-rt-r18 - Linux kernel, version 4.1.16-bone-rt-r18
linux-image-4.1.17-bone-rt-r18 - Linux kernel, version 4.1.17-bone-rt-r18
linux-image-4.1.17-bone-rt-r19 - Linux kernel, version 4.1.17-bone-rt-r19
linux-image-4.1.18-bone-rt-r19 - Linux kernel, version 4.1.18-bone-rt-r19
linux-image-4.1.3-bone-rt-r15 - Linux kernel, version 4.1.3-bone-rt-r15
linux-image-4.1.5-bone-rt-r15 - Linux kernel, version 4.1.5-bone-rt-r15
linux-image-4.1.7-bone-rt-r16 - Linux kernel, version 4.1.7-bone-rt-r16
linux-image-4.1.8-bone-rt-r16 - Linux kernel, version 4.1.8-bone-rt-r16
linux-image-4.1.9-bone-rt-r16 - Linux kernel, version 4.1.9-bone-rt-r16
linux-image-4.4.0-bone-rt-r1 - Linux kernel, version 4.4.0-bone-rt-r1
linux-image-4.4.0-bone-rt-r2 - Linux kernel, version 4.4.0-bone-rt-r2
linux-image-4.4.0-bone-rt-r3 - Linux kernel, version 4.4.0-bone-rt-r3
linux-image-4.4.0-rc8-bone-rt-r1 - Linux kernel, version 4.4.0-rc8-bone-rt-r1
linux-image-4.4.1-bone-rt-r4 - Linux kernel, version 4.4.1-bone-rt-r4
linux-image-4.4.1-bone-rt-r5 - Linux kernel, version 4.4.1-bone-rt-r5
linux-image-4.4.2-bone-rt-r5 - Linux kernel, version 4.4.2-bone-rt-r5

and i'm not sure anyone has actually tested the uio_pruss on v4.4.x..

It's the same patches forward ported from v4.1.x -> v4.2.x -> v4.3.x.. :wink:

But, i wonder if it works on v4.4.x. :wink:

and i’m not sure anyone has actually tested the uio_pruss on v4.4.x…

It’s the same patches forward ported from v4.1.x → v4.2.x → v4.3.x… :wink:

But, i wonder if it works on v4.4.x. :wink:

I’m testing now. The kernel modules are not automatically loaded when enabling the pru’s through a device tree. So something has changed, and I’m not sure what it is. however . . .

william@beaglebone:~$ sudo modprobe uio_pruss
william@beaglebone:~$ lsmod
Module Size Used by
uio_pruss 4436 0
uio 8247 1 uio_pruss
rfcomm 53016 0
bluetooth 406428 9 rfcomm
nfsd 223727 2

This does not seem right. Which may be my own fault, but let me double check.

@Robert, Yeah I do not know what’s going on. Perhaps you know ? Fresh reboot with all blocked modules, unblocked.

william@beaglebone:~$ sudo sh -c "echo ‘pru_enable’ > /sys/devices/platform/bone_capemgr/slots"
william@beaglebone:~$ dmesg | grep pru
[ 38.594211] bone_capemgr bone_capemgr: part_number ‘pru_enable’, version ‘N/A’
[ 38.614582] bone_capemgr bone_capemgr: slot #4: ‘Override Board Name,00A0,Override Manuf,pru_enable’
[ 38.627556] bone_capemgr bone_capemgr: slot #4: dtbo ‘pru_enable-00A0.dtbo’ loaded; overlay id #0
william@beaglebone:~$ lsmod |grep pru
william@beaglebone:~$ dmesg | tail
[ 20.286438] Bluetooth: RFCOMM TTY layer initialized
[ 20.286463] Bluetooth: RFCOMM socket layer initialized
[ 20.286501] Bluetooth: RFCOMM ver 1.11
[ 20.330738] Bluetooth: BNEP socket layer initialized
[ 38.594211] bone_capemgr bone_capemgr: part_number ‘pru_enable’, version ‘N/A’
[ 38.601622] bone_capemgr bone_capemgr: slot #4: override
[ 38.607563] bone_capemgr bone_capemgr: Using override eeprom data at slot 4
[ 38.614582] bone_capemgr bone_capemgr: slot #4: ‘Override Board Name,00A0,Override Manuf,pru_enable’
[ 38.627556] bone_capemgr bone_capemgr: slot #4: dtbo ‘pru_enable-00A0.dtbo’ loaded; overlay id #0
[ 62.258491] random: nonblocking pool is initialized
william@beaglebone:~$ lsmod
Module Size Used by
bnep 12921 2
rfcomm 53016 0
bluetooth 406428 10 bnep,rfcomm
nfsd 223727 2

BY the way . . . my workflow . . .

william@beaglebone:~$ uname -r
4.1.12-bone-rt-r16
william@beaglebone:~$ cat /etc/dogtag
BeagleBoard.org Debian Image 2015-03-01
( Wheezy 7.8 )

william@beaglebone:~$ sudo apt-get update
william@beaglebone:~$ apt-cache search linux-image-4 |grep bone-rt
linux-image-4.0.8-bone-rt-r8 - Linux kernel, version 4.0.8-bone-rt-r8
linux-image-4.1.10-bone-rt-r16 - Linux kernel, version 4.1.10-bone-rt-r16
linux-image-4.1.11-bone-rt-r16 - Linux kernel, version 4.1.11-bone-rt-r16
linux-image-4.1.12-bone-rt-r16 - Linux kernel, version 4.1.12-bone-rt-r16
linux-image-4.1.13-bone-rt-r16 - Linux kernel, version 4.1.13-bone-rt-r16
linux-image-4.1.13-bone-rt-r17 - Linux kernel, version 4.1.13-bone-rt-r17
linux-image-4.1.14-bone-rt-r17 - Linux kernel, version 4.1.14-bone-rt-r17
linux-image-4.1.15-bone-rt-r17 - Linux kernel, version 4.1.15-bone-rt-r17
linux-image-4.1.15-bone-rt-r18 - Linux kernel, version 4.1.15-bone-rt-r18
linux-image-4.1.16-bone-rt-r18 - Linux kernel, version 4.1.16-bone-rt-r18
linux-image-4.1.17-bone-rt-r18 - Linux kernel, version 4.1.17-bone-rt-r18
linux-image-4.1.17-bone-rt-r19 - Linux kernel, version 4.1.17-bone-rt-r19
linux-image-4.1.18-bone-rt-r19 - Linux kernel, version 4.1.18-bone-rt-r19
linux-image-4.1.3-bone-rt-r15 - Linux kernel, version 4.1.3-bone-rt-r15
linux-image-4.1.5-bone-rt-r15 - Linux kernel, version 4.1.5-bone-rt-r15
linux-image-4.1.7-bone-rt-r16 - Linux kernel, version 4.1.7-bone-rt-r16
linux-image-4.1.8-bone-rt-r16 - Linux kernel, version 4.1.8-bone-rt-r16
linux-image-4.1.9-bone-rt-r16 - Linux kernel, version 4.1.9-bone-rt-r16
linux-image-4.4.0-bone-rt-r1 - Linux kernel, version 4.4.0-bone-rt-r1
linux-image-4.4.0-bone-rt-r2 - Linux kernel, version 4.4.0-bone-rt-r2
linux-image-4.4.0-bone-rt-r3 - Linux kernel, version 4.4.0-bone-rt-r3
linux-image-4.4.0-rc8-bone-rt-r1 - Linux kernel, version 4.4.0-rc8-bone-rt-r1
linux-image-4.4.1-bone-rt-r4 - Linux kernel, version 4.4.1-bone-rt-r4
linux-image-4.4.1-bone-rt-r5 - Linux kernel, version 4.4.1-bone-rt-r5
linux-image-4.4.2-bone-rt-r5 - Linux kernel, version 4.4.2-bone-rt-r5

william@beaglebone:~$ sudo apt-get install linux-image-4.4.2-bone-rt-r5
Reading package lists… Done
Building dependency tree
Reading state information… Done
Suggested packages:
linux-firmware-image-4.4.2-bone-rt-r5
The following NEW packages will be installed:
linux-image-4.4.2-bone-rt-r5
0 upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
Need to get 27.6 MB of archives.
After this operation, 70.4 MB of additional disk space will be used.

. . .

Unpacking linux-image-4.4.2-bone-rt-r5 (from …/linux-image-4.4.2-bone-rt-r5_1wheezy_armhf.deb) …
Setting up linux-image-4.4.2-bone-rt-r5 (1wheezy) …
update-initramfs: Generating /boot/initrd.img-4.4.2-bone-rt-r5
zz-uenv_txt: Updating /boot/uEnv.txt [uname_r=4.4.2-bone-rt-r5]

william@beaglebone:~$ sudo reboot

Broadcast message from root@beaglebone (pts/0) (Thu Feb 25 20:20:41 2016):
The system is going down for reboot NOW!
william@beaglebone:~$ Connection to 192.168.xxx.xxx closed by remote host.
Connection to 192.168.xxx.xxx closed.

william@eee-pc:~$ ssh william@192.168.xxx.xxx
Debian GNU/Linux 7

BeagleBoard.org Debian Image 2015-03-01

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

default username:password is [debian:temppwd]

william@192.168.xxx.xxx’s password:
Last login: Mon Feb 22 12:59:23 2016 from 192.168.xxx.xxx

william@beaglebone:~$ uname -r
4.4.2-bone-rt-r5

Yeap, that looks right... Yuck, something broke..

Does it work with either of these? (last 4.3.x & last 4.2.x)

linux-image-4.3.6-bone5
linux-image-4.2.5-bone2

Regards,

GIve me a few, I’ll test both.

linux-image-4.2.5-bone2 → Functional

william@beaglebone:~$ sudo apt-get install linux-image-4.2.5-bone2
Reading package lists… Done
Building dependency tree
Reading state information… Done
Suggested packages:
linux-firmware-image-4.2.5-bone2
The following NEW packages will be installed:
linux-image-4.2.5-bone2
0 upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
Need to get 26.2 MB of archives.
After this operation, 65.5 MB of additional disk space will be used.
. . .
Unpacking linux-image-4.2.5-bone2 (from …/linux-image-4.2.5-bone2_1wheezy_armhf.deb) …
Setting up linux-image-4.2.5-bone2 (1wheezy) …
update-initramfs: Generating /boot/initrd.img-4.2.5-bone2
zz-uenv_txt: Updating /boot/uEnv.txt [uname_r=4.2.5-bone2]

william@beaglebone:~$ sudo reboot

william@beaglebone:~$ uname -r
4.2.5-bone2
william@beaglebone:~$ sudo sh -c “echo ‘pru_enable’ > /sys/devices/platform/bone_capemgr/slots”
william@beaglebone:~$ dmesg | grep pru
[ 56.250528] bone_capemgr bone_capemgr: part_number ‘pru_enable’, version ‘N/A’
[ 56.270616] bone_capemgr bone_capemgr: slot #4: ‘Override Board Name,00A0,Override Manuf,pru_enable’
[ 56.293224] bone_capemgr bone_capemgr: slot #4: dtbo ‘pru_enable-00A0.dtbo’ loaded; overlay id #1
[ 56.304965] pruss_uio 4a300000.pruss: pins are not configured from the driver
william@beaglebone:~$ lsmod |grep pru
uio_pruss 4244 0
uio 8146 2 uio_pruss,uio_pdrv_genirq

linux-image-4.3.6-bone5 → Non functional. Notice that the output of dmesg mentions nothing of “bad pin configuration” such as output in working kernels. e.g.

[ 56.304965] pruss_uio 4a300000.pruss: pins are not configured from the driver

Workflow:
william@beaglebone:~$ sudo apt-get install linux-image-4.3.6-bone5
Reading package lists… Done
Building dependency tree
Reading state information… Done
Suggested packages:
linux-firmware-image-4.3.6-bone5
The following NEW packages will be installed:
linux-image-4.3.6-bone5
0 upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
Need to get 26.7 MB of archives.
After this operation, 66.8 MB of additional disk space will be used.
. . .
Unpacking linux-image-4.3.6-bone5 (from …/linux-image-4.3.6-bone5_1wheezy_armhf.deb) …
Setting up linux-image-4.3.6-bone5 (1wheezy) …
update-initramfs: Generating /boot/initrd.img-4.3.6-bone5
zz-uenv_txt: Updating /boot/uEnv.txt [uname_r=4.3.6-bone5]

william@beaglebone:~$ sudo reboot

william@beaglebone:~$ uname -r
4.3.6-bone5
william@beaglebone:~$ sudo sh -c “echo ‘pru_enable’ > /sys/devices/platform/bone_capemgr/slots”
william@beaglebone:~$ dmesg | grep pru
[ 113.299845] bone_capemgr bone_capemgr: part_number ‘pru_enable’, version ‘N/A’
[ 113.319610] bone_capemgr bone_capemgr: slot #4: ‘Override Board Name,00A0,Override Manuf,pru_enable’
[ 113.332465] bone_capemgr bone_capemgr: slot #4: dtbo ‘pru_enable-00A0.dtbo’ loaded; overlay id #0
william@beaglebone:~$ lsmod |grep pru
william@beaglebone:~$ lsmod
Module Size Used by
bnep 12909 2
rfcomm 52472 0
bluetooth 399731 10 bnep,rfcomm
nfsd 217981 2

One other thing on the last kernel version. The USR LEDs do not seem configured either. At least they do not blink at boot up, and confused me into thinking the image was not booting . . .

How to Revert:

william@beaglebone:~$ sudo nano /boot/uEnv.txt

Change: uname_r=4.3.6-bone5 to uname_r=4.1.12-bone-rt-r16

william@beaglebone:~$ sudo reboot

william@beaglebone:~$ uname -r
4.1.12-bone-rt-r16

william@beaglebone:~$ sudo apt-get remove --purge linux-image-4.3.6-bone5
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages will be REMOVED:
linux-image-4.3.6-bone5*
0 upgraded, 0 newly installed, 1 to remove and 45 not upgraded.
After this operation, 66.8 MB disk space will be freed.
. . .
update-initramfs: Deleting /boot/initrd.img-4.3.6-bone5
Purging configuration files for linux-image-4.3.6-bone5 …
dpkg: warning: while removing linux-image-4.3.6-bone5, directory ‘/lib/modules/4.3.6-bone5’ not empty so not removed
william@beaglebone:~$ sudo rm -rf /lib/modules/4.3.6-bone5

william@beaglebone:~$ sudo apt-get remove --purge linux-image-4.2.5-bone2
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages will be REMOVED:
linux-image-4.2.5-bone2*
0 upgraded, 0 newly installed, 1 to remove and 45 not upgraded.
After this operation, 65.5 MB disk space will be freed.
. . .
update-initramfs: Deleting /boot/initrd.img-4.2.5-bone2
Purging configuration files for linux-image-4.2.5-bone2 …
dpkg: warning: while removing linux-image-4.2.5-bone2, directory ‘/lib/modules/4.2.5-bone2’ not empty so not removed
william@beaglebone:~$ sudo rm -rf /lib/modules/4.2.5-bone2

william@beaglebone:~$ sudo apt-get remove --purge linux-image-4.4.2-bone-rt-r5
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages will be REMOVED:
linux-image-4.4.2-bone-rt-r5*
0 upgraded, 0 newly installed, 1 to remove and 45 not upgraded.
After this operation, 70.4 MB disk space will be freed.
. . .
Removing linux-image-4.4.2-bone-rt-r5 …
update-initramfs: Deleting /boot/initrd.img-4.4.2-bone-rt-r5
Purging configuration files for linux-image-4.4.2-bone-rt-r5 …
dpkg: warning: while removing linux-image-4.4.2-bone-rt-r5, directory ‘/lib/modules/4.4.2-bone-rt-r5’ not empty so not removed

william@beaglebone:~$ sudo rm -rf /lib/modules/4.4.2-bone-rt-r5

Change: uname_r=4.3.6-bone5 to uname_r=4.1.12-bone-rt-r16

If you’re not using the same kernel version I’m using the above is wrong. So ask before rendering your system non bootable.

I do get uio_pruss automatically loaded with or without the device tree file. But the systemd-udevd processes hog the cpu on boot until they get killed eventually after a minute or two.

I tried to build a 4.1 kernel, but there are some i386 dependencies for the build process that I can’t install on my debian jessie machine. I’ll try tomorrow from a ubuntu vm.

I made a 4.1.18-bone-rt-r19 kernel:

uname -a
Linux beagle 4.1.18-bone-rt-r19 #1 Fri Feb 26 06:28:11 PST 2016 armv7l GNU/Linu

Same thing is happening with this. systemd-udevd processes hog the cpu on boot until they time out and killed:

top - 10:26:43 up 1 min, 1 user, load average: 4.70, 1.29, 0.44
Tasks: 84 total, 10 running, 74 sleeping, 0 stopped, 0 zombie
%Cpu(s): 17.2 us, 82.2 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.7 si, 0.0 st
KiB Mem: 507576 total, 93744 used, 413832 free, 8720 buffers
KiB Swap: 0 total, 0 used, 0 free. 41208 cached Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
436 root 20 0 11364 2724 1900 R 11.8 0.5 0:05.05 systemd-udevd
523 root 20 0 11364 2644 1820 R 11.8 0.5 0:05.04 systemd-udevd
550 root 20 0 11364 2644 1820 R 11.8 0.5 0:05.02 systemd-udevd
551 root 20 0 11364 2644 1820 R 11.8 0.5 0:05.01 systemd-udevd
606 root 20 0 11364 2460 1636 R 11.8 0.5 0:04.99 systemd-udevd
607 root 20 0 11364 2460 1636 R 11.8 0.5 0:04.98 systemd-udevd
608 root 20 0 11364 2396 1572 R 11.8 0.5 0:04.97 systemd-udevd
609 root 20 0 11364 2348 1524 R 11.8 0.5 0:04.96 systemd-udevd
3 root 20 0 0 0 0 R 3.3 0.0 0:01.51 ksoftirqd/0
655 lajos 20 0 4560 2040 1644 R 0.7 0.4 0:00.13 top
1 root 20 0 4520 3220 2128 S 0.0 0.6 0:04.10 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd

Lajos,

So, if you do not mind using Wheezy, just get a Wheezy image ( 7.8, or 7.9 ), and use that as a base. Additionally, with Wheezy, you have the option of disabling systemd easier if that is what you’d want. If not, then systemd is running by default.

Anyway, these images do initially start with kerne 3.8.x, but upgrading is, again, as easy as sudo apt-get install