On Mon, Jul 14, 2008 at 02:46:57PM +0200, Anders Dahnielson wrote:
On Mon, Jul 14, 2008 at 11:28, Ken Restivo
<ken(a)restivo.org> wrote:
I just received my OpenMoko FreeRunner phone and
have been poking around in
it, trying to learn my way around it.
I found this interesting:
root@om-gta02:~# cat /proc/version
Linux version 2.6.24 (build@barbie) (gcc version 4.1.2) #1 PREEMPT
Thu Apr 24 08:23:36 CST 2008
Hmm... the FreeRunner ships with an Ingo patched RT kernel?
Nope. It would otherwise say "PREEMPT RT" like this:
Linux monolith 2.6.24.7-rt8 #2 SMP PREEMPT RT
Really? I've been running a home-made Ingo patched RT kernel on my laptop for over a
year now, and I get this:
[ken@asus ~]$ cat /proc/version
Linux version 2.6.21-rt1-1 (root@asus) (gcc version 4.1.2 20061115 (prerelease) (Debian
4.1.1-21)) #1 SMP PREEMPT Thu May 3 00:41:41 PDT 2007
No "RT" there, but I definitely know it is an RT kernel, because I patched it
myself.
But, this whole thing is merely a curiosity anyway, since the FreeRunner doesn't have
enough CPU to do much audio stuff. In fact PulseAudio is so slow on this phone that the
audio hiccups when just playing an OGG file using ogg123, if the terminal application is
open and updating with ogg123's stderr output. I'm told this is to do with the
ARM's lack of support for atomic operations, which PulseAudio requires, and the use of
interrupt masking and spinlocks as a hack around that.
-ken