Porteus + directly save data + third party software

Here is a place for your projects which are not officially supported by the Porteus Team. For example: your own kernel patched with extra features; desktops not included in the standard ISO like Gnome; base modules that are different than the standard ISO, etc...
tome
Contributor
Contributor
Posts: 675
Joined: 26 Jun 2013, 14:03
Distribution: x64 Openbox
Location: Russia is causing the immense damage to humanity
Contact:

Porteus + directly save data + third party software

Post#1 by tome » 01 May 2014, 15:14

My Customized Save Mode

Features:

Data, only selected changes that you want always save, are written instantly to hard- or pen-drive - no problem with waiting for exiting (changes-exit.conf) and pressing key - sometimes you can choose wrong key or system crashes before

No need to use large dat container to comfortable save data on FAT or NTFS filesystems

No password for guest account - only press 'Enter' if you are prompted, for root password prompt press 'space' key and than 'Enter'

Modified some config files (most LXDE, add ktsuss from v2.1). Sometimes it is buggy because run by ktsuss apps use guest account but root permissions

Add globally some most popular firefox extensions, searchplugins

Folders for common often used third party programs (doublecmd dropbox firefox flashplayer java-oracle openoffice skype teamviewer thunderbird wps-office):
- unpack this program to provided for it folder (find in data folder) then this folder should contain true content of extracted by you program (more than one folder or file) without subfolder for extracting content. Next go to:
/mnt/live/memory/images/~link-data.dat.xzm/usr/tmp/usr-bin (or /mnt/loop/~link-data.dat.xzm/usr/tmp/usr-bin or /mnt/live/memory/images/changes/usr/tmp/usr-bin) and move needed file to 'bin~move-needed-here' directory
- and needed .desktop files from
/mnt/live/memory/images/~link-data.dat.xzm/usr/tmp/usr-share-applications (or /mnt/loop/~link-data.dat.xzm/usr/tmp/usr-share-applications or /mnt/live/memory/images/changes/usr/tmp/usr-share-applications) to 'applications~move-needed-here' directory

Guest can trash files if data folder is on unix filesystem and root has correct permissions, for ntfs filesystem I use trick:
for /etc/passwd I use this: "guest:x:1000:1000::/home/guest2:/bin/bash" - guest2 is symlink to real filesystem and on real filesystem are reverse links to /home/guest/*

If you want activate new module (DE) do it before activating ~link-data.dat.xzm, it is done during boot because tilde (~) is probably last sign in alphabetical order

Steps to do:
1. Download xzm files from https://www.dropbox.com/sh/7elwcgmk5mwtmme/FmFMsdUIO8 -> Customized Save Mode
2. Rename "data for-extraction-only.xzm" to "data.xzm" -> extract (right click menu) -> delete "data.xzm". Do the same for "data for_extraction_only_fx_extensions.xzm" if you need some most popular firefox extension. You should extract this to real file system (windows or linux fs) but to the same place
3. Mount ~links-data.dat.xzm module, go to /mnt/loop/mnt, delete 'data' link and create new one link to extracted (2) 'data' folder
4. Activate ~links-data.dat.xzm during boot (ie move it to modules folder) or if you want decrease amount of writes to pendrive you can use changes=EXIT: cheatcode and ~link-data.dat.xzm as your changes container - in /etc/changes-exit.conf are specified only little files to save (if there is somewhere link in the path to real filesystem - delete it). BUT DON'T USE alone "changes=" cheatcode for working with this mode.

Some programs needs some tricks:

For doublecmd you must change one line in doublecmd.xml:
<UseConfigInProgramDir>True</UseConfigInProgramDir> to <UseConfigInProgramDir>False</UseConfigInProgramDir>
Google Chrome:
chrome and chrome-sandbox executables files must have correct permissions - they must be copied/placed on unix filesystem (and then linked). Gconf is requiered to run google-chrome
Teamwiever:
needs root account or unix filesystem
Skype
missing dependencies?

If you want download any precompiled program choose .tar archive (.tar.gz, .tar.xz), if there is no .tar choose .deb

TODO:
make this portable - add script to copy next line to "# Booting device:" and (if not found) "# Porteus data found in:" from /var/log/porteus-livedbg

bd=`sed -n '/Booting/ {n;p}' /var/log/porteus-livedbg |???????????'
data='$bd'/data
ln -s &data /mnt/data
You have mind and feelings. Be wise and clever.