Yaouh! out (update for tangogps maps)

William Kenworthy billk at iinet.net.au
Tue Jan 20 00:20:59 CET 2009


On Mon, 2009-01-19 at 14:54 +0100, Helge Hafting wrote:
> Carlo Minucci wrote:
> > http://wiki.openmoko.org/wiki/Yaouh!
> > 
> > i a simple interface for update the maps of tangogps
> > it's optimized for low band usage
> 
> A very good idea, but it does not work yet.
> 
> My maps are in /media/card/kart/,
> but yaouh thinks they are in /home/root/Maps.
> so it doesn't check my 50000 tiles.
> 
> I have tangogps set up that way, because there is
> more room on the 8GB card, and it isn't blanked when I flash
> a new SHR image.
> 
> I do not know where tangogps keeps this information though.
> 
> Helge Hafting
> 

After trying a few different things, now one of my first moves is to
delete /home/root/Maps and replace it with a symlink to the SD card Maps
directory.

Rather than use the yaouh script, the first version of which didnt like
the symlink, I used the idea (thanks for putting me onto E-TAG) in a
quick perl lashup - works fine (well, working fine as I have ~840000 png
files totalling 3.3Gb and its been running since soon after yaouh was
announced - will be awhile yet!)  I use a master archive on my desktop
for this - and syn the freerunner to this using rsync.

Some things I ran into with such a large number of maps:

ext2/3 is not really suited to storing such a large number of small
files. The main problem is the fixed number of inodes which I ran out of
despite having 2Gb still free on the SD card partition :(  To work
around, create the file system with "-b 1024 -i 1024" for the maximum
number of inodes - unfortunately this cant be changed after the FS is
created.

Where I live (Perth, Western Australia) there are large areas of
surrounding sea/land/forestry/desert etc that use a single colour tile -
each of only 103 bytes.  I symlinked all identical files (based on
md5sum) such that only one copy of each is kept.  This has the advantage
that as ext2/3 uses fast-symlinks, the actual symlink (provided the path
is < 60 characters) is stored in the inode and doesnt take any block
space on the FS.  This shrinks the size as given by du -sh from 3.3Gb
down to ~550Mb.

Pity ext2/3 doesnt do tail packing, but maybe reiserfs which would be a
lot more suitable will come into the FR one day.  When I get time, I
hope to investigate a loopback like tarfs or squashfs to see if that can
improve this wasted space.  I'll need to finish my current update and
create a new symlinked archive to see how much wastage tail packing
would save - should be a fair bit.

Lastly, I would get occasional lockups, blank tiles and FS corruption
from tango - eventually traced it to the SD card clock - if you see this
look up "sdclk" on the wiki and slow it down a bit.

Have fun,
BillK






More information about the community mailing list