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 02 Sep 2014, 23:42
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects » Next Puppy Development
Multiple SFS support in initrd
Post new topic   Reply to topic View previous topic :: View next topic
Page 3 of 6 [88 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6 Next
Author Message
gcmartin

Joined: 14 Oct 2005
Posts: 4238
Location: Earth

PostPosted: Sat 09 Mar 2013, 16:04    Post subject:  

Hi @Mavrothal and thanks for this discussion. This thread provides insights that developers wrestle with when working in Puppyland to produce distros. And its helpful, I'm sure to those who also build in that it presents some ideas of interest in good methods for the people they envision are the targets for their distros and their work.
Mavrothal wrote:
... do you load 15-20 SFS on the union in the initrd or with SFS_load/boot manager ...
I saw your post about loading 10-15 SFS in LightHouse64.

TaZoC designed this feature about 2 years ago. It happens at boot-time and it will load any OR all SFS it finds in root at boot.

The easiest view of this is to download his LightHouse64 Mariner edition (requires 64bit PC) burn a CD/DVD and boot it without ANY parms.

It will boot and provide you a selection for all the SFSs it sees and when arrival after boot, you will have a desktop comprised of all of the SFSs you allowed at boot time. Further, you can add more SFSs to the root of the CD/DVD and on subsequent boot, the boot subsystem will intelligently present them, as well for selection.

Finally, upon completion of your running session, at shutdown, the LH64 system will allow one to create a save-file of all of their work to minimize subsequent boot needs,

Should you choose to investigate his approach, when you boot the CD/DVD hit F3 and F2 to see some of the boot selection offering and explanations available to users.

One thing of note is that ALL of the SFSs that he provides in Mariner are one he has tested to ensure compatibility. Thereby eliminating "unexpectations" at boot.

Here to help

_________________
Get ACTIVE Create Circles; Do those good things which benefit people's needs!
We are all related ... Its time to show that we know this!
3 Different Puppy Search Engine or use DogPile
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 1603

PostPosted: Sat 09 Mar 2013, 16:47    Post subject:  

sunburnt wrote:
Tiny Core Linux does not use SFS files that are unioned, it uses Squash files.
Tiny Core does not use a union, it uses thousands of links in the main O.S.
It`s newer SCM files are very like AppPkg, RoxApp, or AppDir, no union.


The main arguments are in the article I posted a link to. It speaks for itself.


Q5sys; But what`s the performance on a low ram old PC with 20 layers?
This type of setup has limits to it`s usefulness. But not no-union apps.


I guess I was not clear enough pointing to the fact that the TC system is not a unionfs but that's because I did not realize that you just want a non-uninion filesystem for puppy.
Unionfs do have their problems as pointed in the article you mentioned, however I doubt any of the ones mentioned in the article have anything to do with 99.999% of puppy usage.
Regarding low specs machines, believe me I know about them and union is the least of their problems.

I do not really say that unionfs is a "must" for puppy(full installs are also available) but I would really like to see what "use case" we are trying to cover here. This may focus and help the discussion a bit more.

_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy
Back to top
View user's profile Send private message 
Q5sys


Joined: 11 Dec 2008
Posts: 1049

PostPosted: Sat 09 Mar 2013, 17:12    Post subject:  

sunburnt wrote:
Q5sys; But what`s the performance on a low ram old PC with 20 layers?
This type of setup has limits to it`s usefulness. But not no-union apps.


I've never done any actual testing... so I cant really make a reliable statement on that.
I've used 5 to 10 on my netbook... but i've never done any comparisons with it.
Also keep in mind that Lighthouse is 64bit... so 'low ram old pcs' cant run it.

_________________



My PC is for sale
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 1603

PostPosted: Sat 09 Mar 2013, 17:13    Post subject:  

gcmartin wrote:

TaZoC designed this feature about 2 years ago. It happens at boot-time and it will load any OR all SFS it finds in root at boot.

From what I can see in TaZoC's init code, his mods just do "automatically" what bootmanager/SFS_load does on a case by case (manual) setting.
These multiple SFSs are loaded in the union as mount points but are *not* loaded in RAM as the main SFS does.
What the adrv/ydrv patch does is to load multiple SFSs of the unionfs in the RAM as one (if enough RAM available).
So TaZoC's mods are very nice but not relevant. Actually his mods could work in parallel to the ones proposed here as they have no overlap.

As mentioned many times so far, the goal of adrv/ydrv is to facilitate *development* of different flavors/customizations of a given puppy, not to change the way puppy works.

_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy
Back to top
View user's profile Send private message 
Q5sys


Joined: 11 Dec 2008
Posts: 1049

PostPosted: Sat 09 Mar 2013, 17:31    Post subject:  

mavrothal wrote:
gcmartin wrote:

TaZoC designed this feature about 2 years ago. It happens at boot-time and it will load any OR all SFS it finds in root at boot.

From what I can see in TaZoC's init code, his mods just do "automatically" what bootmanager/SFS_load does on a case by case (manual) setting.
These multiple SFSs are loaded in the union as mount points but are *not* loaded in RAM as the main SFS does.
What the adrv/ydrv patch does is to load multiple SFSs of the unionfs in the RAM as one (if enough RAM available).
So TaZoC's mods are very nice but not relevant. Actually his mods could work in parallel to the ones proposed here as they have no overlap.

As mentioned many times so far, the goal of adrv/ydrv is to facilitate *development* of different flavors/customizations of a given puppy, not to change the way puppy works.

Actually LHP64 can load all SFS into ram. You have the option to run them from disk or load to ram.

_________________



My PC is for sale
Back to top
View user's profile Send private message 
sunburnt


Joined: 08 Jun 2005
Posts: 5016
Location: Arizona, U.S.A.

PostPosted: Sat 09 Mar 2013, 22:04    Post subject:  

Puppy will always be a union type O.S., that`s how Barry wants it.
And after all, it is his baby, so that`s just how it should be... Right?

Users find little wrong with unions, but they don`t put it all together.
My thought was more to new Linux O.S.s that drop the legacy crap.

The real Q: If it`s not really needed, then why have it at all?
It`s just an unnecessary complication that enables blending loose files
and Squash files into a sudo-writable file system. There`s better ways.
Back to top
View user's profile Send private message 
R-S-H

Joined: 18 Feb 2013
Posts: 490

PostPosted: Sun 10 Mar 2013, 00:50    Post subject:  

mavrothal wrote:
RSH,
Is not clear to me if you figured it by now but the whole trick is the splitting of "${UMNTMAIN}" to "${UMNTRW}${UMNTRO0}${ALAYER}${BLAYER}${UMNTRO1}"
The {a-z}drvs are mounted to /initrd/mnt/tmpfs{2-25} if there is enough RAM to hold them (ie 2x the total SFSs size) or to /initrd/pup_{a-z}.
All {a-z}drvs mounted this way in the initrd show as one so if you have the same files in 2 SFSs and try to mount them this way you may end up in trouble...

Hi, mavrothal.

Meanwhile I did change UMNTMAIN to UMNTRW, so the code is now equal. But I'm a bit confused - still after reading all new posts in this thread. Crying or Very sad

Inside the code of your patches, the adrv uses loop2
Code:
mount -r -t squashfs -o noatime /dev/loop2 /pup_a

the ydrv uses loop3
Code:
mount -r -t squashfs -o noatime /dev/loop3 /pup_y


Inside saluki code loop3 isused for zdrv
Code:
mount -r -t squashfs -o noatime /dev/loop3 /pup_z

and so is in my LazY Puppy init script.

Do I have to increase the loops for each (a,b,c)drv like loop4, loop5, loop6 ond so on?

Also in saluki code adrv and zdrv go to tmpfs2
Code:
cp -af ${MNT_ZFILE}${ZFILE} /mnt/tmpfs2/

The ydrv in your patch goes to tmpfs3
Code:
cp -af ${MNT_YFILE}${YFILE} /mnt/tmpfs3/

Do I have to create these folders inside initrd.gz or at boot up from within the init script?

Thanks

RSH

P.S.

Quote:
All {a-z}drvs mounted this way in the initrd show as one so if you have the same files in 2 SFSs and try to mount them this way you may end up in trouble...

Could you please explain a bit more? Does it mean to have those two icons for fbpanel (one inside main sfs the other one inside the winmgr sfs) could be responsible for an actual issue (can't load sfs files using sfs_load at mount point pup_ro9 and up)?

_________________
LazY Puppy Home
The new LazY Puppy Information Centre

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


Joined: 24 Aug 2009
Posts: 1603

PostPosted: Sun 10 Mar 2013, 01:34    Post subject:  

Q5sys wrote:

Actually LHP64 can load all SFS into ram. You have the option to run them from disk or load to ram.

Never used LH64 so I do not know for a fact.
I just glanced at the code and although I can see COPYEXTRASFS2RAM I can not see how more that one SFS is loaded as UMNTRO.
I probably miss something, but can you actually see RAM usage increasing as much as the SFS size when more than 1 extra SFSs are loaded with the copy2am option? (I know you have the RAM for that test Very Happy )

_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy

Last edited by mavrothal on Sun 10 Mar 2013, 01:43; edited 1 time in total
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 1603

PostPosted: Sun 10 Mar 2013, 01:36    Post subject:  

sunburnt wrote:

My thought was more to new Linux O.S.s that drop the legacy crap.

Go ahead and we'll help if we can. Wink

_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 1603

PostPosted: Sun 10 Mar 2013, 01:41    Post subject:  

R-S-H wrote:

Inside the code of your patches, the adrv uses loop2
Code:
mount -r -t squashfs -o noatime /dev/loop2 /pup_a

the ydrv uses loop3
Code:
mount -r -t squashfs -o noatime /dev/loop3 /pup_y


Inside saluki code loop3 isused for zdrv
Code:
mount -r -t squashfs -o noatime /dev/loop3 /pup_z

and so is in my LazY Puppy init script.

If you use zdrv bump it to use loop 4

Quote:
Do I have to increase the loops for each (a,b,c)drv like loop4, loop5, loop6 ond so on?

Yes

Quote:
Also in saluki code adrv and zdrv go to tmpfs2
Code:
cp -af ${MNT_ZFILE}${ZFILE} /mnt/tmpfs2/

The ydrv in your patch goes to tmpfs3
Code:
cp -af ${MNT_YFILE}${YFILE} /mnt/tmpfs3/

Do I have to create these folders inside initrd.gz or at boot up from within the init script?

In the initrd


Quote:
Quote:
All {a-z}drvs mounted this way in the initrd show as one so if you have the same files in 2 SFSs and try to mount them this way you may end up in trouble...

Could you please explain a bit more? Does it mean to have those two icons for fbpanel (one inside main sfs the other one inside the winmgr sfs) could be responsible for an actual issue (can't load sfs files using sfs_load at mount point pup_ro9 and up)?

I can not verify that but is likely. Try to remove one and check Wink

_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy
Back to top
View user's profile Send private message 
gcmartin

Joined: 14 Oct 2005
Posts: 4238
Location: Earth

PostPosted: Sun 10 Mar 2013, 02:28    Post subject:  

Hi @Mavrothal

Just for the sake of understanding and consistent with this discussion, if you have a 64bit PC and a blank CD/DVD, pull LH64 Mariner and boot it pfix=ram

It wont take you longer than 2 minutes to see the operational aspect of his simple SFS processing at boot time. Copy2RAM is an unnecessary convenience. But, you'll see why.

Here to help

_________________
Get ACTIVE Create Circles; Do those good things which benefit people's needs!
We are all related ... Its time to show that we know this!
3 Different Puppy Search Engine or use DogPile
Back to top
View user's profile Send private message 
R-S-H

Joined: 18 Feb 2013
Posts: 490

PostPosted: Sun 10 Mar 2013, 03:11    Post subject:  

Hi mavrothal.

Thanks, this is helpful a lot.

Any hints on this differences?

ZDRV:
Code:
ZLAYER=':/pup_z=ro'

ADRV:
Code:
ALAYER='/pup_a=ro:'


RSH

_________________
LazY Puppy Home
The new LazY Puppy Information Centre

Back to top
View user's profile Send private message 
01micko


Joined: 11 Oct 2008
Posts: 7797
Location: qld

PostPosted: Sun 10 Mar 2013, 07:33    Post subject:  

Hi

hehe.. I just built a POC Slacko, updated 3.8.2 kernel (supporting HFS, btrfs and f2fs) with an A drive only.. works beautifully. I may even upload it, but i want to figure out f2fs.

I also hacked 3builddistro to support the a drive concept, it does nothing more than produce a sane DISTRO_SPECS. An iso with A drive needs to be made manually afterwards. Patch later.

Thanks mavrothal Smile

_________________
Woof Mailing List | keep the faith Cool |
Back to top
View user's profile Send private message Visit poster's website 
mavrothal


Joined: 24 Aug 2009
Posts: 1603

PostPosted: Sun 10 Mar 2013, 09:06    Post subject:  

R-S-H wrote:
Hi mavrothal.

Thanks, this is helpful a lot.

Any hints on this differences?

ZDRV:
Code:
ZLAYER=':/pup_z=ro'

ADRV:
Code:
ALAYER='/pup_a=ro:'


RSH

zlayer is the last one, alayer a middle one.
Do the replacement in
Code:
mount -t aufs -o udba=reval,diropq=w,dirs=${UMNTRW}${UMNTRO0}${ALAYER}${YLAYER}${UMNTRO1}${ZLAYER}${UMNTRO} unionfs /pup_new
and will become clear I believe.
_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 1603

PostPosted: Sun 10 Mar 2013, 09:08    Post subject:  

01micko wrote:
I also hacked 3builddistro to support the a drive concept, it does nothing more than produce a sane DISTRO_SPECS. An iso with A drive needs to be made manually afterwards.

That's a good start but spitting at build time is even better Wink

_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 3 of 6 [88 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects » Next Puppy Development
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.1178s ][ Queries: 13 (0.0102s) ][ GZIP on ]