Warning: Parameter 1 to Language::getMagic() expected to be a reference, value given in /opt/local/apache2/htdocs/wiki/includes/StubObject.php on line 58
ILiad/Dev - OSR

ILiad/Dev

From OSR

Jump to: navigation, search

Contents

Installing sshd

Before doing any development, install the unbrickable startup scripts to startup sshd before anything else. Otherwise it might not be possible to restore the reader without a complete reflash from CF if you mess up the X server or any of the other startup scripts.

Building with autoconf

  • Install the Open Embedded cross compile toolchain (unpack it in / as root and it will create /usr/local/arm with all of the libraries and headers).
  • Cross compile FLTK for the arm (the build and install of fluid will break):
   CC=/usr/local/arm/oe/bin/arm-linux-gcc \
   CXX=/usr/local/arm/oe/bin/arm-linux-g++ \
  ./configure \
          --host arm-linux-elf \
          --prefix /usr/local/arm/oe/arm-linux \
          --enable-threads
   make
   sudo make install
   CC=/usr/local/arm/oe/bin/arm-linux-gcc \
   LDFLAGS=-lerdm \
      ./configure --host arm-linux-gcc
   make
  • Copy it to the reader (no scp for some reason):
   tar -zcf - ./hello | ssh root@ereader tar -zxvf -
  • Log into the reader and run it:
   ssh root@ereader DISPLAY=:0 ./hello

Interfacing with the e-ink display manager (erdm):

  • configure was told to link in the liberdm library already.
  • Add to the program headers:
   #include <liberdm/erdm.h>
  • Add this right before gtk_main() or Fl::run() or what ever mainloop your GUI toolkit uses so that the entire screen will be blanked and redrawn with your widget set:
   // Full Refresh, chase off all the ghosts
   dmDisplay(dmCmdPriorUrgent, dmQFull);
  • You may need to add something to a periodic timer to update the display incrementally:
   dmDisplay(dmCmdPriorUrgent, dmQTyping);

Using a USB keyboard

I wrote details for installing USB HID drivers and a Xtest redirector. The keyboard works for apps like rxvt and dillo with a US keymap.

Using the iLiad as a tablet

It is possible to use the iLiad's Wacom tablet as a wireless graphics tablet. Details on Mobileread. There is much that could be done to make this more user friendly; perhaps a multicast connection rather than TCP and something that handles startup/shutdown on the iLiad side.

Building krb5-1.5.2

Kerberos support is required for OpenSSL, even if we don't use it. The system doesn't like to cross compile.

   CC=/usr/local/arm/oe/bin/arm-linux-gcc \
   CXX=/usr/local/arm/oe/bin/arm-linux-g++ \
   ./configure \
       --host=arm-linux-elf \
       --prefix=/usr/local/arm/oe \
       --enable-static \

To get around this, create config.cache with this contents:

   krb5_cv_attr_constructor_destructor=${ac_cv_c_const=yes}

But, this fails anyway since "static libraries are not supported in this release", but "this architecture does not support shared libs". To fix this modify config/shlib.conf to define SHLIBEXT=.so instead of .so-nobuild.

I couldn't figure out how to get appl/bsd/configure to recognize the cache for /etc/TIMEZONE and /etc/environment, so I hard coded that part of the script.


Building openssl-0.9.8e

There is no standard autoconf script and the arm-linux-gcc target is gone, so you have to modify the linux-generic32 target: