I need to choose a database for an application on an embedded linux platform.
SQLite's small size and levels of completeness, stability & speed make it a popular choice for low-resource environments, which embedded systems usually are. It is used by parts of the current iPhone, Android and Symbian phone operating systems for this reason.
You might want to add some details to your question to get more specific answers: do you know what sort of hardware specification you will be working with for instance?
BDB (libdb) has historically been the embedded database of choice for many applications, shipping with most UNIXes and used by lots of software. If you're accustomed to SQL relational databases, though, BDB is not one - it is simply a (really good) key-value store.
SQLite is a different popular embedded database. As the name implies, it is a SQL database engine, and is not in the same category of lean and compact as BDB, but gives you the power to do very different things.
What sorts of requirements are you targeting?