Generation 6 uses a 2.6.22 kernel with lots of patches.

Generation 7 uses a 2.6.27.10 kernel with lots of patches (esp. android specific patches and hardware specific).

Both kernels set aside RAM to be used by e.g. the DSP in the original firmware.

The 2.6.27 kernel has some provisions for kexec. It's broken though. There are various patches floating around that could help.

Meego n900:  http://wiki.meego.com/ARM/Meego_kexec_install_on_N900

Ubuntu:  https://bugs.launchpad.net/ubuntu/lucid/+source/linux-ti-omap/+bug/517841

In addition it is known that the Archos bootloader sets some machine specific information for the kernel to retrieve upon early initialization. Also the kernel ignores the cmdline passed to it and overrides it with an compiled in cmdline. For an kexec loadable kernel it would be better to revert this and pass the machine specific information also through this channel.

Before starting work on this please let us know.