Creating a module from standalone application

Here you can post about the issues related to modifications performed manually (not through the kiosk wizard). Example: swapped kernel, added 3rd party modules or files.
Please describe in detail what has been changed and hopefully other kiosk user will be able to help.
Porteus team wont resolve bugs posted in this category as we support only modifications made by the kiosk wizard.
Forum rules
Porteus Kiosk section of the forum is unmaintained now. Its kept in a 'read only' mode for archival purposes.
Please use the kiosk contact page for directing your queries: https://porteus-kiosk.org/contact.html
dshaner
Ronin
Ronin
Posts: 2
Joined: 13 Aug 2017, 22:52
Distribution: 4.3

Creating a module from standalone application

Post#1 by dshaner » 21 Dec 2017, 21:21

I am trying to install an application that is installed into a folder like /home/dshaner/sierra/ The folder contains everything that it needs to run the application.

How do I convert this into a module? I tried copying this folder into the following folder structure: /home/dshaner/tmp/usr/lib64/ I followed the steps on module creation, but when I install the kiosk, the files and folder structure are in the root of the installation.

Any help would be greatly appreciated.

User avatar
fanthom
Moderator Team
Moderator Team
Posts: 5666
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Creating a module from standalone application

Post#2 by fanthom » 22 Dec 2017, 12:25

Hi David,

You need to preserve correct paths in your module (executables ususally goes to /usr/bin, libraries to /usr/lib64, icons to /usr/schare/icons or /usr/share/pixmaps, etc). Then you need to copy content of your custom module to some top directory (e.g. squashfs_root) and squash everything into a module.

Sample:

Code: Select all

/tmp/squashfs_root/usr/bin/my_app
/tmp/squashfs_root/usr/lib64/my_library.so
/tmp/squashfs_root/usr/share/pixmaps/my_icon.png
Once done you need to create a module targetting the top directory:

Code: Select all

mksquashfs /tmp/squashfs_root /tmp/my_module.xzm -comp xz -b 256K -Xbcj x86 -noappend
Perhaps you could unsquash some existing module and check its content:

Code: Select all

unsquashfs 004-wifi.xzm
Thanks
Please add [Solved] to your thread title if the solution was found.

Locked