N.E.M.E.S.I.S. 0.0.4

A home for all kinds of Puppy related projects
Post Reply
Message
Author
ITSMERSH

N.E.M.E.S.I.S. 0.0.4

#1 Post by ITSMERSH »

Introducing N.E.M.E.S.I.S. Version 0.0.4 - 2018-11-25 - 00:58 GMT+1

This is the N.E.M.E.S.I.S. project initiated by RSH (LazY Puppy). The name N.E.M.E.S.I.S. is again a recursive acronym.

N emesis
E xtension
M akes
E veryone
S earching
I n
S ources

Like in 'it will/may/should make everyone curious' to have a look into the inner structure and files, to find out what can be done - what's possible...

Hopefully? ;)

N.E.M.E.S.I.S. 0.0.4 starts here

Download N.E.M.E.S.I.S. 0.0.4 Archives at archive.org

Edit: I'm sorry, but it seems I had overseen to add the Wallpapers to the archives, so I uploaded a separate archive for that.


Older Versions pre 0.0.4



N.E.M.E.S.I.S. was tested during development in some versions of Puppy Linux from Xenial Puppy to Bionic Beaver Puppy. Exactly this has been tested on:

Xenial 7.0.4
Xenial64 7.0.7
Artful 17.11 plus 16
Bionic 18.05


All current testings returned successful!

Of course, it should work also in Tahr from 6.0 up to the latest version, since I'm using this at the older but extended T.O.P.L.E.S.S. level in LazY Puppy Art Studio based on Tahr 6.0.2.


Current N.E.M.E.S.I.S. functions/options in an overview



What is N.E.M.E.S.I.S.?


The N.E.M.E.S.I.S. project is a basic re-write of the T.O.P.L.E.S.S. project. If you don't know anything about the T.O.P.L.E.S.S. project, just click the links. T.O.P.L.E.S.S. has had added a lot of stuff depending on my private LazY Puppy structure, that didn't make it some sort of being very interesting for users. Probably it was also just too overloaded by functions and options...

However, this time I decided to let N.E.M.E.S.I.S. missing absolutely anything of all of that LazY Puppy stuff needed by myself. Instead to keep it as small as possible and completely open for anyone interested, able and willing to develop functions and additions to this.

The target was to make even the end user of a Puppy able to add easily modifications to the used Puppy Linux without any remastering needed.

Ok, at least this will always be dependent on the current level of development of functions to do the tasks behind the definitions in the config files. If one wants more, then one should be able to do some bash or to find a developer for doing some programming to a very new function.

So, of course, one can not setup stuff by the config files without having a function in background!

And also, of course, this is for running in ram only (PUPMODE=5)!



How does N.E.M.E.S.I.S. work?


N.E.M.E.S.I.S. will add two new options at boot, that needs to be added to the line in menu.lst that includes the pfix= option, the so-called kernel line of a boot menu in menu.lst. These options are:

pconfig
lpconfig

By these options, two files with definitions included, e.g. of a new Wallpaper, can be defined to be loaded and examined at boot. Additional functions will modify the system at boot dependent on the parameters found.

This could also work for to have options like changing icon sets, mouse pointers, themes, or loading different and multiple .sfs files, create symbolic links to directories and/or files on the file system, etc etc - all at boot, so you will have a completely new Puppy running after the X window system is running. The more config files to choose, the more new Puppies to use!

No remaster necessary at all!


N.E.M.E.S.I.S., 2018 RSH (LazY Puppy) for Puppy Linux, GPL


Next post: Preparing a Puppy Linux, Changing the Wallpaper, External files and scripts, Booting by boot menu entry, A last but not least note to N.E.M.E.S.I.S.

Current N.E.M.E.S.I.S. functions/options in an overview

Archives attached:

NEMESIS-0.0.3.tar.gz: contains predefined files for Artful 17.11 & Bionic 18.05. Also default files for manually renaming (e.g. to use it in Xenial).
Attachments
NEMESIS-0.0.3.tar.gz
Contains predefined files for Artful & Bionic & default files for manually renaming.
(50.15 KiB) Downloaded 359 times
Last edited by ITSMERSH on Mon 26 Nov 2018, 14:11, edited 8 times in total.

ITSMERSH

#2 Post by ITSMERSH »

Preparing a Puppy Linux for N.E.M.E.S.I.S.


The basic files of N.E.M.E.S.I.S. is currently only two small scripts:

