restructuring puppy

A home for all kinds of Puppy related projects
Message
Author
User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

restructuring puppy

#1 Post by nosystemdthanks »

i really dont plan to change puppy whatsoever. i dont care how puppy is structured really, i dont care if they never change it.

so this post addresses two old posts i found in wanderers corepup thread. and im not posting this in that thread because this post really isnt about corepup, its a reply to these two posts from 2016:

dancytron says:
For years, I've thought a more logical way to structure Puppy would be to have the main *.sfs package contain only the "core". That meaning everything Puppy contains now, except the browser, gnumeric, abiword, paint, inkscape, the chat app, vlc or gmplayer etc.

Then have an "adrv" sfs file that contained all the things that were left out of the main ISO that loaded on top.

That would provide a Puppy that functions exactly like the one we have now and also a "thin" Puppy that people could easily add to either by installing software and remastering or by creating alternate adrv.sfs files.

That would give people of lower skill level (like me) a very powerful ability to create very thin custom distributions without dealing with woof or even remastering. People who want Chrome wouldn't need to have Firefox too. Serious office type users who want libre office wouldn't need to also have abiword, etc hanging around.

It seems like this is a very simple change and the ability already exists, all it would take would be for the lead official distributions to adopt this structure as standard.
nah, maybe i could fix that for you. i will need a little help on the non-technical side to give you want you want.

jlst replies:
yes dancytron, that has already been discussed by the woofce team.. this is what i think:

puppy.sfs - core
zdrv.sfs - kernel modules
fdrv.sfs - firmware
adrv.sfs - default bulk (gui apps)
ydrv.sfs - something else

this way you can replace any *drv with something bigger or smaller if you wish.

all these sfs's can also be specified via boot params... the new init is powerful.

all these sfs's are properly supported by woofce, but changing the structure requires cooperation from everyone involved and major changes here and there..


or not. i can probably make you a thing that will take your puppy iso and make a new one that is structured this way.

"yes, but we make iso with woof."

"ok, so take woof and make iso, then convert."

"we would rather convert woof than convert iso."

"i bet. so options are:

1. convert woof as of two years ago with "cooperation from everyone involved and major changes here and there.."

2. one person solves problem just based on the iso."

who knows? perhaps the solution i come up with will give inspiration (and perhaps even some ideas about code design-- even the code if they feel like adapting it) to the woof team, who probably arent looking to add this to their workload right now.

also: free!

what i need from the two of you:



1. point me to iso file. preferably one that ally uploads to the internet archive. im not about this dropbox here-for-a-week iso in a zip file stuff. just put iso somewhere and then have ally archive iso.

2. i will give you FULL file listing-- all files in files in files.

3. you help me figure out what you want want to go where.

we can make rules about it, you dont actually have to tag 480,000 files. FOLDERS (and subfolders) could be nice, but thats probably not precise enough.

like i said, we can make rules about it. after that, if you want to tag some individual files, great.

then i make you a thing that creates a second iso-- the iso youre trying to make. not only do you get iso, you get thing that makes iso. you can make changes to it if you want to.

whos down with this? im asking a little and offering a lot.

dont worry if nobody wants this. that means i dont have to do it. i could find other stuff to do (thats not what this thread is about, this thread is about making a particular sort of changes to a puppy-related system or layout.)

https://youtube.com/watch?v=g8LHlJSBkg0

cheers.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

wanderer
Posts: 1098
Joined: Sat 20 Oct 2007, 23:17

#2 Post by wanderer »

hi nosystemdthanks

you are offering a lot

and im sure many people would be interested

would developing pupngo be interesting to you

that would save a lot of preliminary work

and i always felt pupngo was the way to go

if you are going to stay pure puppy

anyway couldn't resist putting in my 2 cents


and by the way thanks for all the help on corepup

wanderer

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#3 Post by nosystemdthanks »

i am not familiar with pupngo-- certainly ive heard of it, im not familiar except for the name.

