Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 14 Aug 2018, 12:14
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
restructuring puppy
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 2 of 3 [34 Posts]   Goto page: Previous 1, 2, 3 Next
Author Message
wanderer

Joined: 20 Oct 2007
Posts: 727

PostPosted: Tue 03 Jul 2018, 10:57    Post subject:  

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, 10:59; edited 1 time in total
Back to top
View user's profile Send private message 
bigpup


Joined: 11 Oct 2009
Posts: 10850
Location: Charleston S.C. USA

PostPosted: Tue 03 Jul 2018, 10:59    Post subject:  

Quote:
"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. Exclamation

Also you need to keep this loading order in consideration.

Quote:
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.

_________________
I have found, in trying to help people, that 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 Shocked
Back to top
View user's profile Send private message 
mikeslr


Joined: 16 Jun 2008
Posts: 2518
Location: 500 seconds from Sol

PostPosted: Tue 03 Jul 2018, 11:17    Post subject: Advancing modularization  

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.php?p=985531#985531.

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

mikesLr
Back to top
View user's profile Send private message 
rockedge


Joined: 11 Apr 2012
Posts: 722
Location: Connecticut, United States

PostPosted: Tue 03 Jul 2018, 11:46    Post subject:  

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
Back to top
View user's profile Send private message Visit poster's website 
wanderer

Joined: 20 Oct 2007
Posts: 727

PostPosted: Tue 03 Jul 2018, 12:15    Post subject:  

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, 12:22; edited 2 times in total
Back to top
View user's profile Send private message 
hamoudoudou

Joined: 24 Jul 2014
Posts: 1467
Location: rabat

PostPosted: Tue 03 Jul 2018, 12:16    Post subject: When only one should be enough.  

Wen you use several Puppies , most of us, only one SFS has to be stored. You load it as you like on ten of your puppies
If you insert in adrives, you will need as many as Puppies, in my example 10.. When only one should be enough.
It's like variables in programming..
Whatever you suggest, downloaders will have to learn English first..
Some devs speak poor English, you should consider that too.
Puppy Linux decided to give ready for use ISO, and that was clever..
Back to top
View user's profile Send private message 
nosystemdthanks

Joined: 03 May 2018
Posts: 330

PostPosted: Tue 03 Jul 2018, 12:38    Post subject:  

so i guess there are two things that could come out of this thread--

the first one is that i want to be sure i can offer dancytron (he still posts, yes?) and jlst what they were talking about it.

my approach to that will be very simple. iso goes in, iso comes out. nothing else to do-- it just turns it into what they want. (yes, just two people. though im willing to hear everyone elses ideas.)

that may make it a LOT easier to use that iso to do some of the things everyone else is talking about-- simply through restructuring it.

then theres the matter of the other good ideas being talked about here. i cant commit to those at this time. that doesnt mean im not interested, or that theyre not good ideas, or that i definitely wont do anything related to that.

what im talking about is a program that automatically restructures a puppy cd. the other ideas are more work, and im guessing that work is ongoing.

also wanderer, dont feel im ignoring you-- i like symlinks too, i told you about the url problem so you can fix that, let me know when its fixed. thanks. please continue to throw your ideas in when you want.

some of these ideas are separate from what i was talking about-- thats ok, just because theyre separate doesnt mean they have lesser merit. they may even be better ideas, though some of them i think would be a lot more work.

im trying to take one big idea and make it easier to do.

as for those repos, i have a suggestion to everyone: virtual repos.

whats a virtual repo? a listing of files that exist somewhere else, to be used like a package.

for example, to make a virtual repo that had icewm in it, youd simply say

1. which puppy version
2. which package type (deb, pet, tcz)
3. url of icewm package
4. urls of the packages it needs

there you go-- you just "made" a package for icewm in 4 (or more) lines of plain text.

so why do that? because people can take your virtual "repos" and put them online (mirror them) and use them for the sorts of things that custom-builder did.

its a lot cheaper than making real repos.

if you dont like the idea, i definitely dont recommend doing it.

this idea is separate from what i was talking about before, too.

_________________
philosophy is important to software design; coding is useful for demonstrating design concepts
Back to top
View user's profile Send private message Visit poster's website 
nosystemdthanks

Joined: 03 May 2018
Posts: 330

PostPosted: Tue 03 Jul 2018, 12:46    Post subject: Re: When only one should be enough.  

