Skip to content

Latest commit

 

History

History
36 lines (26 loc) · 3.08 KB

ipk.md

File metadata and controls

36 lines (26 loc) · 3.08 KB

Opkg and ipk Files

Package generated by toltecmk are meant to be used with Opkg, a lightweight package manager targeting embedded devices like the reMarkable. Opkg is developed both by OpenWrt and by the Yocto Project.

Opkg is a fork of ipkg, the package manager used in NSLU2's Optware, which is designed to add software to stock firmware of embedded devices.

OpenWrt's documentation

What is the ipk Format?

The package format is similar to the format of Debian packages (deb). It’s a tar.gz archive with three files:

  • control.tar.gz: Sub-archive with metadata about the package itself.
    • control: Text file containing information about the package. See the Debian documentation for details about the value and expected format for each field.
    • preinst, postinst, prerm, postrm: Optional shell scripts that are run before and after installation or removal of the package, if provided. See the Debian documentation for more information about when and how those scripts are invoked.
    • conffiles: List of files to keep upon upgrading the package (optional).
  • data.tar.gz: Sub-archive with the actual contents of the package (binaries, configuration files, data) arranged in a folder structure that mirrors the one of your device’s root folder.
  • debian-binary: Text file that contains the value 2.0. Used for telling apart normal .tar.gz archives from actual packages.

To see an example of an ipk package, you can download one from Toltec’s package listing and dissect its contents with your archive manager.

How are Packages Distributed?

Packages are published in repository feeds such as Entware’s feed or Toltec’s feed. Opkg automatically download the feeds listed in /opt/etc/opkg.conf, builds an internal index of available packages, and offers the end-user to manage those packages.

Other Resources