This shows you the differences between two versions of the page.
chumbyimagehowto [2010/06/14 17:25] gonium |
chumbyimagehowto [2012/10/30 10:27] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Some daemons need to be compiled on another host machine, since the Chumby is not powerful enough for this task (and has not enough memory). Here are my notes: | + | === Download a prepared Image === |
+ | You can download the finished images here: [[ChumbyImageDownload]]. | ||
+ | |||
+ | === Build an Image on your own === | ||
+ | |||
+ | Some daemons need to be compiled on another host machine, since the Chumby is not powerful enough for this task (and has not enough memory). Here are my notes: | ||
====== Install Scratchbox ====== | ====== Install Scratchbox ====== | ||
[[http://wiki.chumby.com/mediawiki/index.php/Scratchbox|as described here.]] This greatly simplifies cross-compiling things. It also provides you a way to run the compiled ruby interpreter on a bigger host machine using QEMU. This is essential because I rely on rubygems, and the Chumby is too small to execute the gem install commands. Besides, at least for the sqlite3-ruby and mongrel gems, I need to compile native code. | [[http://wiki.chumby.com/mediawiki/index.php/Scratchbox|as described here.]] This greatly simplifies cross-compiling things. It also provides you a way to run the compiled ruby interpreter on a bigger host machine using QEMU. This is essential because I rely on rubygems, and the Chumby is too small to execute the gem install commands. Besides, at least for the sqlite3-ruby and mongrel gems, I need to compile native code. | ||
+ | |||
+ | The CMake tool does not compile in a Scratchbox environment, see [[http://www.staerk.de/thorsten/Nokia_N810#cmake]]: | ||
+ | the error msg is | ||
+ | <code> | ||
+ | make[2]: *** No rule to make target `Source/CMakeFiles/CMakeLib.dir/link.txt', needed by `Source/libCMakeLib.a'. Stop. | ||
+ | </code> | ||
+ | Workaround: I took link.txt from another computer and copied it => cmake is installed on the N810 | ||
+ | |||
+ | The complete command sequence is: | ||
+ | <code> | ||
+ | mkdir build | ||
+ | cd build | ||
+ | ../bootstrap --prefix=/mnt/storage/usr && make | ||
+ | # make install also fails, so: | ||
+ | cp bin/* /mnt/storage/usr/bin | ||
+ | </code> | ||
+ | |||
====== Install dependencies ====== | ====== Install dependencies ====== | ||
I found the following libraries necessary: | I found the following libraries necessary: | ||
Line 33: | Line 55: | ||
gem install sqlite3-ruby -- --with-sqlite3-dir=/mnt/storage/usr | gem install sqlite3-ruby -- --with-sqlite3-dir=/mnt/storage/usr | ||
</code> | </code> | ||
- | ====== Install AVAHI ====== | + | |
- | As a prerequisite for avahi, you need to install intltool v0.35.5 and libexpat 2.0.1, both with --prefix=/mnt/storage/usr. Then, install DBUS with | + | |
- | <code> | + | |
- | BASEDIR=/mnt/storage/usr | + | |
- | export CFLAGS=-I$BASEDIR/include | + | |
- | export LDFLAGS=-L$BASEDIR/lib | + | |
- | ./configure --prefix=/mnt/storage/usr --with-xml=expat --with-session-socket-dir=/tmp --with-system-pid-file=/tmp/dbus/dbus-pid --with-system-socket=/tmp/dbus/dbus-socket | + | |
- | make && make install | + | |
- | </code> | + | |
====== The result ====== | ====== The result ====== |