hamoudoudou wrote:
Wen you use several Puppies , most of us, only one SFS has to be stored. You load it as you like on ten of your puppies
If you insert in adrives, you will need as many as Puppies, in my example 10.. When only one should be enough.


pelo (probably) has a valid point here. if you make LOTS of adrvs (10 for example) then frugal installers will have a lot more files to copy. no longer is frugal install "just copy kernel, initrd, sfs, adrv" its more.

not that im starting that... i mean there are already other puppies that are more like this. more modular.

this is relevant to the first post, im inclined to address this.

i can think of two ways to deal with this:

1. avoid becoming TOO modular. i wasnt necessarily thinking of making lots of adrvs, its something i thought might come up and would be willing to tackle. keep it under 10 (there are already puppies with more than one adrv i believe. or more than one sfs besides core and zdrv. or closer to what pelo is worried about at least.)

2. offer a frugal-helper that takes the MANY modular things and puts them into a "single" frugal sfs, so that you can have all your different modules in a single frugal sfs. this is doable.

id definitely like to hear what people think of pelos concern here, its actually something i thought of too, so if necessary just pretend someone else said it... backi, i hear you. cheers.

to clarify one thing: i think the idea can work whether it adds one or two adrvs or 10 or 20. i dont have a strong preference which direction that goes-- but i think the direction i take should consider fans of frugal (i am also a fan of frugal, but the consideration about this is not for myself. i like frugal, but i dont use it that much these days.)

_________________
philosophy is important to software design; coding is useful for demonstrating design concepts
Back to top
View user's profile Send private message Visit poster's website 
wanderer

Joined: 20 Oct 2007
Posts: 727

PostPosted: Tue 03 Jul 2018, 13:14    Post subject:  

hi nosystemdthanks

the url is fixed so people can download the corepup iso

so your idea is

puppy iso goes in
your script adds packages as requested
puppy iso comes out

i like it simple fast and flexible

can you make a very minimal iso
so we can start with that
and learn the absolute minimum that is needed

as for symlinks they are cool but classic puppy uses unionfs

thanks for considering doing this
and for all the other help
it could be a real asset for puppy


wanderer
Back to top
View user's profile Send private message 
mikeslr


Joined: 16 Jun 2008
Posts: 2518
Location: 500 seconds from Sol

PostPosted: Tue 03 Jul 2018, 13:32    Post subject: Follow up on my previous post  

Hi again All,

This does not address the concerns posted by other since my last post. Immediately after posting I drove to my bank --it will be closed tomorrow-- on auto-pilot while thoughts of Saluki were still being tossed around by my surviving brain cells.

Two things occurred to me. One was the first 'system improvement' regarding Saluki I've had since its publication. Adrv does not have to be packaged as part of the ISO. It can be offered as a separate download for those who want it.

The second is perhaps a premature announcement. RSH --now posting under the handle ITSMERSH-- is working on renovating PaDS. You can find the last published version, PaDS 1.0.4, here: http://murga-linux.com/puppy/viewtopic.php?p=658359#658359. You can find posts regarding its use, and the limitations of PaDS 1.0.4 by typing "PaDS mikeslr" into the search box @ https://cse.google.com/cse?cx=015995643981050743583%3Aabvzbibgzxo&q=#gsc.tab=0. As envisioned, the renovated PaDS will be able to combine pets, debs, SFSes, tar.gzes, txzes and tazpkgs packages into a SFS Module, however you acquire such packages including downloads via PPM or web-browser.

What the combined SFS is named is a choice the user makes. Name it adrv_MY-PUPPY-VERSION.sfs, and you'd have an adrv.

Whether the renovated PaDS would be included as a "core" application would be up to the Woof Devs. But it is a small no-arch download which can be used in any Puppy --with the exception of corepup-- semi-dependent on only one other application, xdotools. The version of xdotools should be one appropriate for your Puppy, or at least its architecture (32 or 64 bit). As envisioned, PaDS will be able to function without xdotools on any Puppy that can provide Right-Click options. But xdotools, even on those, would enable greater functionality.

Corepup packages are currently not on the drawing board for inclusion as corepup appears --on casual reading-- to be substantially different than other Puppies: more "core" than "pup".

It is possible that ITSMERSH would welcome the assistance of additional volunteers --testors in general, and especially anyone possessing bash and gtk-dialog skills.

