Difference between revisions of "LeapFrog Pollux Platform: Firmware"

From eLinux.org
Jump to: navigation, search
(Explorer UBI)
(Explorer UBI)
Line 35: Line 35:
== Create Root Filesystem Images ==
== Create Root Filesystem Images ==
=== Explorer UBI ===
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:
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
To determine these and the ubi.ini file settings, use ubinfo -a and dmesg on the device, which both give plenty of information about the values needed. The size and vol_name are listed under "Present volumes" when you run ubinfo -a on the device. The second half of that particular ubi device's description, the Explorer will have two ubi devices. While the NAND descriptions PEB, LEB etc are in dmesg.
* -m - Minimum I/O unit size.
* -e - Logical Erase Block (LEB) size.
* -c - Max LEB count. (vol_size/LEB)
* -r - Path to root filesystem.
* ubifs.img - Temporary image file.
* -o - Output file.
* -p - Physical Erase Block (PEB) size.
* -m - Minimum I/O unit size.
* -s - Minimum I/O size for UBI headers, eg. sub-page size.
* -O - VID header offset from start of PEB.
* ubi.ini - UBI image configuration file.
=== Didj JFFS2 ===
=== Didj JFFS2 ===
The Didj uses a jffs2 image for it's rootfs, this is pretty easy to make. Once you got your rootfs created, run:
The Didj uses a jffs2 image for it's rootfs, this is pretty easy to make. Once you got your rootfs created, run:

Revision as of 11:18, 3 February 2012


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.


CBF File Format

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.




Create Root Filesystem Images

Didj JFFS2

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.