Da auf dem Raspberry das Compilieren nicht unbedingt Spaß macht habe ich mir einen Crosscompiler "gebaut". Gerade in der Entwicklungsphase baut man ja dauern. Da es nicht einfach war das hin zu bekommem haben ich mich ent schieden es hier zu dokumentieren. Ich hoffe man versteht es.

Das System zum bauen ist bei mir eine Virtuelle Machine mit Debian Jessi. Ich hätte gerne eine echte Machine ...

Auf der Seite zum PI findet man das grundsätzliche. Nur habe ich den nicht Per Konfigurations Dialogen ein gestellt sondern habe mir die Enstellungen aus den GITHub Repos von den Raspberry entwichlern geholt und dann den Crosscompiler gebaut. Also im Punkt Step 1.3 Build Raspberry Toolchain nicht ct-ng menuconfig auf rufen sondern die arm-rpi-4.9.3-linux-gnueabihf.config aus den Repos als .config in das Verzeichniss kopieren. so halt man dann den selben Kompiler wie die anderen jungs un mädels. Achtung jenach Platte und Internet vebindung braucht ma jetzt einige gedult. Bei mir hat das Complier bauen 100 Minuten gedauert. Da nach braucht man eingentlich nur noch lib usr vom PI Syncronisieren und man kann bauen.

Ich musste auch noch opt/vc/lib und opt/vc/include kopieren.
Das Kopieren mach ich so:
cd /home/punky/x-tools/rpiroot
rsync -rl --delete-after --safe-links --ignore-errors pi@192.168.2.50:/{lib,usr} .
cd /home/punky/x-tools/rpiroot/opt/vc/
rsync -rl --delete-after --safe-links --ignore-errors pi@192.168.2.50:/{opt/vc/lib,opt/vc/include} .

Da nach muss man die Links noch reparieren und zwei Dateien bearbeiten damit die Pfade passen.
nano /home/punky/x-tools/rpiroot/usr/lib/arm-linux-gnueabihf/libpthread.so
nano /home/punky/x-tools/rpiroot/usr/lib/arm-linux-gnueabihf/libc.so
sonst bekommt man komische Compiler fehler meldungen die man nicht zu ordenen kann und man stunden verswchwendet.

Links Repairiren
ln -sf /home/punky/x-tools/rpiroot/lib/arm-linux-gnueabihf/libpng12.so.0.50.0 /home/punky/x-tools/rpiroot/lib/arm-linux-gnueabihf/libpng12.so.0
ln -sf /home/punky/x-tools/rpiroot/lib/arm-linux-gnueabihf/libpng12.so.0.50.0 /home/punky/x-tools/rpiroot/usr/lib/arm-linux-gnueabihf/libpng12.so.0
ln -sf /home/punky/x-tools/lib/arm-linux-gnueabihf/libz.so.1.2.8 /home/punky/x-tools/usr/lib/arm-linux-gnueabihf/libz.so
ln -sf /home/punky/x-tools/lib/arm-linux-gnueabihf/libdl.so.2 /home/punky/x-tools/usr/lib/arm-linux-gnueabihf/libdl.so

Finde Deadlinks
find . -type l -exec sh -c "file -b {} | grep -q ^broken" \; -print

Links die mir zu den Wissen oben verholfen haben

Diese Tut hat den Namen nicht wirklich verdient aber ich musste das jetzt mal aus die Schnelle Festhalten das ich die Infos nicht verliere