Both the Sony Reader and the Sony Librie run Montevista Linux, and people
have 'hacked' both to allow you to run programs off the memory card. I
managed to get cairo (plus other bits and bobs) going on my Librie, writing
into the framebuffer and then using the magic ioctl to cause the e-ink screen
to update.
In the end I didn't produce anything amazingly useful, as the builtin book
reading software was good enough. I did get basic PDF support going for the
Librie using Poppler.
PDF is actually a really terrible ebook format, EPUB is much more sensible. PDF
is largely pages of a fixed size, doesn't reflow well (on most documents, not
at all), and it's a pain to scale fonts. EPUB is just HTML + Images (and other
files) in a JAR style zip file.