nemesis-actions-include-init
nemesis-bootoptions-include-init

Both scripts needs to be included into the initrd.gz file of a Puppy Linux. They need to be stored right where the init script is placed.

They will be included into the init script by editing the init script to add just two small sections of code to it:

# Include N.E.M.E.S.I.S. Actions file - RSH
. /nemesis-actions-include-init


# Include N.E.M.E.S.I.S. Boot Options file - RSH
. /nemesis-bootoptions-include-init


Add the line . /nemesis-bootoptions-include-init below UNDERDOG=$underdog is defined in the init script and before the code of the boot menu appears. It is to be found around line 932/933 in e.g. Artful Puppy.

Add the line . /nemesis-actions-include-init below mkdir -p /pup_new/etc/rc.d is defined in the init script. Scroll down until the end of the code of creating the file /pup_new/etc/rc.d/PUPSTATE. Add the line below this section of code. It is to be found around line 1412/1413 in e.g. Artful Puppy.

Any else files/scripts needed will be stored on the file system, in sub-directories inside of the boot directory (or even install directory). This kind of setup will make it the easiest way for anyone to develop new functions to add new modifications at boot. These files/scripts will/should have all necessary data and functions available.


Let N.E.M.E.S.I.S. change the Wallpaper at boot


The first function/option and parameter added is to change the wallpaper at boot.

The function is named: SetWP_NemFunc

The wallpaper variable in config file is named: MYWALLPAPER (e.g. audio.png)

Variable MYWALLPAPER is dependent on variable MYWPDIR which is also defined in the config file. So one can easily define a path to a directory on any connected drive, to use the defined wallpaper from that directory.

The wallpaper will be copied to /usr/share/backgrounds.

Just calling SetWP_NemFunc will set the wallpaper at boot which is defined in $MYWPDIR/$MYWALLPAPER.

Calling SetWP_NemFunc FullPathNameToImage will set the submitted wallpaper at boot.

At current level of development there will be no wallpaper at all, if the defined one isn't found.


The external files and scripts to extend N.E.M.E.S.I.S..


All file names will be given as an example to Artful Puppy 17.11 (puppy_artfulpup_17.11.sfs). As there is:

/BootUp/artfulpup_17.11-etc.profile.local
/BootUp/functions4nemesis-global
/BootUp/functions4nemesis-local

/ConfigData/artfulpup_17.11-Audio.cfg


Directories BootUp and ConfigData needs to be stored into the boot directory / install directory /where the main .sfs is placed.

Files functions4nemesis* are desined to hold the new functions either available as global system function (*-global) or by calling the script (*-local).

File artfulpup_17.11-etc.profile.local will be copied to /etc/profile.local.user and is designed to execute the functions developed in functions4nemesis* files examining the parameters defined in config files.

Hope you got it? :wink: :lol:


Booting N.E.M.E.S.I.S. by boot menu entry


Add pconfig=Audio to the kernel line in menu.lst (the line where pfix= is defined)
Option lpconfig doesn't have any options at the moment, so not needed yet.

Example:

kernel /ArtStudio100/vmlinuz pconfig=Audio psubdir=ArtStudio100 pmedia=atahd pfix=ram


A last but not least note to N.E.M.E.S.I.S..

At the 0.0.1 level of development there's only just this single function/option to change the wallpaper at boot.

Hopefully it will show its full potential by just this single function.

I'm absolutely not sure about what functions users would need, or what could be useful to find its way into a new Puppy by default. Also there are lots of smarter programmers in the forum than myself. So, I'll play my role as the door opener, pointing all of my fingers to the opened door, hopefully generating lots of inputs/outputs by members, developers and/or users.

Now the basic functions are there. Now it needs the walls and rooms, the bells and jingles, the trees and flowers to make it a flavour.

Due to the changes made in the past by WoofCE I need to learn Puppy from the inside again, to secure some of my past developments for the future. When ever I'd successfully re-created a useful function from T.O.P.L.E.S.S., I'll publish.

Feel free to join in and to spread ideas and/or functions etc.pp.

RSH
Last edited by ITSMERSH on Wed 09 May 2018, 23:24, edited 1 time in total.

ITSMERSH

Current N.E.M.E.S.I.S. functions/options in an overview

#3 Post by ITSMERSH »

Current N.E.M.E.S.I.S. functions/options in an overview

Development level: 0.0.3