i misplaced the download url again, and was going to recommend you put the url for corepup on the first page of the thread, along with the other stuff there.

i also went to the url on the first page of the corepup thread-- it said 403 forbidden. these things happen, just letting you know. perhaps you want to change something there. i still want to know where i can download corepup. cheers.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

wanderer
Posts: 1098
Joined: Sat 20 Oct 2007, 23:17

#4 Post by wanderer »

hi nosystemdthanks

something weird is going on

yesterday the link stopped working
today it worked for a while
now its not working again

i will pm smokey01 and see if there is any problem on his end

wanderer

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

Re: restructuring puppy

#5 Post by s243a »

nosystemdthanks wrote:
yes dancytron, that has already been discussed by the woofce team.. this is what i think:

puppy.sfs - core
zdrv.sfs - kernel modules
fdrv.sfs - firmware
adrv.sfs - default bulk (gui apps)
ydrv.sfs - something else

this way you can replace any *drv with something bigger or smaller if you wish.

all these sfs's can also be specified via boot params... the new init is powerful.

all these sfs's are properly supported by woofce, but changing the structure requires cooperation from everyone involved and major changes here and there..


or not. i can probably make you a thing that will take your puppy iso and make a new one that is structured this way.

"yes, but we make iso with woof."

"ok, so take woof and make iso, then convert."

"we would rather convert woof than convert iso."
I thought that a lot of the newer puppies were structured like this.

But whether or not we are there yet, I agree that it is a good idea to modularize things like this.

hamoudoudou

Puppy Linux was thought as a ready for use OS

#6 Post by hamoudoudou »

Puppy Linux was thought as a ready for use OS for family usage with one application for one function.. Nothing to do just insert the CD..
As everybody is root, geeks used Puppy Linux as a training OS for their learning, even asking people to go away because there were disturbing their studies and experiments
If your idea can fit to experts it does not for newbies from Windows, half of down loaders, who give up immediately.
TOPLESS by RSH is thought to load lot of SFS, well prepaired for no bug, but has basic apps included. The spirit is to make users life easier, not harder.
Last edited by hamoudoudou on Tue 03 Jul 2018, 05:37, edited 1 time in total.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

Re: Puppy Linux was thought as a ready for use OS

#7 Post by s243a »

hamoudoudou wrote:Puppy Linux was thought as a ready for use OS for family usage with one application for one function.. Nothing to do just insert the CD..
As everybody is root, geeks used Puppy Linux as a training OS for their learning, even asking people to go away because there were disturbing their studies and experiments
If your idea can fit to experts it does not for newbies from Widows, half of down loaders, who give up immediately.
All of this would be transparent to the "Newbie" user. Therefore your point is completely irrelevant.

darry19662018
Posts: 721
Joined: Sat 31 Mar 2018, 08:01
Location: Rakaia
Contact:

Re: Puppy Linux was thought as a ready for use OS

#8 Post by darry19662018 »

hamoudoudou wrote:Puppy Linux was thought as a ready for use OS for family usage with one application for one function.. Nothing to do just insert the CD..
As everybody is root, geeks used Puppy Linux as a training OS for their learning, even asking people to go away because there were disturbing their studies and experiments
If your idea can fit to experts it does not for newbies from Windows, half of down loaders, who give up immediately.
TOPLESS by RSH is thought to load lot of SFS, well prepaired for no bug, but has basic apps included. The spirit is to make users life easier, not harder.
Another Pelo discourage someone with a good idea or interesting one - please go away Pelo and stop polluting this thread. :evil:

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

Re: Puppy Linux was thought as a ready for use OS

#9 Post by nosystemdthanks »

s243a wrote:All of this would be transparent to the "Newbie" user. Therefore your point is completely irrelevant.
well said.

i dont think pelo has the slightest idea how important i think newbies are, though its safe to say our philosophies differ.

you know when i was first using puppy, you guys were teaching me all sorts of new gnu/linux commands.

