OK, if you install more than one gmapsupp (a mapset) on a device you have to make sure that each tile within those mapsets has to be unique. Also, each mapset needs a unique family-id. The splitter program has an option --polygon-desc-file which was implemented to help with this but during the last days I learned that it is quite difficult to produce the corresponding polygons.
First of all don’t use whole Europe to learn how this works, start with a single country like maybe Bulgaria.
I presume that you want
a) mapsets which don’t overlap and
b) have no gaps (no (possible very narrow) empty areas between tiles of different mapsets
c) routing between different mapsets
I presume that you have a machine with
My approach would be to devide the large file into 4 or more tiles first using the --num-tiles option of splitter. Next split each tile into a set of tiles suitabe for mkgmap. Each set gets it own mapid. Unfortunately there is no garantee that each mapset stays below 4G, so maybe use more sets for Europe.
Here is one example workflow to produce the mapsets. Note that I do this on Windows, modify the \ to / if you work with a different system. The 4G for heap are not needed for Bulgaria but should be good for Europe.
osmconvert bulgaria-latest.osm.pbf --drop-version -o=f:\osm\bulgaria.o5m
java -Xmx4G -jar d:\splitter\splitter.jar --num-tiles=4 --output=o5m --write-kml=split4.kml f:\osm\bulgaria.o5m > split4.log
java -Xmx4G -jar d:\splitter\splitter.jar --no-trim --write-kml=4711.kml --mapid=47110001 --output-dir=4711 63240001.o5m > split4711.log
java -Xmx4G -jar d:\splitter\splitter.jar --no-trim --write-kml=4712.kml --mapid=47120001 --output-dir=4712 63240002.o5m > split4712.log
..
java -Xmx4G -jar d:\splitter\splitter.jar --no-trim --write-kml=4714.kml --mapid=47140001 --output-dir=4714 63240004.o5m > split4714.log
Now you have 4 sets of tiles in sub directories 4711…4714. The tiles should neither overlap nor have gaps. I load the kml files into JOSM (with the opendata plugin) to verify this. I really recommend to do this before finally using mkgmap!
Next, compile one gmapsupp. I suggest to create a config file mkgmap.cfg for the options that should be identical for all tiles:
route
add-pois-to-areas
bounds=bounds.zip
index
code-page=1252
max-jobs
# see sample.cfg for some other recommended options
Here is the command to compile the gmapsupp for 4711:
java -Xmx4G -jar d:\mkgmap\mkgmap.jar --output-dir=map4711 --family-id=4711 --family-name=fam4711 --area-name=area4711 --description=map4711 -c mkgmap.cfg -c 4711\template.args
move map4711\gmapsupp.img map4711\map4711.img
Install the map (map4711.img) and check if you are happy with it. Try to find places, try to route between places etc.
If not, add or modify the options in mkgmap.cfg, for example you may want to use unicode codepage 65001 instead of 1252 or further args to improve routing. Make sure to rename / remove the output directory of mkgmap (map4711) first!
Once you are happy with that single mapset, compile another next to it and install it as well (simply replace all 4711 by the other number)
Enable both mapsets and check if search works well for objects in different mapsets and that routing across mapset boundaries also works well.
Finally, it should be fine to compile and install the remaining two gmapsupp files.
If you want to repeat these steps some months later you should keep the file areas.list that was produced in the first split with --num-tiles.
Use this file to split into the four same areas again:
java -Xmx4G -jar d:\splitter\splitter.jar --split-file=areas.list --output=o5m --write-kml=split4.kml f:\osm\bulgaria.o5m > split4.log
This allows to use more meaningfulll names like West/North etc. instead of area4711 or map4712 and is also faster.
Edit: fixed typo
Edit2: Clarify the repeat with areas.list