Podzilla Modules

From wikiPodLinux

This page describes the structure and installation of modules for podzilla 2.

Table of contents


A module can be considered simply as a collection of files. Two of these files are required: a Module file and the code of the module itself (generally in a file called modulename.mod.o, or .so for the desktop). All other files are data and are specific to the module itself; it could have zero, two, or two thousand. Currently, you can't have data files in multiple directories.


All these files are packaged in two ways; each has its advantages and disadvantages, so we're giving you the choice.

Module makers: When distributing modules, please at least offer a .zip of the module directory. These are usable by more people (= those who don't have patched kernels). If you can offer a .pod as well (for simplicity for those that do have patched kernels), do so.

pod files

pod files are somewhat like a cross between tar archives and filesystem images. On the one hand, they can be created and extracted with an archiver (called, not surprisingly, pod); on the other, they can be mounted by the iPodLinux kernel so access to their files is simple.

pod files are generated in the pods/ folder in a PZ2 source tree if you type make pods IPOD=1.


  • Simple installation: just drag-and-drop.
  • Replacing them with a newer version is just replacing one file.
  • Easier to distribute.


  • You have to recompile the iPodLinux kernel to support them (or download this one (http://www.get-linux.org/~oremanj/t/Image-for-pz2.gz)). This is partly because...
  • Leachbj thinks they're unnecessarily complex.
  • The loop devices used by the modules take up a small amount of RAM (51k) and might be theoretically slower than straight hard-disk access.

Module folders (xpods)

Module folders contain all the files above, in a plain old folder. Not much explanation is necessary here. They are created during make install in a PZ2 source tree.


  • You don't have to rebuild the kernel.
  • No loop devices.
  • Simplicity of use.


  • When updating, you have to be careful to remove old files — you can't simply overwrite a whole directory.
  • Distribution is more complex — you have to package the files in a zip or tar.gz or something.
  • Installation is more complex — you have to extract said zip or tar.gz.

Getting modules

On ipodlinux.org, we have a repository where developers can upload their modules along with some documentation about them. Go to this list and drill down or search to find what you're looking for. If you want to install something, download the zip or tar.gz and unzip it.


Module directories are made by the normal podzilla make install process; see Building Podzilla for details.

If you want to create pods, type make pods IPOD=1.


Copy the pods or module folders into iPod/usr/lib.

Personal tools