code‎ > ‎

Chumby

New page: Chumby hacking.

Cracked chumby  Chumby GGI
A Chumby with a cracked screen. Let's see what I can do with that.

I've been building some software. Mostly I use --prefix=/psp/usr, which I have linked to /mnt/storage/usr on the chumby and store files there. This one has a 2G SD card and there's about 1.2G of free space there. I use scp to push files around, mostly, since the builtin sshd doesn't seem to do sftp (and thence sshfs).

Hardware

One of the first steps was finding another microSD card to clone the system to, so I have a bootable backup and can mess with the whole system.

I've been thinking of attaching a wireless wiichuck to the I2C bus and get/make an input driver for that. Then use pie-menu-ish UI to control the Chumby with that. Running an emulator or something would of course make it even more fun. A mouse or a USB joypad might also do. I'll need to find better documentation on using the input system. Generic I2C GPIO expander and a bit of case hacking could lead to more buttons, too.

Basic environment stuff

The following software built easily close to the wiki instructions IIRC:

I also built libelf-0.8.13 and ltrace git/2011-02-16 to get ltrace.

I built psmisc and procps for selected utils (peekfd, pkill, pgrep, fuser...).

For a shell, I wanted a light modern ksh (if there is such a thing) and picked MirBSD's mksh. Possibly the cleanest build of all, but apparently no DESTDIR support.  I linked dot.mkshrc from /mnt/storage to /root/.mkshrc and enabled history and vi editing in it. I will start it as needed so there's no reason to do anything more intrusive.

I built dircproxy, which is supremely clean. It doesn't do SSL yet (that would be another dependency and more work), but appears to work nicely. I'll keep my irc client on the desktop and let the chumby worry about keeping the connection alive. Sadly, it hadn't been working too well, so I built znc. ZNC is very big and complex, but works nicely.

Trying out tools and libraries

I built lua-5.1.4 to try out and as a candidate for scripting. Chumby also has some kind of mini perl, awk and busybox sh plus bash (4.1.5) at least. Vim would have a lua extension, but I don't think I'd have a use for that.

I have working GGI and GII libraries for graphics and, possibly, input (untested). I also have DirectFB 1.4.9 built and the tools and some tutorial demos run nicely.

Plans

The busybox httpd isn't very useful, but does enable crude CGI scripts (see attachments). That's one way to interact with (and remote control!) a Chumby that's lost a major input device. Ajaxy things could make that do a lot.

I got some of the Chumby vendor sources to look around and rebuilt gacc from the accel kit. It draws slow, but correct looking graphs based on the accelerometer values (movement, orientation wrt gravity). I'll have to do a screengrab sometime.

Main crazy idea so far is pick some suitable library (DirectFB? SDL?) and make some kind of UI with that. Either that or just make some routines to write on the fb by mmap. For control, there's still the wheel, the button and possibly some kind of internal sensor I haven't looked into.

So far, it's playing an icecast radio. I can show an image on the screen with imgtool, run some graphics demos. It could be made into a TOR node or other little server.

I might try installing a more complete OS (Debian, NetBSD?) someday. I did try building pkgsrc, but it seems to be an insane beast to bootstrap and so is dpkg that's perl-heavy. RPM might be the cleanest option. But that all seems too excessive for a one-off "appliance".

I might also be able to run the development on the device itself instead of scratchbox.

I came across the OLinuXino micro. Their instructions might describe creating bootable images cleanly for i.MX.


Links


ċ
chumby_DirectFB-1_4_9.tar.gz
(823k)
Harri Haataja,
21 Apr 2011, 04:15
ċ
chumby_libggi-2.2.2.tar.gz
(4791k)
Harri Haataja,
20 Apr 2011, 09:06
ċ
chumby_libgii-1.0.2.tar.gz
(596k)
Harri Haataja,
20 Apr 2011, 09:07
ċ
chumby_lua-5_1_4.tar.gz
(331k)
Harri Haataja,
20 Apr 2011, 10:02
ċ
chumby_ncurses-5_8.tar.gz
(4477k)
Harri Haataja,
20 Apr 2011, 10:00
ċ
chumby_procps-3_2_8.tar.gz
(267k)
Harri Haataja,
20 Apr 2011, 09:07
ċ
chumby_psmisc-22_13.tar.gz
(193k)
Harri Haataja,
20 Apr 2011, 09:07
ċ
chumby_readline-6_2.tar.gz
(409k)
Harri Haataja,
20 Apr 2011, 10:04
ċ
chumby_screen-4_0_3.tar.gz
(584k)
Harri Haataja,
20 Apr 2011, 09:56
ċ
chumby_vim73.tar.gz
(8273k)
Harri Haataja,
20 Apr 2011, 09:52
ċ
chumby_znc-0_098.tar.gz
(1415k)
Harri Haataja,
19 Jun 2011, 01:11
ċ
igor_dfbinfo.txt
(2k)
Harri Haataja,
21 Apr 2011, 04:15
ċ
index.cgi
(0k)
Harri Haataja,
2 Apr 2011, 07:42
ċ
play.cgi
(0k)
Harri Haataja,
2 Apr 2011, 07:42
ċ
stop.cgi
(0k)
Harri Haataja,
2 Apr 2011, 07:42
ċ
strap.out
(83k)
Harri Haataja,
14 Apr 2011, 06:34
Comments