LeapFrog Pollux Platform: Firmware
Over the years there has been a handful of revisions to the LeapFrog Pollux Platform Firmware. The Didj started on Linux Kernel version 2.6.20, which involved 2 versions over its lifespan the 2008 and 2009 versions. With the release of the Leapster Explorer the Kernel was upgraded to 2.6.31 and has since seen multiple updates, the latest being the LeapPad Explorer release.
The root file system or userspace has also seen some major upgrades, while most of it is not Open Source software, as in the UI or Flash Lite player, the basic programs are. They contain everything you'd expect to find on a Linux OS, echo, ls, vi, etc, etc.
This page contains various links to tutorials and information on the Firmware. While Didj was vastly different, it can be upgraded to run the new Linux version. This is recommended as most of the Linux work is being done with the latest firmware version. You can find links to older version information in the depreciated section. The updated firmware versions usually end up including whats been added, so often times it will be easier to just move to the latest, but they are there if you need them.
Latest Firmware Version LF-Linux-2503-20110602-1237
This is where to find generic Linux tutorials and information based on the latest LeapFrog Linux firmware, for LeapFrog User Interface specific information please refer to your particular device's page.
- Building libSDL
- Building SDL_ttf font library
- Building SDL_image library with jpg and png support
- Building SDL_mixer audio library
- Building tslib
- SDL Resources
- 2.6.31 Kernel for Didj
- Boot Kernel and Rootfs from SD w/Framebuffer
- Linux Framebuffer Driver
- Enable SD Card Module
- Building The Explorer Root File System
- Changing the fb driver to display the boot logo correctly
Create Root Filesystem Images
Explorer uses UBI for its rootfs. To create the image from a rootfs you've built first you need to create the ubi.ini file, that describes your ubi image. Create a regular text file, ubi.ini and paste these settings:
[ubi_rfs] mode=ubi image=ubifs.img vol_id=0 vol_size=87349248 vol_type=dynamic vol_name=ubi_rfs vol_alignment=1 vol_flags=autoresize
You shouldn't need to change anything, as the Explorer is rather particular about the settings. Next you'll run the commands that actually build it. Here ubi.ini is the file you just created, ubifs.img is a temp file you can delete once you are done, and your_erootfs.ubi is the name of the rootfs image that will be created.
sudo /usr/sbin/mkfs.ubifs -m 2048 -e 129024 -c 677 -r /path/to/rootfs ubifs.img sudo /usr/sbin/ubinize -o your_erootfs.ubi -p 131072 -m 2048 -s 512 -O 512 ubi.ini
The Didj uses a jffs2 image for it's rootfs, this is pretty easy to make. Once you got your rootfs created, run:
mkfs.jffs2 -p -r /path/to/rootfs -e 128 -o your_erootfs.jffs2
- -p - Pad to erase block size with 0xFF
- -r - Path to root filesystem
- -e - Physical Erase Block (PEB) size, refer to NAND datasheet.
- -o - Output file.