TomTom Linux Hacking

Page 1

Embedded Linux – TomTom hacking



Agenda • Har dwar e • Sof t war e • • • •

Li nux ker nel Root f i l esyst em TomTom appl i cat i on Sounds and Gr aphi cs • OGG, mpl ayer , cust om voi ces • Fr amebuf f er devi ce

• Get t i ng access

• Si mpl e – spl ash scr een mods • Medi um - Debuggi ng vi a shel l scr i pt i ng • Har d – wr i t e your own appl i cat i ons

• Runni ng a uni x shel l on TomTom • Remot e l ogi n vi a Bl uet oot h


/mnt/sdcard files


Customizing the splash screen Use phot oshop or gi mp ( or si mi l ar ) t o edi t s p l a s h w. b mp save as 24bi t png and copy t o TomTom USB di sk.


The Boot Process


ttconsole Usi ng shel l scr i pt / mnt / sdcar d/ t t n f or bypassi ng t he boot sequence # cat / mnt / sdcar d/ t t n cd / mnt / sdcar d/ bi n/ TTconsol e . / TTconsol e / bi n/ t t n& #

UNI X end- of - l i ne onl y!


tomplayer • Pl ayi ng musi c and vi deo on TomTom # cd /mnt/sdcard/bin/tomplayer # ./tomplayergui.sh


Playing movies


Framebuffer device •

Readi ng f r om t he f r amebuf f er ( 480x272 – 16 bi t col or )

# cat / dev/ f b > f b_r aw # i mgconver t f b_r aw i mg

Wr i t i ng t o f r amebuf f er

# cat f b_r aw > / dev/ f b

5

6

5


GPS device • Starting the gps # /etc/rc.gltt start 115200

• Reading positions # cat /var/run/gpspipe $GPGGA,100244.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*67 $GPGGA,100244.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*67 $GPRMC,100244.58,V,,,,,,,300708,,,N*7F $GPRMC,100244.58,V,,,,,,,300708,,,N*7F $GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 $GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 $GPGGA,100246.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*65 $GPGGA,100246.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*65 $GPRMC,100246.58,V,,,,,,,300708,,,N*7D $GPRMC,100246.58,V,,,,,,,300708,,,N*7D $GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 $GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 $GPGGA,100248.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*6B $GPGGA,100248.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*6B $GPRMC,100248.58,V,,,,,,,300708,,,N*73 $GPRMC,100248.58,V,,,,,,,300708,,,N*73 $GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 $GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 $GPGGA,100250.55,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*6F $GPGGA,100250.55,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*6F $GPRMC,100250.55,V,,,,,,,300708,,,N*77 $GPRMC,100250.55,V,,,,,,,300708,,,N*77 $GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 $GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34


Touch screen device • Readi ng # cat / dev/ t s >> t s. l og

pressure: 0xff(pressed) 0x00(off) x: x-coord. (0x07) y: y-coord. (0x04) ?: (0x00)

# hexdump t s. l og 00000000 00000000 00000010 00000010 00000020 00000020 00000030 00000030 00000040 00000040 00000050 00000050 00000060 00000060 00000070 00000070 00000080 00000080 00000090 00000090 000000a0 000000a0 000000b0 000000b0 000000c0 000000c0 000000d0 000000d0 000000e0 000000e0 000000f0 000000f0 00000100 00000100 00000110 00000110

ff 00 07 00 04 00 00 00 ff 00 07 00 04 00 00 00 00 00 07 00 03 00 00 00 00 00 07 00 03 00 00 00 ff 00 df 01 0a 01 00 00 ff 00 df 01 0a 01 00 00 ff 00 df 01 09 01 00 00 ff 00 df 01 09 01 00 00 00 00 df 01 09 01 00 00 00 00 df 01 09 01 00 00 ff 00 03 00 0d 01 00 00 ff 00 03 00 0d 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 03 00 0d 01 00 00 ff 00 03 00 0d 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 02 00 0d 01 00 00 ff 00 02 00 0d 01 00 00 ff 00 02 00 0e 01 00 00 ff 00 02 00 0e 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 03 00 0e 01 00 00 00 00 03 00 0d 01 00 00 00 00 03 00 0d 01 00 00 ff 00 f3 00 8e 00 00 00 ff 00 f3 00 8e 00 00 00 ff 00 f4 00 8e 00 00 00 ff 00 f4 00 8e 00 00 00 ff 00 f3 00 8f 00 00 00 ff 00 f3 00 8f 00 00 00 ff 00 f4 00 8f 00 00 00 ff 00 f4 00 8f 00 00 00 00 00 f4 00 8f 00 00 00 00 00 f4 00 8f 00 00 00

ff 00 07 00 03 00 00 00 ff 00 07 00 03 00 00 00 ff 00 df 01 0b 01 00 00 ff 00 df 01 0b 01 00 00 ff 00 df 01 0a 01 00 00 ff 00 df 01 0a 01 00 00 ff 00 df 01 09 01 00 00 ff 00 df 01 09 01 00 00 ff 00 04 00 0d 01 00 00 ff 00 04 00 0d 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 02 00 0e 01 00 00 ff 00 02 00 0e 01 00 00 ff 00 03 00 0d 01 00 00 ff 00 03 00 0d 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 02 00 0e 01 00 00 ff 00 02 00 0e 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 03 00 0e 01 00 00 ff 00 03 00 0d 01 00 00 ff 00 03 00 0d 01 00 00 ff 00 f2 00 8d 00 00 00 ff 00 f2 00 8d 00 00 00 ff 00 f4 00 8e 00 00 00 ff 00 f4 00 8e 00 00 00 ff 00 f3 00 8f 00 00 00 ff 00 f3 00 8f 00 00 00 ff 00 f3 00 8f 00 00 00 ff 00 f3 00 8f 00 00 00 ff 00 f4 00 8f 00 00 00 ff 00 f4 00 8f 00 00 00


Sound device • Don’ t know much about t hi s: # head –n 20 /dev/urandom > /dev/sound

• gi ves wonder f ul l oud noi se t hough


References TomTom sour ces - www. t o mt o m. c o m/ p a g e . p h p ? Pa g e = g p l OpenTom Pr oj ect - www. o p e nt o m. o r g ” Cr eat i ng Cust om TomTom Voi ce Fi l es” - t o mt o m. g r a e me l u c a s . c o . u k / t o mt o ms t e p 1 . ht m Di scussi on For um - www. my t o mt o m. c o . u k t ompl ayer - www. t o mp l a y e r . ne t / bt consol e - b t c o ns o l e . r e ne v o e g e l i . d e / t t consol e - o p e nt o m. o r g / To mTo m_Co ns o l e unt t – i g m. u ni v - ml v . f r / ~a l l a l i / u nt t . t g z NMEA f or mat - a p r s . g i d s . nl / nme a /


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.