Programing for a console is known as Homebrew
http://en.wikipedia.org/wiki/Nintendo_ds_homebrew
Use a DS, and storage device, such as a R4.
Download all of these (for linux):
devkitarm, libNds, DSwifi::
http://sourceforge.net/project/showfiles.php?group_id=114505
and PAlib
http://www.palib.info/wiki/doku.php
Decompress them, each on on its own folder, in:
/user/local/devkitpro
It should looks something like this:
/
|--user
|--local
|--devkitpro
|-devkitARM
|-libnds
|-PAlib
|-PAlibDoc Eng
|-PAlibDoc Fr
|-PAlibExamples
|-PAlibTemplate
add these Path modifig the /etc/environment with a text editor
$ gksudo gedit /etc/environment
DEVKITPRO="/user/local/devkitpro" DEVKITARM="/user/local/devkitpro/devkitARM" PAPATH="/user/local/devkitpro/PAlib"
It is possible to use an emulator for tests
Desmume can be installed directly from Synaptic, and libgtkglext is needed as well.