mikesLr
Back to top
View user's profile Send private message 
s243a

Joined: 02 Sep 2014
Posts: 1107

PostPosted: Tue 03 Jul 2018, 14:32    Post subject:  

wanderer wrote:


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


Does this do what you want?

Auto-build a Puppy iso; single script with optional gui
Back to top
View user's profile Send private message 
s243a

Joined: 02 Sep 2014
Posts: 1107

PostPosted: Tue 03 Jul 2018, 14:39    Post subject: Re: When only one should be enough.  

nosystemdthanks wrote:
hamoudoudou wrote:
Wen you use several Puppies , most of us, only one SFS has to be stored. You load it as you like on ten of your puppies
If you insert in adrives, you will need as many as Puppies, in my example 10.. When only one should be enough.


pelo (probably) has a valid point here. if you make LOTS of adrvs (10 for example) then frugal installers will have a lot more files to copy. no longer is frugal install "just copy kernel, initrd, sfs, adrv" its more.

not that im starting that... i mean there are already other puppies that are more like this. more modular.

this is relevant to the first post, im inclined to address this.

i can think of two ways to deal with this:

1. avoid becoming TOO modular. i wasnt necessarily thinking of making lots of adrvs, its something i thought might come up and would be willing to tackle. keep it under 10 (there are already puppies with more than one adrv i believe. or more than one sfs besides core and zdrv. or closer to what pelo is worried about at least.)



The installers can take care of the file copying or alternatively a simple readme file that says which files that I need to copy.

As for how to break it out, I like wander's suggestion here:
http://murga-linux.com/puppy/viewtopic.php?p=997779#997779

However, except for very old computers I would tend to favour a layered file system over a symlinked one. I do though have one old computer where I think that the symlinked approach will be better. Smile...but in most cases I prefer the standard puppy approach.

Hmmm....I wonder if corepup would be a great system for running many virtual machines at once given the lighter weight nature of symlinkes.
Back to top
View user's profile Send private message 
nosystemdthanks

Joined: 03 May 2018
Posts: 330

PostPosted: Tue 03 Jul 2018, 15:06    Post subject:  

s243a wrote:
Does this do what you want?

Auto-build a Puppy iso; single script with optional gui


i know youre asking wanderer, i may be able to answer for him (with caution.)

first, im a huge fan of that script. to me its "woof done right" where "right" is no disrepect to the woof team, just "right" as in "the way i would do it myself."

but to clarify, that is simply an ideal version of woof. while wanderers goal always seems to be (more like an idea i had 2 years ago) take something else and make it more like puppy-- rather than take puppy itself and improve it.



on the more immediate topic:

Quote:
The installers can take care of the file copying or alternatively a simple readme file that says which files that I need to copy.


speaking personally, im ok with that. i wonder how many frugal fans would agree, or if they would love that they could simply "not copy" things they didnt want or need?

when i put it that way, im happier about going forward with greater modularity. though i know im being a bit optimistic about it.

_________________
philosophy is important to software design; coding is useful for demonstrating design concepts
Back to top
View user's profile Send private message Visit poster's website 
wanderer

Joined: 20 Oct 2007
Posts: 727

PostPosted: Tue 03 Jul 2018, 15:14    Post subject:  

hi everyone
i have read the whole thread
so i am taking into consideration
what i think everyone has said

i like what i think is nosystemdthanks idea

puppy iso in
script adds specified packages
puppy iso out

start with totally minimal puppy iso
just enough to start the process
nosystemdthanks or some other guru supplies this

another script that processes
everything from everywhere
into packages that will work in this system

is this what i hear is being suggested ?

wanderer
Back to top
View user's profile Send private message 
wanderer

Joined: 20 Oct 2007
Posts: 727

PostPosted: Tue 03 Jul 2018, 15:24    Post subject:  

the solution to multiple sfs files
the script builds into 1 sfs everything on a list

iso in
script list 1
iso out 1 sfs file

iso list 1 in
script list 2
iso out 2 sfs files

iso in
script list 1 + list 2
iso out 1 sfs file

so you could control how many sfs files needed to be loaded
and you could save lists for future reference

wanderer
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 2 of 3 [34 Posts]   Goto page: Previous 1, 2, 3 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.2068s ][ Queries: 11 (0.0105s) ][ GZIP on ]