The link I was given above shed some nice light on the simlink confusion in the Zaurus Linux directory setup. You have a potential of 4 kinds of media on the Zaurus:
- Read-Only Internal Memory or ROM Disk (/)
- Read-Write Internal Memory or RAM Disk (/home/)
- CF Card (/mnt/cf/)
- SD/MMC Card (/mnt/card)
It's the interaction between the ROM Disk and RAM Disk that expalins why there are so many simlinks and duplicate diretories. The root system directories are on the ROM Disk, but some of the files in them need to be changed by the system from time to time, so instead most of the root level system directories are nothing more than simlinks to equivalent direcories in the RAM Disk (inside the /home/
That's the first level of simlinks.
The 2nd level of simlinks is based on trying to have as many of the system binaries in the ROM as possible. Most of the system binaries in the /home/
system directories are simlinks back to yet other directories off of the root. When a system file is overwritten, the simlinks in the /home/
system directories get overwritten with actual new binaries and files.
So, in short, ROM simlinks to RAM which simlinks back to ROM. The setup makes sense considering that this is an embedded Linux setup. I can imagine that other Embedded Linux setups are similar.