Krells!

Dale Maggee antisol at internode.on.net
Sat Aug 23 09:25:08 CEST 2008


If you're like me, you're a big fan of gkrellm, and you always have it 
running so you can keep an eye on what your system is doing. I wanted to 
have a remote display of my FR CPU usage on my host, for the same reason 
- to be able to see at a glance what's going on.

Looking at gkrellm's man page, I discovered that it can monitor a remote 
host which is running gkrellmd - the gkrellm daemon.

So I downloaded the source and tried to compile the daemon for the 
freerunner using the toolchain (I haven't got the mokomakefile set up 
yet). I wasn't able to build an ipkg, but I was able to run the 
resulting binary on the freerunner, then connect to it from my host, 
achieving just what I wanted.

screenshot:

http://users.on.net/~antisol/krells.jpg

(the krell on the left is the freerunner, the other one is my host)

the gkrellmd binary:

http://users.on.net/~antisol/gkrellmd.tar.gz

to use it, just untar the binary, scp it to your freerunner, run 
"gkrellmd -d" on your freerunner, then run "gkrellm -s <freerunner ip>" 
on your host. it takes a while (~10 seconds) to connect, so be patient.

Hopefully somebody else will find this usefull! :)

<adds this to list of things you can't do with any other phone>

Cheers,
-Dale

---More detail on what I did, and the output of compiling---

(download and untar gkrellm source)

[antisol at deepthought incoming]$ cd gkrellm-2.3.1

[antisol at deepthought gkrellm-2.3.1]$ om-conf server
Source directory: /data/incoming/gkrellm-2.3.1/server
Extra configure arguments:
NOTE: Running 
/data/incoming/gkrellm-2.3.1/server/configure                 
--build=i686-linux              
--host=arm-angstrom-linux-gnueabi               
--target=arm-angstrom-linux-gnueabi                     --prefix=/usr    
--exec_prefix=/usr               --bindir=/usr/bin               
--sbindir=/usr/sbin                     
--libexecdir=/usr/libexec               
--datadir=/usr/share                    --sysconfdir=/etc               
--sharedstatedir=/usr/com               
--localstatedir=/var                    --libdir=/usr/lib    
--includedir=/usr/include                --oldincludedir=/usr/include    
--infodir=/usr/share/info                --mandir=/usr/share/man         
--enable-mainainer-mode                                             ...

[antisol at deepthought gkrellm-2.3.1]$ cd server
[antisol at deepthought server]$ make
ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -Wall 
-O2 -I.. `pkg-config --cflags glib-2.0 gthread-2.0`   
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include 
-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os 
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include  -c 
-o main.o main.c
ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -Wall 
-O2 -I.. `pkg-config --cflags glib-2.0 gthread-2.0`   
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include 
-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os 
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include  -c 
-o monitor.o monitor.c
ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -Wall 
-O2 -I.. `pkg-config --cflags glib-2.0 gthread-2.0`   
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include 
-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os 
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include  -c 
-o mail.o mail.c
ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -Wall 
-O2 -I.. `pkg-config --cflags glib-2.0 gthread-2.0`   
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include 
-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os 
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include  -c 
-o plugins.o plugins.c
ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -Wall 
-O2 -I.. `pkg-config --cflags glib-2.0 gthread-2.0`   
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include 
-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os 
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include  -c 
-o glib.o glib.c
ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -Wall 
-O2 -I.. `pkg-config --cflags glib-2.0 gthread-2.0`   
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include 
-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os 
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include  -c 
-o utils.o utils.c
ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -Wall 
-O2 -I.. `pkg-config --cflags glib-2.0 gthread-2.0`   
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include 
-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os 
-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include  -c 
-o sysdeps-unix.o sysdeps-unix.c
ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -Wall 
-O2 -I.. `pkg-config --cflags glib-2.0 gthread-2.0`   main.o monitor.o 
mail.o plugins.o glib.o utils.o sysdeps-unix.o  -o gkrellmd `pkg-config 
--libs glib-2.0 gmodule-2.0 gthread-2.0`    -Wl,-E

[antisol at deepthought server]$ cd ..
[antisol at deepthought gkrellm-2.3.1]$ om-make-ipkg server
make: Entering directory `/media/data/incoming/gkrellm-2.3.1/server'
install -d -m 755 /tmp/server-ipkg-tmp/bin
install -c arm-angstrom-linux-gnueabi-strip -m 755 gkrellmd 
/tmp/server-ipkg-tmp/bin/gkrellmd
install: target `/tmp/server-ipkg-tmp/bin/gkrellmd' is not a directory
make: *** [install_bin] Error 1
make: Leaving directory `/media/data/incoming/gkrellm-2.3.1/server'

[antisol at deepthought gkrellm-2.3.1]$ cd server
[antisol at deepthought server]$ ./gkrellmd
bash: ./gkrellmd: cannot execute binary file

[antisol at deepthought server]$ scp gkrellmd root at frusb:/home/root
gkrellmd                                      100%  115KB 115.3KB/s   00:00

(note: frusb is an entry in my hosts file pointing to 192.168.0.202)

[antisol at deepthought openmoko]$ ssh root at frusb

root at om-gta02:~# ./gkrellmd -d

[antisol at deepthought server]$ gkrellm -s frusb &








More information about the community mailing list