MYWALLPAPER - setting a new wallpaper (0.0.1)

MYWELCOMEFIRSTBOOT - enable/disable welcome first boot splash (0.0.2)
MYPERSONALSETTINGSPOPUP - enable/disable first settings dialog (0.0.2)

MYTIMEZONE - setting the time zone (0.0.3)
MYLOCALTIME - setting local time (0.0.3)
MYNUMLOCKOPT - activating/deactivating numlock (0.0.3)
MYLOOPDEVICES - increasing the loop devices (0.0.3)
MYSYMLINKSINLIST - list of files and dirs to make them symbolic links (0.0.3)
MYSYMLINKSOUTLIST - list of the target files and dirs the symbolic links are pointing to (0.0.3)

More detailed information about these options and how to use are here:

0.0.1
0.0.2
0.0.3
Last edited by ITSMERSH on Wed 16 May 2018, 00:22, edited 4 times in total.

ITSMERSH

N.E.M.E.S.I.S. 0.0.2

#4 Post by ITSMERSH »

Hi.

I have re-developed two options/functions from T.O.P.L.E.S.S. for the use in N.E.M.E.S.I.S.:

MYWELCOMEFIRSTBOOT
MYPERSONALSETTINGSPOPUP


As the names suggest they are to enable/disable the Personal Settings Popup and the Welcome First Boot Splash at boot.

Add the code below

Code: Select all

# Avoid Welcome First Boot Splash
export MYWELCOMEFIRSTBOOT=0
# Avoid First/Personal Settings GUI
export MYPERSONALSETTINGSPOPUP=0
to the *-Audio.cfg file.

Add the code below

Code: Select all

# Enable/disable: Welcome First Boot
functions4nemesis-local -nowfb

# Enable/disable: Personal Settings PopUp
functions4nemesis-local -nopsp
to the *-etc.profile.local file.

Replace the functions4nemesis-local file with the one I've attached to the first post.
Not needed anymore, since I uploaded 0.0.3 fixed and updated.
Last edited by ITSMERSH on Wed 09 May 2018, 23:20, edited 2 times in total.

ITSMERSH

N.E.M.E.S.I.S. 0.0.3

#5 Post by ITSMERSH »

Hi.

I have discovered a small issue in N.E.M.E.S.I.S. and also re-developed some options/functions from T.O.P.L.E.S.S. for the use in N.E.M.E.S.I.S..

The issue first:

When executing a terminal, the boot drive gets unmounted, if unused. I had to wrap the code in /etc/profile.local (which is generated at boot up by nemesis-actions-include-init) by a if then fi section to solve this.

The new functions/options:

MYTIMEZONE
MYLOCALTIME
MYNUMLOCKOPT
MYLOOPDEVICES
MYSYMLINKSINLIST
MYSYMLINKSOUTLIST


As the name suggests, MYTIMEZONE is for setting the time zone. The following time zones are defined by default:

da|DA|Oslo
de|DE|Berlin
es|ES|Madrid
fi|FI|Helsinki
fr|FR|Paris
it|IT|Rome
pt|PT|Lisbon|Lisboa
nl|NL|Amsterdam
tr|TR|Istanbul


GMT* can be used also by GMT+0..+12 or GMT-0..-14

So, by using plang=de_DE.UTF-8 in kernel line of the boot menu entry and setting up MYTIMEZONE=de, I'm able to boot a plain Puppy into the DE desktop, with DE keyboard layout and the correct time zone.


As the name suggests, MYLOCALTIME is for switching the time from utc to local time. Use 0 or 1 to deactivate/activate local time. MYLOCALTIME=1 activates local time.


As the name suggests, MYNUMLOCKOPT is to activate/deactivate numlock. Use 0 or 1 as parameter. MYNUMLOCKOPT=1 activates numlock.


As the name probably doesn't suggest, MYLOOPDEVICES is to increase the loop devices (used for .sfs to mount) up to 123 at boot. Use 0 or 1 as parameter. MYLOOPDEVICES=1 increases the loop devices.


As the names probably do suggest, MYSYMLINKSINLIST and MYSYMLINKSOUTLIST is to make symbolic links at boot to files and directories at the file system. MYSYMLINKSINLIST e.g. could include /root/my-documents and then MYSYMLINKSOUTLIST e.g. should include something like /mnt/sda1/MyFiles.

