User Tools

Site Tools


wiki:keros_custo:package_management

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wiki:keros_custo:package_management [2019/09/25 15:41]
ghi created
wiki:keros_custo:package_management [2022/10/24 16:49] (current)
ehe [Accepted Architectures]
Line 3: Line 3:
 The KerOS Distribution supports OPKG packages (embedded version compatible with dpkg packages). The KerOS Distribution supports OPKG packages (embedded version compatible with dpkg packages).
  
-OPKG packages are used to install customer applications and firmware upgrades (the firmware is installed with an OPKG package). OPKG packages use the ''​.ipk''​ extension. It is strongly recommended to use OPKG packages to deploy binaries/​applications since the backup mechanism relies on it. Please follow [[wiki:​sw_updates|update procedure]] to install an IPK.+OPKG packages are used to install customer applications and firmware upgrades (the firmware is installed with an OPKG package). OPKG packages use the ''​.ipk''​ extension. It is strongly recommended to use OPKG packages to deploy binaries/​applications since the backup mechanism relies on it. Please follow [[wiki:​keros_custo:​sw_updates|update procedure]] to install an IPK.
  
 A package can either be installed using the network or using a USB key.  A package can either be installed using the network or using a USB key. 
Line 11: Line 11:
 Despite some specific packages like ''​keros''​ for the firmware and removal packages, software packages should respect some recommendations:​ Despite some specific packages like ''​keros''​ for the firmware and removal packages, software packages should respect some recommendations:​
   * Data including configuration should be installed in ''/​user''​ partition.   * Data including configuration should be installed in ''/​user''​ partition.
