It is no news that ?TomToms run with Linux. Since opentom.org is not online anymore I did not find exact details how to run my own code inside the device, so this is how I did it.
These are my notes.
When you connect ?TomTom to your computer you will see new removable device (like a USB-stick).
ttsystem is main image for the system
PNDNavigator is one of the softwares which is launched during the start
bin/ dir includes also binaries which will be launched
You can use binwalk to get more data from the ttsystem
binwalk -e -M -v ttsystem
Extract 0.cpio files with cpio -i -F 0.cpio
ubuntu:~/tmp/_ttsystem-0.extracted/_1215C8-0.extracted/bin$ ls [ chgrp dirname gltt login mknod rdstmcserver stty ttsserver a2dpd chmod dmesg gprscomd lrb mktemp renice sync tty aascan chown dos2unix grep lrx more reset tail umount apnd clear du hcitool lrz mount rm test uname ash clmapp echo head ls mv rmdir time uniq ASRserver cmp env hexdump lsb nc sdptool top unix2dos awk cp expr id lsx picocom sed touch uptime blueserver csrinit false kill lsz pidof sh tr wc btserver cut flash_erase killall md5sum ping sirfreset true wget busybox date free launchserver migrate_flash printf sleep ttcalib which cat dd glgps ln milisleep ps sort ttn cbee_gen df gllogarchive logger mkdir pwd strings ttpnpd
How to Inject your own code
When you have mounted the ?TomTom to your computer, copy PNDNavigator to PNDNavigator.orig
Make your own shell-script with name PNDNavigator
Remember to run PNDNavigator.orig at some point of your shell -script
- Simple example:
dmesg > /mnt/sdcard/myoutput /mnt/sdcard/PNDNavigator.org &
You can check the output from the myoutput -file when you mount your ?TomTom again
Notes about reversing old ?TomTom XL