Let's assume one prefers to have his data located on the boot drive in directory MyFiles, then it's not necessary to define the complete path. One can use a definition like this example:

MYSYMLINKSINLIST="/root/my-documents"
MYSYMLINKSOUTLIST="MyFiles"

The path to MyFiles is set automatically as $MYBOOTPRT, so this will look internally as $MYBOOTPRT/MyFiles which could be e.g. /mnt/sdb2/MyFiles, dependent on the boot drive/partition.

I'm now going to repack the archive attached at first post and updating the first post after this - may take a few minutes... ...done.

ITSMERSH

N.E.M.E.S.I.S. 0.0.4

#6 Post by ITSMERSH »

Hi.

There has been some progress on the N.E.M.E.S.I.S. project, so I created Version 0.0.4.

For the ease of use I created some prepared N.E.M.E.S.I.S. Archives for different Puppy Linux Systems.

As there is currently:

- Artful-17.11
- Bionic64-7.9.6
- UPupBB-18.05
- UPupCC-18.10
- Xenial64-7.0.8.5
- Xenial64-7.5
- Xenial-7.5


Just download the related N.E.M.E.S.I.S. Archive, extract it to a ext partition. Enter the extracted directory and load file N.E.M.E.S.I.S.-read-me.txt into a text editor, to follow its instructions and apply its actions.

Don't fear anything on that, as it is really simple and easy!

Download N.E.M.E.S.I.S. 0.0.4 Archives at archive.org
Edit: I'm sorry, but it seems I had overseen to add the Wallpapers to the archives, so I uploaded a separate archive for that.

The main changes and improvements are made on the possibilities to store program's settings at external locations. Just right-click a file or directory in e.g. /root/.config and choose Add-to-S.I.N., to store it external. You can choose to store it locally for the use in this one Puppy only, or to store globally for the use in different Puppies. Just choose as you like and you can watch the directory or file immediately turning into a symbolic link.

Those stored settings are going to be sym-linked at boot up automatically, so you will always have the latest settings used available after booting into RAM only ! :D

NOTE: don't store settings by Add-to-S.I.N. that are already turned into a symbolic link!
Last edited by ITSMERSH on Mon 26 Nov 2018, 14:12, edited 1 time in total.

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#7 Post by nic007 »

Just save your configurations to an adrv, no need for this.

backi
Posts: 1922
Joined: Sun 27 Feb 2011, 22:00
Location: GERMANY

#8 Post by backi »

Hi nic007 !
Just save your configurations to an adrv, no need for this.
How to?

Regards !

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#9 Post by nic007 »

backi wrote:Hi nic007 !
Just save your configurations to an adrv, no need for this.
How to?

Regards !
I see you have pursued my method discussed in the following thread before ie. http://www.murga-linux.com/puppy/viewto ... 9&t=109745
PS: If you want to discuss further with me please post on that thread - the poster of this thread gets a bit touchy when one "invades" his space. :)

backi
Posts: 1922
Joined: Sun 27 Feb 2011, 22:00
Location: GERMANY

#10 Post by backi »

O.K nic007 !
Oh my Goodness.....seems i am getting old ... completely forgot that i already
discussed the Topic on your Thread before .....oh my Goodness...what a Drag it is getting old ......
https://www.youtube.com/watch?v=SqWv5pbbopM

Thanks !

ITSMERSH

#11 Post by ITSMERSH »

nic007 wrote:Just save your configurations to an adrv, no need for this.
My adrv is used for some main audio applications and I like to store
settings without to edit squash file system modules or to do a remaster
of the main .sfs.

It all just takes much too long in time - especially with the new XZ compression mode in use.

Saving by right-click to external location is done in milliseconds! :D
Removing those settings is done also in milliseconds! :D
Changed settings during the use of a program is saved immediately! :D

If YOU don't need this, then just do NOT use it. 8)

Phony Guy! :lol:

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#12 Post by nic007 »

ITSMERSH wrote:
nic007 wrote:Just save your configurations to an adrv, no need for this.
My adrv is used for some main audio applications and I like to store
settings without to edit squash file system modules or to do a remaster
of the main .sfs.

It all just takes much too long in time - especially with the new XZ compression mode in use.

Saving by right-click to external location is done in milliseconds! :D
Removing those settings is done also in milliseconds! :D
Changed settings during the use of a program is saved immediately! :D

If YOU don't need this, then just do NOT use it. 8)