i learned some of the best stuff here when this was new. i dont think pelo gets that. and i also used ubuntu, and i had more fun here. dont worry about him discouraging me-- thanks though.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

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

#10 Post by backi »

Hi !
I don`t think Pelos intention is to discourage anybody.There are some constructive inspirations in his sometimes weird appearing Rantings/Style .
Me thinks he is somehow often misunderstood because his English is not so far advanced .It is a communication Problem which leads to reject his ideas.
Have to admit it is often not so easy to follow his eccentric Statements.
For myself ...after a while ,digesting his (seemingly) curious appearing ideas ....i find out his intention were to give a critical feedback and to provoke/stimulate the more skilled/advanced Users/Developer to look through the eyes of a newbie/beginner......not so bad ......

But coming back on the Track ......i find this modular Approach is the Way to go ....so i would agree ....i like this modular/Lego Style .

Greetings !

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

suggestion: asign the build packages

#11 Post by foxpup »

2. i will give you FULL file listing-- all files in files in files.

3. you help me figure out what you want want to go where.
Puppy is layered.
I would think rather to use the packages for this, not files or directories.

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

Re: suggestion: asign the build packages

#12 Post by nosystemdthanks »

foxpup wrote:I would think rather to use the packages for this, not files or directories.
im pretty sure the idea is to take the files that are already in the puppy image and make it possible for you to do just that.

but its already possible for you to do that-- right, this is about making it possible to do more of that. i say "pretty sure" because its not my idea.

but again, when you say "id rather use the packages for this," that sounds like youre talking about using puppy.

this isnt so much about how puppy is used, its about how puppy is organised before it is used. so you would most likely continue to use it the way you did before.

either way, i would still need two things to move forward:

1. iso file

2. some idea of what dancytron / woof authors / jlst wants where.

we are simply talking about moving files around, so its easier to make a smaller puppy if desired. if you dont desire that... then (as user) dont make it smaller, just use packages like you said.
Puppy is layered.
exactly. this isnt about changing the functionality-- its about moving things in the layers around so if you want to remove a layer, its a lot easier.

for example:

"i dont need all these apps, i just want apps 1 2 3 4 5"

now that is possible, while 1 3 and 4 before were not distributed between layers in a way that made it easy to do this.

"i just want to start with a small puppy and build up"

right, that is possible too, but not required, because if you want "regular puppy" you just keep all the layers.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

Re: restructuring puppy

#13 Post by nosystemdthanks »

s243a wrote:I thought that a lot of the newer puppies were structured like this.
i wouldnt know. the talk from late 2016 implies they were not like this yet, so my question would be "whats changed in this regard since late 2016?" incidentally, 2016 is the date of the most recent pup ive used. (librepup) or maybe thats 2014, but i used it in 2016.

if theres nothing to do in this regard, then i have no complaint. this is pretty much just an offer to help dancytron and jlst out-- if they already have what they want, then theres no point in offering it.

this is a thing people have talked about on this forum for about 10 years-- since before most pups supported the number of loops required. (i think kernel changes were made to support things like this.)

this almost certainly wont begin without the two things ive stated i need to get started. if i dont hear from dancytron or jlst or someone related to what they were talking about, then this is probably hypothetical. if they give me what i need to get started, i will probably do this for them. if they have what they want, then its already complete.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

wanderer
Posts: 1098
Joined: Sat 20 Oct 2007, 23:17

#14 Post by wanderer »

hi all

i think the most important thing
is to as soon as possible (like today)
find (as in pupngo) or make
a tiny core (get the reference)
that will load sfs files
(stick with only one kind of file to load
you can put different things in different sfs files
it keeps things simple)

people (especially newbies) are fascinated by a tiny starting piece
that they can add to to make something uniquely theirs
people (especially newbies) also realize that if they start small
they have a better chance of being able to understand how things work

the next thing is to post a lot of pictures and isos
(on this thread ?)
of what you have made with this system
people (especially newbies)
need something to see and play with
to get them engaged

the first pieces should be

1. the smallest minimal core console only

2. the core plus a basic x system

3. the core plus the x system and some basic apps
to make it a full system

4. every ones personal creations
with lots of pictures
posted on the thread to make things real

eventually you could add a mechanism to make sfs file
from debs or some other main distros repositories
and it could expand infinity

pupngo seems a good place to start because it was so tiny
people like to start with tiny

goingnuts made a big tarball 700 mgs before he retired
with all the stuff he had in pupngo
im sure ally has it
and if not i have it

if goingnuts is still reading the forum he might even help

the other system i heard about but never used was by rsh
i think he made a ton of sfs files

i look forward to at least this discussion
and i am certainly willing to be involved
in whatever way i can

now back to corepup
because i prefer symlinks over unionfs

good luck
see you soon

wanderer

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

#15 Post by foxpup »

I think I did not explain properly.
Another try.
2. i will give you FULL file listing-- all files in files in files.

3. you help me figure out what you want want to go where.
replacing files with packages, it becomes something like this:

Code: Select all

2. we take the package listing 

3. you help me figure out what package you want to go to which *drv

wanderer
Posts: 1098
Joined: Sat 20 Oct 2007, 23:17

#16 Post by wanderer »

one problem with unionfs
is that each layer imposes a load on the processor

you would need a mechanism
to load multiple packages into an sfs file
so you would only be loading one layer not 100s

this fits into the package system used by woof-ce
list the packages you want in the added sfs file
add that file to the core
and you have your unique iso
with only 1 additional layer

you could use the woof-ce packages
for your base

and (a variation of) the woof-ce mechanism
to download and package sfs files
from other distros

you should never add anything
that is not absolutely necessary to the core
this is to keep it as simple as possible
so it can be modified and understandable
by as many people as possible

you can then have documentation on the core
that most people can learn
so everyone can get a firm grip on things from the start

the key to puppy is the init file
and if you have a good explanation of that
people can really understand what is going on

woof-ce folks might even get involved
since it would make it easier for them to maintain their system

blah blah blah

i will annoy you all again soon

wanderer
Last edited by wanderer on Tue 03 Jul 2018, 14:59, edited 1 time in total.

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#17 Post by bigpup »

"i dont need all these apps, i just want apps 1 2 3 4 5"
That is the big problem with this idea.
What you want, is not what I want, or maybe someone else wants.
So what is going to go into each of the sfs drv's is up to someones own ideas.

There is also the idea of what that sfs drv package actually does when it loads.
Does it all load into memory?
Does it load into the file system, but stay out of memory?
Does everything in it load into memory, all at the same time?
Does only what is actually needed, load into memory, and the rest just stay accessible as needed?

One big feature of Puppy is having all the normal programs, people want and use, already installed.
And it is all in a OS of around 300MB in size. :!:

Also you need to keep this loading order in consideration.
The sfs's end up in the stack in this order from the top down:
1) adrv - notionaly an "application" layer
2) ydrv - notionaly a "fix" layer
3) pupsfs - the main puppy sfs from the iso
4) fdrv - notionaly a "firmware" layer
5) zdrv - notionaly a "driver" layer

6) Any "extra" sfs's loaded with sfs_load.

So both adrv and ydrv cover the main pupsfs and so can be used to update it.
The fdrv is under the main pupsfs but covers zdrv and so can be used to update it.
Any "extra" sfs's cannot update any system sfs's.

Note1: In woof-ce puppies the fdrv and zdrv contain files that do not exist in the main pupsfs, (so it doesn't matter that they are below it).

Note2: The save layer is always above any sfs's, so a ".pet" can update any sfs.
This idea is not that new.
There are other topics, in the forum, talking about basically the same idea.
Several of them have done it and used it, already.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

Advancing modularization

#18 Post by mikeslr »

Hi All,

Six and a half years ago, jemimah published a Puppy, Saluki, that was constructed in a then radically different manner. It was modular. Its components consisted of an initrd --initial RAM Disk, a vmlinuz -- kernel, a puppy_saluki.sfs -- core (essential/foundation) applications, and an adrv_saluki.sfs -- additional applications jemimah considered sufficient to provide the user with everything likely to be needed for daily use. Delete or remove adrv and saluki would still boot to desktop with the ability to access its repo on the Web.

Newbys were cared for. They had a Puppy which could OOTB serve their needs. Tinkerers were happy. They had a bare-bones Puppy they could flesh out with applications they actually wanted.

In the last six and a half years, the Woof devs have continued to improve on jemimah's vision: first they separated out drivers and firmware into a zdrv. That made it easy to change kernels. Your Puppy with the applications you use, remained the same, only with a new "engine", more secure and able to run newer hardware or an older "engine" capable of running the older hardware you already have. Then firmware was separated into its own fdrv. In order for a kernel to control hardware it needs both drivers and firmware. Drivers are kernel-dependant --must be compiled to work with it. Firmware is not. How many times must you download the same firmware? Store it on your computer and use it with the next Puppy. Or remove the firmware files you don't need from the downloaded fdrv and just store the ones you do.

But no one has developed the application that was part of Jemimah's original vision and included in her original Saluki: custom-builder.

Custom-builder, included in Saluki's core package, enabled a user --even a newby--to create his/her own adrv, either by selecting applications from the adrv (if loaded) and/or downloading applications from Saluki's repo. If adrv was loaded, a choice would be offered to use the application thus already on 'the system' or download a, perhaps, newer version from the repo.

To implement that part of jemimah's vision today would be somewhat more daunting than when she created custom-builder. Saluki accessed only its own repo. Today's Puppies can access not only their own, respective, repos, but also the repos of the Linux Distro with which they are 'binary-compatible' with: e.g., Slacko 5.7 with Slackware 14; Xenialpup with Ubuntu Xenial Xerus. The ability to access such 'alien' repos carries with it the necessity of being able to do such dependency-checking and downloads at least on the level of Puppy Package Manager, or preferably at the greater level that sc0ttman envisions for pkg-get, http://murga-linux.com/puppy/viewtopic. ... 531#985531.

For anyone interested in updating custom-builder, you'll find a version attached to this post: http://murga-linux.com/puppy/viewtopic. ... 391#939391

mikesLr

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#19 Post by rockedge »

mikeslr thank you! I am interested in modifying it to make construction of adrv.xxxx.sfs easy to do. looking for a foundation and here one might be! cool.

Or write one from scratch. I am doing it the manual way and but this idea looks good

wanderer
Posts: 1098
Joined: Sat 20 Oct 2007, 23:17

#20 Post by wanderer »

hi all

with all due respect to the gurus

the problem with woof-ce
which is the flagship puppy
is that it has become too complex and slow
for most people to use

yes it can do everything imaginable
and you can use it if you are a guru
and have 3+ hours to build an iso
which then will need a guru
to figure out what is not working right
and more hours and expertise to tweak it
to eventually work right

but most people cannot and dont want do that
so they have to look elsewhere

thankfully i have found tinycore
which i am making into corepup
i use it as my main distro
and you can have an up to date firefox
and all the apps you need
as its salesman i encourage all to try it

i would not have looked for anything else
except that after making 3 isos with woof
each taking over a day to even get to stage 1
i realized that was not for me

i love puppy
and wish for it to thrive
but this thread is proof that
this issue is not being addressed

how about a little woof-ce starter kit
that is very minimal very fast and very simple
that us common folk could use
to make our little isos
and learn how things work

one could always level up
to the full master kit
as they become a guru

i would certainly appreciate it
maybe others would as well

now back to my box

wanderer
Last edited by wanderer on Tue 03 Jul 2018, 16:22, edited 2 times in total.

Post Reply