Unfortunately, this is impossible. There's always a way around any protection scheme and in this case it would simply be the "prot" link inside the empeg, which write-protects the first blocks of flash (note: careful! If this link is fitted you can trash your empeg to the point where theonly way to get it working is to desolder the flash chip and put a new one on).

The problem: this is, for most intents and purposes, an open box, running an OS for which source is provided. Any attempt at serious protection runs into the same problems you have with, say, protecting a laptop - most stuff can be hacked around. Security key on the laptop? Just open it up and find the link to fit that defeats it - how do you think the manufacturer deals with these events?

The average car stereo thief is more likely to be put off by the fact that it has *any* protection, rather than some magic uncrackable protection - I suspect they're not going to try *very* hard to get round it.

Point (5) simply isn't possible - how are we supposed to stop someone getting a command prompt? The unit boots linux (source available) which then runs init (our own). Say we protect init - you take the HDD out, mount it on a linux PC, rename init and presto - it boots a shell. Protect the shell itself? Well, the source is available...

Realistically what would happen is this: thief steals stereo. Thief finds they can't use it without code. Thief opens unit and removes hard drives, bins the rest of the unit, and sells these generic computer components.

There's a balance between making the protection a pain for the user, and making the thief suffer. It's too easy to make the legitimate user suffer and not bother the thief at all.

Hugo