Homepage Wiki Forum Buy

Gnublin Debian

From GNUBLIN

Contents

The GNUBLIN Package System

An easy way to make applications, drivers, etc. available for beginners, there are GNUBLIN packages. The packet format is based on the popular Debian package management (.deb) which you can be easily be installed and removed with the apt tools.

Currently there are the following GNUBLIN packages available:

Gnublin package list

Local Installation

In the directory /root/deb are all packages, which were available at the time of creating the distribution.

Installation via Internet

Above you can see the link to the packages. Once you downloaded a package, you can install it with the following instruction:

dpkg -i <Paketname>


Create an own Debian package

If you want to develop your own programs that are to be installed later with a command into the rootfs, so is ideal for this, the "Debian Package Management System". The following is the creation of a 'simple' Debian package, explained by an example.


1. Create the folder structure

To create the folder structure make sure that the self-created folder will be copied directly into the filesystem (starting with /). If the program later, for example lie in the folder / usr / bin / folder so this also needs to be in ( usr / bin) in the Debian package.

DEBIAN Directory: The DEBIAN folder must also be created. It contains the important control file, which defines the properties of the package.

Let us look at the folder structure for the program gnublin-app:

gnublin-app
├── DEBIAN
│   └── control
└── usr
    └── bin
        └── gnublin-app


As you can see now, the program gnublin-app is located in folder usr / bin /. After installing the program is copied in the rootfs in the folder / usr / bin /. Other files can be so likewise copied to different places.

2. control file

Package: gnublin-app
Version: 0.0.1-1
Section: misc
Priority: extra
Architecture: armel
Depends:
Installed-Size: 11747
Maintainer: Benedikt Niedermayr <niedermayr@embedded-projects.net>
Homepage:
Description: An anpplication for controlling an line based DOGM Display.


  • Package: Sets the name of the debian package.
  • Version: Sets the Version of the debian package.
  • Section: Sets the section of the debian package.
  • Priority: Sets the priority of the debian package.
  • Architecture: Sets the architecture of the debian package.
  • Depends: Sets the dependencies on other packages.
  • Installed-Size: Specifies the size of the installed package.
  • Maintainer: Sets the owner of the package.
  • Homepage: Here can optionally be entered a website.
  • Description: Here is the description of the package set.

3. create the package

Having created all the necessary folder and the control file, you can build the complete Debian package with:

dpkg-b gnublin app gnublin-app.deb

4. Install/Uninstall the package

Install:

dpkg -i <Paketname>

Uninstall:

dpkg -r <Paketname>


Install Debian Packages on ELDK RootFS

If you want to install a well-known application on GNUBLIN, you don't have to cross-compile every time. Debian offers every official PC-Version for ARM architecture,too.

The following example shows, how to geht the rrdtools from a Debian server and install it on GNUBLIN. The rrdtools serves to save data cyclical and display them as a graph.

This is how we do it: First go to the standard debian package directory, e.g. for rrdtools

http://packages.debian.org/squeeze/rrdtool

At the end of this page you can see the aviable architectures for this package. For GNUBLIN you have to choose armel.

Make sure that you have installed alien on your host machine:

sudo apt-get install alien

After downloading the deb package for gnublin do the following:

alien -t rrdtool_1.4.3-1_armel.deb

The result is: rrdtool_1.4.3.tgz

Then copy the result via scp to GNUBLIN in the /-Directory and extract it:

tar xvzf rrdtool_1.4.3.tgz

If the application starts and an error message occurs,which says that a specific library is still missing you have to make the same steps again(download the missing library etc.), in order to solve the missing dependencies.

In other languages