-  * Files deployed in rootfs should be saved during upgrade by adding a [[wiki:​upgrade#​configuration_management_sysupgrade|sysupgrade]] dedicated file.+  * Files deployed in rootfs should be saved during upgrade by adding a [[wiki:​keros_custo:​upgrade#​configuration_management_sysupgrade|sysupgrade]] dedicated file.
  
 ==== Compatibility from previous versions ==== ==== Compatibility from previous versions ====
Line 19: Line 19:
   * ''​cortexa9hf-neon-mx6sx''​ architecture is not longer valid and must be replaced by ''​armv7ahf-neon''​   * ''​cortexa9hf-neon-mx6sx''​ architecture is not longer valid and must be replaced by ''​armv7ahf-neon''​
  
-Starting from version 4.1, KerOS firmwares are usable on all Wirnet™ ​Productline ​gateways. Product arch is ''​klkgw''​ for all gateways.+Starting from version 4.1, KerOS firmwares are usable on all Wirnet™ ​i-series ​gateways. Product arch is ''​klkgw''​ for all gateways.
  
 ==== Accepted Architectures ==== ==== Accepted Architectures ====
Line 25: Line 25:
 To sum up the accepted package'​s architectures on the gateways, you can consult the following table: To sum up the accepted package'​s architectures on the gateways, you can consult the following table:
  
-^  Firmware Version ​ ^  Gateway ​ ^^^ +^  Firmware Version ​ ^                       ​Gateway ​                            ^^^^ 
-^ ::: ^  Wirnet™ iFemtoCell ​ ^  Wirnet™ iBTS  ^  Wirnet™ iStation ​ ^ +        ​:::             Wirnet™ iFemtoCell ​           ^  Wirnet™ iBTS                      ^  Wirnet™ iStation ​      ^  Wirnet™ iFemtocell-Evolution ​  Wirnet™ iZeptoCell | 
-^  KerOS v4.0  |  armv7ahf-neon\\ klk_wifc ​ |  armv7ahf-neon\\ klk_lbps ​ |  @red:Not supported ​ | +^  KerOS v4.0        |  armv7ahf-neon\\ klk_wifc ​         |  armv7ahf-neon\\ klk_lbps ​         |  @red:Not supported ​    |  @red:Not supported ​            | @red:Not supported ​
-^  KerOS v4.1  |  armv7ahf-neon\\ klk_wifc\\ klkgw  |  armv7ahf-neon\\ klk_lbps\\ klkgw  |  armv7ahf-neon\\ klkgw  |+^  KerOS v4.1        |  armv7ahf-neon\\ klk_wifc\\ klkgw  |  armv7ahf-neon\\ klk_lbps\\ klkgw  |  armv7ahf-neon\\ klkgw  ​|  @red:Not supported ​            | @red:Not supported | 
 +^  KerOS v4.2        |   ::: ​                             |  :::                               ​| ​ :::                    |  armv7ahf-neon\\ klkgw          | @red:Not supported | 
 +^  KerOS v5.x        |   ::: ​                             |  :::                               ​| ​ :::                    |  :::                            | armv7ahf-neon\\ klkgw |
  
 <note important>​Please note that the **klkgw** architecture is accepted on every product since KerOS v4.1! So package maintainer MUST integrates a detection of the product (if necessary) in order to adapt its behavior</​note>​ <note important>​Please note that the **klkgw** architecture is accepted on every product since KerOS v4.1! So package maintainer MUST integrates a detection of the product (if necessary) in order to adapt its behavior</​note>​
Line 77: Line 79:
  
  
-If this operation is not done, the system could become unstable if  the package is removed because the original file will not be automatically restored. Instead the file will simply be removed.+If this operation is not done, the system could become unstable if the package is removed because the original file will not be automatically restored. Insteadthe file will simply be removed.
  
 ===== Building your own package ===== ===== Building your own package =====
Line 83: Line 85:
 An ''​.ipk''​ package contains two sets of files: a set of files to install on the system when the package is installed, and a set of files that provide additional metadata about the package or which are executed when the package is installed or removed. This second set of files is called control information files. Additionally,​ OPKG automatically generates a file named ''​debian-binary''​. The ''​debian-binary''​ file contains the version of the Debian file format. An ''​.ipk''​ package contains two sets of files: a set of files to install on the system when the package is installed, and a set of files that provide additional metadata about the package or which are executed when the package is installed or removed. This second set of files is called control information files. Additionally,​ OPKG automatically generates a file named ''​debian-binary''​. The ''​debian-binary''​ file contains the version of the Debian file format.
  
-IPK packages are not directly built on the gateway. They are built on a computer with a Linux OS. If the files to be installed are binaries, they first need to be cross-compiled using appropriate toolchain. Toolchain corresponding to your firmware can be found [[playground:​resources#​keros_firmware_and_toolchain|here]].+IPK packages are not directly built on the gateway. They are built on a computer with a Linux OS. If the files to be installed are binaries, they first need to be cross-compiled using appropriate toolchain. Toolchain corresponding to your firmware can be found [[wiki:​resources:​resources#​keros_firmware_and_toolchain|here]].
  
 This section gives a practical example about how to generate an ''​.ipk''​ package. To build a custom package, it is advised to use this example as a reference and then modify it. This section gives a practical example about how to generate an ''​.ipk''​ package. To build a custom package, it is advised to use this example as a reference and then modify it.
Line 128: Line 130:
 </​code>​ </​code>​
  
-To generate a package, the tools ''​opkg-build'' ​requires ​a directory tree containing all the files to copy, all scripts and the meta-data file. The following script generates the directory tree as well as the files populating it. Then it creates the packet itself. To do so, 6 steps are required:+To generate a package, the tools ''​opkg-build'' ​require ​a directory tree containing all the files to copy, all scripts and the meta-data file. The following script generates the directory tree as well as the files populating it. Then it creates the packet itself. To do so, 6 steps are required:
   - Downloading ''​opkg-build''​ if not already done.   - Downloading ''​opkg-build''​ if not already done.
   - Generating a ''​control''​ file containing meta-data in the ''​CONTROL''​ folder.   - Generating a ''​control''​ file containing meta-data in the ''​CONTROL''​ folder.
Line 173: Line 175:
 Priority: optional Priority: optional
 Section: test Section: test
-Source: Kerlink'​s Wirnet(TM) ​Productline ​wiki+Source: Kerlink'​s Wirnet(TM) ​i-series ​wiki
 Description:​ Install two files in userland Description:​ Install two files in userland
 EOF EOF
Line 237: Line 239:
 ===== Package removal ===== ===== Package removal =====
  
-A package removal mechanism is available. Using this mechanism is strongly recommended to avoid problems during backup restore. See Backup restore [[wiki:​features| section]] for more information.+A package removal mechanism is available. Using this mechanism is strongly recommended to avoid problems during backup restore. See Backup restore [[wiki:​systeme_mana:features| section]] for more information.
  
 Package removal is done by installing (over network or USB) a removal package. Package removal is done by installing (over network or USB) a removal package.
Line 243: Line 245:
 ==== "​removal packages"​ generation ==== ==== "​removal packages"​ generation ====
  
-Removal packages are generated with the tool ''​gen_remove_ipk''​. It can be downloaded from the [[playground:​resources#​tools|the resources page]].\\+Removal packages are generated with the tool ''​gen_remove_ipk''​. It can be downloaded from the [[wiki:​resources:​resources#​tools|the resources page]].\\
 This tool requires installing ''​build-essential''​ on your host: This tool requires installing ''​build-essential''​ on your host:
 <code bash> <code bash>
Line 269: Line 271:
 To get the list of backuped packages use the following command: ​ To get the list of backuped packages use the following command: ​
 <code bash> <code bash>
-root@klk-lpbs-0507DD:​/​.update/​packages/​backup # ll /​.update/​packages/​backup/​+root@klk-lpbs-0507DD:​ ll /​.update/​packages/​backup/​
 drwxr-xr-x ​   2 root     ​root ​       4.0K Jun  5 15:29 . drwxr-xr-x ​   2 root     ​root ​       4.0K Jun  5 15:29 .
 drwxr-xr-x ​   4 root     ​root ​       4.0K Jun  5 15:00 .. drwxr-xr-x ​   4 root     ​root ​       4.0K Jun  5 15:00 ..
Line 300: Line 302:
 ==== Create a hotfix package ==== ==== Create a hotfix package ====
  
-To generate a hotfix package, the ''​generate_hotfix_package.tar''​ example provided in the [[playground:​resources#​tools|resources]] page can be used.+To generate a hotfix package, the ''​generate_hotfix_package.tar''​ example provided in the [[wiki:​resources:​resources#​tools|resources]] page can be used.
  
 Important fields in ''​my_package_hotfix/​CONTROL/​control''​ must be present. Important fields in ''​my_package_hotfix/​CONTROL/​control''​ must be present.
Line 316: Line 318:
 </​code></​note>​ </​code></​note>​
  
-The package can be generated using ''​opkg-build''​ binary. Procedure hereunder is dedicated to Linux operating systems. There is no embedded compiler in Wirnet™ ​Productline ​gateways. ​+The package can be generated using ''​opkg-build''​ binary. Procedure hereunder is dedicated to Linux operating systems. There is no embedded compiler in Wirnet™ ​i-series ​gateways. ​
  
 <code bash> <code bash>
Line 324: Line 326:
 </​code>​ </​code>​
  
-Hotfix package can be deployed on a product using the standard [[wiki:​sw_updates|software update]] mechanism.+Hotfix package can be deployed on a product using the standard [[wiki:​keros_custo:​sw_updates|software update]] mechanism.
wiki/keros_custo/package_management.1569418875.txt.gz · Last modified: 2019/09/25 15:41 by ghi