I have successfully build a cross compiler, 2.2.4, under linux for gp2x.

Unit sdl_mixer.pas must be changed, cause default gp2x has no smpeg - library, so follow lines in sdl_mixer,
Code:
      {$IFNDEF DARWIN}
      5 : ( mp3 : PSMPEG );
      {$ENDIF}
must be replaced with
Code:
      {$IFNDEF DARWIN}
      {$IFNDEF no_smpeg}
      5 : ( mp3 : PSMPEG );
      {$ENDIF}
      {$ENDIF}
Compiler build with line
Code:
make crosszipinstall CPU_TARGET=arm CROSSOPT='-CfSOFT -dGP2X -darm -dno_smpeg -dFPC_ARM -O- -gl' CROSSBINDIR=/usr/local gp2xdev/bin BINUTILSPREFIX=gp2x-
Packing of zipinstall file didn't work, but in directory /tmp/fpc-pack all needed files are located, so finally i got the cross compiler

A simple sdl program, playing an ogg music file and showing a graphic, working well.

Greetings
Thomas