To install packages you will need the script called ipkg. This script is included in mvBlueLYNX filesystems from 23.10.2002 or newer. For older firmware a copy is included on the CD.
Type in ipkg without any parameters to see how it works:
========================================================== usage: ipkg [options...] sub-command [arguments...] where sub-command is one of: Package Manipulation: update Update list of available packages upgrade Upgrade all installed packages to latest version install <pkg> Download and install <pkg> (and dependencies) install <file.ipk> Install package <file.ipk> install <file.deb> Install package <file.deb> remove <pkg> Remove package <pkg> Informational Commands: list List available packages and descriptions files <pkg> List all files belonging to <pkg> search <file> Search for a packaging providing <file> info [pkg [<field>]] Display all/some info fields for <pkg> or all status [pkg [<field>]] Display all/some status fields for <pkg> or all depends <pkg> Print uninstalled package dependencies for <pkg> Options: -d <dest_name> Use <dest_name> as the the root directory for -dest <dest_name> package installation, removal, upgrading. <dest_name> should be a defined dest name from the configuration file, (but can also be a directory name in a pinch). -o <offline_root> Use <offline_root> as the root for offline installation. -offline <offline_root> Force Options (use when ipkg is too smart for its own good): -force-depends Make dependency checks warnings instead of errors -force-defaults Use default options for questions asked by ipkg. (no prompts). Note that this will not prevent package installation scripts from prompting. ==========================================================
mvBL:/# ipkg install mvstest.ipk
To install this package from a URL (this URL does not really exist!):
mvBL:/# ipkg install http://feed.mvsensor.org/mvstest.ipk
To upgrade this package to a newer version:
mvBL:/# ipkg upgrade mvstest
To remove this package:
mvBL:/# ipkg remove mvstest
To list installed packages:
mvBL:/# ipkg list
If you want to setup an own IPK feed please have a look at Setting up an IPK feed.
Some IPK packages cannot be installed on the mvBlueLYNX-M. For details please have a look at the particular IPK package description.
The IPK packages are located here:
/var/www/ppc_603e # for mvBlueLYNX IPK packages /var/www/ppc_6xx # for mvBlueLYNX-M7 and mvBlueCOUGAR-P IPK packages
The Apache webserver of the Virtual Machine (VMware) makes them available and by using a browser you can navigate through the directories. The only thing you have to know is the IP address of the Virtual Machine (VMware).
The path to the directory can be entered in the
ipk.conf of device (
/var/www/ppc_603e for mvBlueLYNX IPK packages;
/var/www/ppc_6xx for mvBlueLYNX-M7 and mvBlueCOUGAR-P IPK packages).
Please follow these steps, to get the webserver running:
htdocsfolder is available.
pms_config.iniwhich you can find in the Server2Go folder.
... HostName=192.168.1.133 ...
Please follow the next steps, to set the mvBlueLYNX and to install the packages:
mvBL:/> remount rw // Write access mvBL:/> vi /etc/ipkg.conf // Open the ipkg config file to edit it ... src cd http://192.168.1.133/ ...
pms_config.ini(the IP where the webserver is running).
mvBL:/> ipkg update mvBL:/> ipkg upgrade
/dev, but changes to
/tmp(RAM disk) and
/devwill not be permanent i.e. will be lost on the the next startup. Usually you would install user applications to
"/flash"but if you need to write to other directories like
"/etc"you will need to include the command /usr/sbin/remount rw in the script "preinst" and also
/usr/sbin/remountro in "postinst".
/usr/lib is actually a symbolic link to
/flash/lib and is therefore always writable. Here is an example of preinst and postinst including the remount command:
### Begin CONTROL/preinstexample #!/bin/sh /usr/sbin/remount rw exit 0 ### End CONTROL/preinst example ### Begin CONTROL/postinst example #!/bin/sh /usr/sbin/remount ro exit 0 ### End CONTROL/postinst example
ipkg-build directory [destination_directory]
where directory is the directory you have created. The destination_directory is optional and defaults to the current directory. The ipkg build script performs several sanity checks on the package directory and should guide you through any problems.
Here is an example control file which you may use as a template:
### Begin CONTROL/control example Package: foo Priority: standard Version: 1.9.16 Architecture: ppc603e Maintainer: Joe Bloggs <info _at_ joesdomain.de> Source: http://www.joesdomain.de Depends: mvs, mvslib Section: base lib Description: foo is the ever-present example program -- it does everything foo is not a real package. This is simply an example that you may modify if you wish. . When you modify this example, be sure to change the Package, Version, Maintainer, Depends, and Description fields. ### End CONTROL/control example
The meaning of the various fields in CONTROL/control is as follows:
Setting up an IPK feed is very easy: Just create a new directory on your existing FTP or HTTP server. Place all the required IPK packages in this directory and then generate an index file called Packages by running the script IPKg-make-index. e.g.
mkdir feed cd feed cp /abc/xyz_1.2.3_ppc603e.ipk . cp /abc/qwe_2.3.4_ppc603e.ipk . ipkg-make-index . > Packages