I've installed Ubuntu onto my BeagleBoard, using the instructions at http://www.elinux.org/BeagleBoardUbuntu . This runs the ARM version of Ubuntu 14.04.
This all went to plan and it worked, and I started out setting it up to run as a small headless server. As part of this I wanted to run AppArmor to increase security of the services I planned to run. However, I am unable to start AppArmor. I got the following error:
ubuntu@arm:~$ sudo aa-status
apparmor module is loaded.
apparmor filesystem is not mounted.
I initially thought I could force AppArmor to load, by editing the uEnv.txt file to add a parameter to the boot command line options by changing /boot/uEnv.txt to contain this:
cmdline=security=apparmor quiet
After this, AppArmor appears to load - but profiles cannot be enforced. Reloading AppArmor gives errors like this:
Warning from profile /usr/{sbin/traceroute,bin/traceroute.db} (/etc/apparmor.d/usr.sbin.traceroute) ptrace rules not enforced
Warning from profile /usr/{sbin/traceroute,bin/traceroute.db} (/etc/apparmor.d/usr.sbin.traceroute) signal rules not enforced
Warning from /etc/apparmor.d/usr.sbin.traceroute (/etc/apparmor.d/usr.sbin.traceroute line 29): profile /usr/{sbin/traceroute,bin/traceroute.db} network rules not enforced
It looks like maybe the kernel for Ubuntu on the BeagleBoard doesn't support AppArmor. Is there a way to add it in?