pre-dev-userland-0.0.1_alpha.tar.bz2
Gentoo makes cross development very easy. To start first emerge crossdev and crossdev-wrappers:
emerge crossdev crossdev-wrappers
The program crossdev automates building a cross-toolchain. To build a toolchain for the Palm Pre execute the following command:
crossdev -t arm-none-linux-gnueabi --libc 2.6.1 --gcc 4.3.4
The program crossdev-wrappers creates wrappers around emerge which allows you to build packages using emerge and your new toolchain. To setup crossdev-wrappers run the following command:
emerge-wrapper --init
Now that your cross development userland is in place there are a couple more things that need to be tweaked to make sure your userland is identical to the Palm Pre. Edit the file /usr/arm-none-linux-gnueabi/etc/portage/package.mask and add the following lines:
>sys-libs/ncurses-5.4-r6
>dev-libs/expat-1.95.8
>sys-apps/dbus-1.1.20
>sys-fs/sysfsutils-2.0.0
>dev-libs/glib-2.14.4
>media-libs/alsa-lib-1.0.18
>=media-libs/jpeg-7
>media-libs/libpng-1.2.12
>sys-libs/glibc-2.6.1
>sys-devel/gcc-4.3.4
>sys-process/procps-3.2.7
You should now be able to use emerge-arm-none-linux-gnueabi to emerge new packages with your cross-toolchain. If you are doing any work on C/C++ services you will need a few dependencies so that you can link against liblunaservice.so. To get these deps run the following command:
emerge-arm-none-linux-gnueabi glib libgdbus mjson json-c sysfsutils procps libsdl DirectFB