'''NB:''' Current (2008-04-04+) builds of Openmoko now come with the syntax compatible [[Opkg]] tool, not ipkg.

−

{{Todo|Integrate useful content into [[Opkg]] as a usage section.}}

{{Todo|Integrate useful content into [[Opkg]] as a usage section.}}

−

The practical way to install software on Openmoko is with the [http://handhelds.org/moin/moin.cgi/Ipkg Ipkg package manager], possibly via the graphical Application Manager. Naturally, you need to have obtained an Openmoko system by other means initially.

−

−

In the shell, "opkg update" will update the list of available packages, "opkg upgrade" will download and install all packages that have a newer version available and "ipkg install new-app" will download and install "new-app".

−

Have a look at [[Users Repositories]] to get addresses of alternative software repositories, e.g. ScaredyCat's ipkg repository.

Your system will not be able to see the packages that you just added to your card. There are two ways to remedy this.
The better solution is to use ipkg-link from the 'ipkg-utils' package, but 'better' is always subjective - YMMV.

Ipkg-utils is a package that provides some additional functionality for ipkg. A very useful tool is ipkg-link, which creates symbolic links for packages installed in non-root locations (such as a card) back to the root file system.

Personal tools

The practical way to install software on Openmoko is with the Ipkg package manager, possibly via the graphical Application Manager. Naturally, you need to have obtained an Openmoko system by other means initially.

In the shell, "opkg update" will update the list of available packages, "opkg upgrade" will download and install all packages that have a newer version available and "ipkg install new-app" will download and install "new-app".

Have a look at Users Repositories to get addresses of alternative software repositories, e.g. ScaredyCat's ipkg repository.

History

Ipkg re-implements for embedded systems the functionality of Debian tools dpkg, apt, and apt-get. For example, it uses much less disk space for the package metadata.

Installing Packages to the Memory Card

You can use ipkg to install packages to a folder on the memory card. To do this you'll need the following:

Ext2 Formatted Memory Card

By default, the memory card comes formated with VFAT (Windows Format). You need to re-format the card with EXT2. You will not be able to view the files on the card using a windows system after this.

To check if your card is using vfat or ext, run the 'mount' command, and look for: /dev/mmcblk0p1 on /media/card.

On the NEO, run the following:
This will erase everything on your memory card

Entry in opkg.conf File

Installing Packages on the Card

When installing a package, use the -d option to have the package installed into the "card" destination:
opkg install -d card python-core

This will put all files (binaries and libraries) on the card, under the folder specified in the ipkg.conf file.

Linking/Using Packages on the Card

Your system will not be able to see the packages that you just added to your card. There are two ways to remedy this.
The better solution is to use ipkg-link from the 'ipkg-utils' package, but 'better' is always subjective - YMMV.

1: Ipkg Utils and ipkg-link

Ipkg-utils is a package that provides some additional functionality for ipkg. A very useful tool is ipkg-link, which creates symbolic links for packages installed in non-root locations (such as a card) back to the root file system.

To make this working with Opkg, you've simply to do:
ln -s /etc/opkg.conf /etc/ipkg.conf
ln -s /media/card/opkg/usr/lib/opkg /media/card/opkg/usr/lib/ipkg