Phony Guy! :lol:
My adrv is 2Mb (only holds configurations and nothing else), I can save changes when I want by clicking an icon on my desktop, takes 2seconds. New adrv overwrites old one automatically. SFS files that needs to be loaded in preference to the base sfs (rarely necessary), I put in the ydrv. Why do you call me phony, not very nice and a bit childish. :(

ITSMERSH

#13 Post by ITSMERSH »

I knew, you even can't follow your own advices!
nic007 wrote:PS: If you want to discuss further with me please post on that thread - the poster of this thread gets a bit touchy when one "invades" his space.
Got it?

I am NOT in a competition with you and/or any of your developments and/or any of your kind of use of Puppy!

So, please, leave me one alone AND stay off of my topics, ASSHOLE!

Phony Guy! :lol:

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#14 Post by nic007 »

ITSMERSH wrote:I knew, you even can't follow your own advices!
nic007 wrote:PS: If you want to discuss further with me please post on that thread - the poster of this thread gets a bit touchy when one "invades" his space.
Got it?

I am NOT in a competition with you and/or any of your developments and/or any of your kind of use of Puppy!

So, please, leave me one alone AND stay off of my topics, ASSHOLE!

Phony Guy! :lol:
Fook off skinny, touchy cnut. 8)

ITSMERSH

#15 Post by ITSMERSH »

I'm sorry, but it seems I had overseen to add the Wallpapers to the archives, so I uploaded a separate archive for that.

ITSMERSH

#16 Post by ITSMERSH »

Hi.

I'm in N.E.M.E.S.I.S. BionicPup64 at the moment and posting from this new Puppy.

Since BionicPup64 comes with Palemoon browser, I discovered a small issue when trying to store Palemoon's settings external by using the Add to S.I.N. action.

Palemoon's settings directory, /root/.moonchild productions has spaces in its name.

The Add to S.I.N. function is prepared to store multiple files at once, and those files are separated by spaces. So, the space in /root/.moonchild productions makes it impossible to store it by Add to S.I.N. action.

Here's a small workaround to avoid this problem:

- rename /root/.moonchild productions to /root/.moonchild-productions
- right-click the renamed directory and choose Add to S.I.N.
- make a symbolic link to /root/.moonchild-productions and name it /root/.moonchild productions
- copy that symbolic link to /root/_root_.moonchild productions
- move that copy symbolic link into directory $BOOTDIR/N.E.M.E.S.I.S./Copy2OS
(so, it's path may look like: /mnt/sda1/bionic64/N.E.M.E.S.I.S./Copy2OS/_root_.moonchild productions)

Btw: files from $BOOTDIR/N.E.M.E.S.I.S./Copy2OS are copied into the OS at boot. File or directory e.g. _root_.moonchild productions will be stored as /root/.moonchild productions. This works for all files and directories that doesn't contain underscores in its file name. Its parent directories are created automatically, if not existing.

So, a file _usr_share_these_directories_do_not_exist_my-new-file.txt appears in the OS as /usr/share/these/directories/do/not/exist/my-new-file.txt.

oui

#17 Post by oui »

Hallo Rainer

As using now N.E.M.E.S.I.S. 0.0.4 (with your help at the German subdiv of the forum), two new questions:

a/ I have divers PC's. Easier as reinstall frugal on the different PC would be to use an autostarting USB key. Recommended installations steps?

b/ You did announce me a new version N.E.M.E.S.I.S. 0.0.5.

Which Puppy/Pupplet would be the first (pls download link to avoid different version number in the names of the files used at starting time like now with Bionic64, where the right one for N.E.M.E.S.I.S. 0.0.4 is not any more on the download site!). I suppose it will be a 32 bit ISO (I need a new 32 bit version as Pupjibaro Jessie is extremely to far from the usual Puppy goodies habits to be used with N.E.M.E.S.I.S. !).

Kind regards

.
Last edited by oui on Wed 05 Dec 2018, 21:14, edited 1 time in total.

ITSMERSH

#18 Post by ITSMERSH »

Hallo oui.

Kannst Du das bitte im DE topic auf deutsch einstellen?

Ich habe manchmal Tage, da bin ich nicht so gut in EN, und bei Dir habe ich nicht selten Schwierigkeiten den Sinn zu vestehen, wenn Du in EN schreibst.

Sorry, aber das macht es für mich einfacher.

Danke.

Post Reply