Zero downtime is pretty much an impossibility, so let's taks about minimising down time.
You are converting between large endian (Solaris) and small endian (Linux), so you can't do an RMAN database convert. What are your options:
1) expdp/impdp : Logically the easiest way to upgrade and/or move data between platforms. Having said that, it is slow for large databases, giving you significant down time.
2) Transportable tablespaces : I said you can't do a full database convert because of the different endians, but that doesn't stop you doing converts of individual tablespaces. Assuming there are no interdependenties stopping it, transportable tablespaces can move the data between systems really fast.
3) If both instances were the same version, you could consider using data guard to setup a standby on the new system, then switch over, to effectively do the transfer really quickly. But as you have different versions, this is not supported.
For small databases, I always prefer data pump. I think it is a clean way to move between platforms and do upgrades.