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 Thu 28 Aug 2014, 03:35
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 2 of 6 [88 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6 Next
Author Message
mavrothal


Joined: 24 Aug 2009
Posts: 1602

PostPosted: Fri 08 Mar 2013, 15:43    Post subject:  

R-S-H wrote:
Here is the init script from my LazY Puppy 3. Saluki code included - commented out, because it failed and I did try it with an code-copy of the zdrv code. I have made a lot of modifications also, so it's a bit more than a usual init script.


"a bit more"?...That's a lot to shift through!

I think that the crucial part you miss is the definition of the layers (lines872-888) and thus the union mounting at 1778.

Look at the ADRV_Woof.patch in the download above. should be clear the part you are missing (and is much smaller than your init too Razz)

_________________
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 
R-S-H

Joined: 18 Feb 2013
Posts: 490

PostPosted: Fri 08 Mar 2013, 19:22    Post subject:  

Hi, mavrothal
Quote:
I think that the crucial part you miss is the definition of the layers (lines872-888) and thus the union mounting at 1778.

I did try two times.

First, after doing all needed changes, I forgot to enable the saluki adrv code again and to remove the modified zdrv code - so, I've booted with all changes made and ended up into kernel panic... Laughing

Second go, I've enabled the saluki adrv code again and removed the other one.

Result:

I'm currently posting from LazY Puppy 3.0.0 (only openbox is installed) using the LP2_WindowManagers.sfs for the adrv mount point plus the LP2_XorgHigh.sfs for the zdrv mount point - I use this for the LazY Puppy Extension.sfs (but can be any sfs I want).

FbPanel is there right after X is started and Stellarium runs out of the box (because of the XorgHigh).

I do this from a boot menu entry in menu.lst

Code:
title LazY Puppy 3.0.0 Standard (RAM, ADRV-Test, Fenstermanager, +XorgHigh)
  find --set-root --ignore-floppies /LazY/initrd.gz
  kernel /LazY/vmlinuz lpextsfs=LP2_XorgHigh.sfs lpadrvsfs=LP2_WindowManagers.sfs psubdir=LazY pmedia=atahd pfix=ram,fsck
  initrd /LazY/initrd.gz


Thank you very much, mavrothal! Really!

But, be aware: my lovely Augenstern will not be impressed, because second result ends up in "waiting for me until sunday" - for her... Wink

I assume, I would have to do this exactly again and again for each a-, b-, cdrv I want to have. At this point I have changed something like this:
Code:
OLDFILESMNTPT="/pup_ro1";NEWFILESMNTPT="/pup_ro1";UMNTMAIN="/pup_rw=rw:/pup_ro1=ro+wh";;

to this
Code:
OLDFILESMNTPT="/pup_ro1";NEWFILESMNTPT="/pup_ro1";UMNTMAIN="/pup_rw=rw:";UMNTRO0="/pup_ro1=ro+wh";;

almost inserting
Code:
UMNTRO0

and
Code:
UMNTRO1

The other part is changing this
Code:
mount -t aufs -o udba=reval,diropq=w,dirs=${UMNTMAIN}${ZLAYER}${UMNTRO} unionfs /pup_new

mount -t unionfs -o dirs=${UMNTMAIN}${ZLAYER}${UMNTRO} unionfs /pup_new

to this
Code:
 mount -t aufs -o udba=reval,diropq=w,dirs=${UMNTMAIN}${UMNTRO0}${ALAYER}${UMNTRO1}${ZLAYER}${UMNTRO} unionfs /pup_new

 mount -t unionfs -o dirs=${UMNTMAIN}${UMNTRO0}${ALAYER}${UMNTRO1}${ZLAYER}${UMNTRO} unionfs /pup_new

Just inserting this code
Code:
${UMNTRO0}${ALAYER}${UMNTRO1}$

But I can't see the system behind this!

Could you please give me something like a "form" or a "path" how to change and/or to add severals "adrv" mount points. I want to have at least: adrv (admin), ldrv (language), wdrv (WindowManagers), rdrv (RunScrips etc.), xdrv (extensions) - I think there will be even more. Laughing

Thanks again, Cool

RSH

_________________
LazY Puppy Home
The new LazY Puppy Information Centre

Back to top
View user's profile Send private message 
R-S-H

Joined: 18 Feb 2013
Posts: 490

PostPosted: Fri 08 Mar 2013, 20:15    Post subject:  

Addition to the post above...

I've had a look into the above attached .tar.gz file. Patch file ADRV-YDRV_Woof did let me get a bit more into this. Although I did not change UMNTMAIN to UMNTRW it works. Do I have to change this also or is it because of newer woof or newer puppies (kernels)?

And, oh, by the way: where is this mounted - I mean in which order at the pup_roX list (ro1, ro2, ro3 etc.)?

_________________
LazY Puppy Home
The new LazY Puppy Information Centre

Back to top
View user's profile Send private message 
R-S-H

Joined: 18 Feb 2013
Posts: 490

PostPosted: Fri 08 Mar 2013, 21:08    Post subject:  

Oh, that's interesting!

To me it seems like the adrv is mounted on top of the main sfs file. There's a image for the fbpanel menu in main sfs. But the menu shows the image from LP2_WindowManagers.sfs!

This might make possible to boot using settings from sfs that would "overwrite" existing files from main sfs ? ! ? ! ? !

Or is it only because i did not change UMNTMAIN to UMNTRW?

Hm...

I know, it's late... ...though, anyone here, with knowledge on such issues?

EDIT:

Yes!

Copying the image from /initrd/pup_ro2/usr/share/fbpanel/images/start-button.png to /usr/share/fbpanel/images/start-button.png shows the image in fbpanel menu (start button)...

So, is this Cool or is it Confused ???

_________________
LazY Puppy Home
The new LazY Puppy Information Centre

Back to top
View user's profile Send private message 
R-S-H

Joined: 18 Feb 2013
Posts: 490

PostPosted: Fri 08 Mar 2013, 23:15    Post subject:  

Ooohhh, this is working fun - or funny working!

Lazy Puppy 3.0.0 booting to RAM, no save file

- adrv = LP2_WindowManagers.sfs
- ddrv = LP2_AudioStudio.sfs --> for testings

- zdrv = LP2_XorgHigh.sfs

FbPanel is there, Stellarium runs out of the box and QJackCtl from LP2_AudioStudio.sfs runs as well!

Next stop: fdrv --> for fonts

---

The icon from fbpanel is still on top...

_________________
LazY Puppy Home
The new LazY Puppy Information Centre

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, 00:40    Post subject:  

Guys... Actually mksquashfs can append a Squash file!

I just tested it and it works fine, just write to the original SFS file as usual.


Thoughts: I like very much a config. image file and an apps. image file.
This isn`t hard to do, config. Save unions on /root, and app. on /usr.
But the problem is that the app. is separated from it`s configs.


So I made AppPkg, it`s RoxApp and AppDir compatible ( so no-union ).
So to copy an AppPkg everything associated copies with it, even internal libs.
Only links are made in the O.S.`s normal main file system.

Having a separate Save union layer to catch the needed links keeps it clean.
The link`s Save layer is: /tmp/AppPkg/links. It`s self-cleaning at shutdown.

I`ve tried to make chroot and fake-chroot work, but it`s a real bag of bolts.
But the method has some very nice aspects about it. Anyone good at it?
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 1602

PostPosted: Sat 09 Mar 2013, 02:08    Post subject:  

R-S-H wrote:
Patch file ADRV-YDRV_Woof did let me get a bit more into this. Although I did not change UMNTMAIN to UMNTRW it works.
And, oh, by the way: where is this mounted - I mean in which order at the pup_roX list (ro1, ro2, ro3 etc.)?


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

_________________
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: 1602

PostPosted: Sat 09 Mar 2013, 02:25    Post subject:  

sunburnt wrote:

Thoughts: I like very much a config. image file and an apps. image file.
This isn`t hard to do, config. Save unions on /root, and app. on /usr.
But the problem is that the app. is separated from it`s configs.


Help me understand a bit.

It is likely that different pupplets will need different apps and configs. So an Apps and Config SFS are not going to be cross-pupplet. Correct?
If this is the case why you want to split apps and configs?
If on the other hand you want it cross-pupplet, how to you ensure that there are not missing/different *required* files among different pupplets or even versions of the same pupplet?

So if we are talking "one specific pupplet", what you want to accomplish is the equivalent of "selective" saving or remastering, but happening in every boot. Correct?
This could be easier accomplished by telling snapmergepuppy, which folders to save and which not with a config file. The problem is that some apps may put configs in places that you miss but I do not know if this can be solved in ay way if a developer ignores the standards.

Am I far off on what (not how) you want to do?

_________________
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 
sunburnt


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

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

Hi mavrothal; You`re correct of course.
But really a set of apps will only work with a truly compatible Linux O.S. If a Puppy is truly Ubuntu Precise compatible, then those apps will all work.
Some cross compatibility is evident between Precise and Slack, but sketchy. AppPkg dirs. are named for the Linux O.S., distro. ver., and arch. of the app.

I didn`t say I wanted to split the apps. and configs. I said that was a problem with separate Save files.

I`m saying, why scatter files all over the O.S.? Put them in the app`s. dir. In fact I`m saying put everything to do with each app. in it`s AppPkg dir.
AppPkg is "no-union" "no-install" apps., so they operate independently from anywhere, HD, USB, LAN, etc. Copy or move it and its all still there.

What you suggest sounds more complex than simply unioning multiple Save files/dirs. To make a new main SFS just append select layers to the existing SFS.
Or if there are changes to the existing SFS file, then you`d make a new one. But this is the legacy Puppy way of doing things, it`s a little cumbersome.

One of the many union problems is the cpu and ram load goes up with each layer. So Barry sought to limit the number of layers for the sake of old PCs.
Union file systems will never be accepted into the kernel`s main code. Union mounts may possibly make it into the kernel`s code, they`re simpler.
Here is an excellent article about unions and their problems: http://lwn.net/Articles/324291/. They really are quite the rats nest of problem patching.

Far better to dump the union FS and design an O.S. that doesn`t need it. AppPkg apps are a critical part of this type of O.S. setup, it doesn`t use a union.
.
Back to top
View user's profile Send private message 
nooby

Joined: 29 Jun 2008
Posts: 10557
Location: SwedenEurope

PostPosted: Sat 09 Mar 2013, 05:33    Post subject:  

sunburnt wrote:
I`m saying, why scatter files all over the O.S.? Put them in the app`s. dir.
In fact I`m saying put everything to do with each app. in it`s AppPkg dir.
AppPkg is "no-union" "no-install" apps., so they operate independently from anywhere, HD, USB, LAN, etc. Copy or move it and its all still there.
...
Far better to dump the union FS and design an O.S. that doesn`t need it.
AppPkg apps are a critical part of this type of O.S. setup,
it doesn`t use a union.
.


Not that I understand any of this but it sounds cool.
Keep at it looks promising.

_________________
I use Google Search on Puppy Forum
not an ideal solution though
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 1602

PostPosted: Sat 09 Mar 2013, 10:43    Post subject:  

sunburnt wrote:

What you suggest sounds more complex than simply unioning multiple Save files/dirs. To make a new main SFS just append select layers to the existing SFS.
Or if there are changes to the existing SFS file, then you`d make a new one. But this is the legacy Puppy way of doing things, it`s a little cumbersome.

Could be, but I do not see why.
Is basically jemimah's idea having a base and an apps sfs taken one step further for additional flexibility.
Let's say base(no X), desktop managers (plus X), apps, or base (plus X) minimal apps, extended apps.
In this scheme , someone could append additional fils to one or more of the SFSs as needed.
However, I do not really think it should be used with 5-50 sfs files placed together in the union both for reasons you mentioned and because without careful splitting/loading you may end up with a broken system.

sunburnt wrote:

Far better to dump the union FS and design an O.S. that doesn`t need it. AppPkg apps are a critical part of this type of O.S. setup, it doesn`t use a union.
.

If you really want to go with the multiple SFSs approach do look at Tinycore (as I mentioned earlier). Besides its traditional TCZs it now has the standalone CMSs. TC has its share of issues but when it comes to having apps in squashed filesystems and loading them as needed, it keeps the best of SDL and is unmatched I believe.

However, is hard to see why puppy's current layered system is "broken" and the need we must cover here, other than easier testing of pupplets as they come out.
Would you give me a "real life use case" that the current puppy system (with 1-3 SFSs) fails?

_________________
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: 1047

PostPosted: Sat 09 Mar 2013, 14:39    Post subject:  

mavrothal wrote:
However, is hard to see why puppy's current layered system is "broken" and the need we must cover here, other than easier testing of pupplets as they come out.
Would you give me a "real life use case" that the current puppy system (with 1-3 SFSs) fails?


I can report my experiences with multiple SFS use...
I routinely use anywhere from 15~19 SFS packages on my lighthouse64 install. And I've been running those numbers for well over a year and not had issue. In the past I've been as low as 10 and as high as 29. I have yet to encounter any issues.

_________________



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


Joined: 24 Aug 2009
Posts: 1602

PostPosted: Sat 09 Mar 2013, 15:08    Post subject:  

Q5sys wrote:
mavrothal wrote:
However, is hard to see why puppy's current layered system is "broken" and the need we must cover here, other than easier testing of pupplets as they come out.
Would you give me a "real life use case" that the current puppy system (with 1-3 SFSs) fails?


I can report my experiences with multiple SFS use...
I routinely use anywhere from 15~19 SFS packages on my lighthouse64 install. And I've been running those numbers for well over a year and not had issue. In the past I've been as low as 10 and as high as 29. I have yet to encounter any issues.

I know this tread is getting long Rolling Eyes but do you load 15-20 SFS on the union in the initrd or with SFS_load/boot manager?
If not, should we then conclude that your statement implies that the current puppy setup (with one main sfs) is just fine?

_________________
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: 1047

PostPosted: Sat 09 Mar 2013, 15:11    Post subject:  

mavrothal wrote:
Q5sys wrote:
mavrothal wrote:
However, is hard to see why puppy's current layered system is "broken" and the need we must cover here, other than easier testing of pupplets as they come out.
Would you give me a "real life use case" that the current puppy system (with 1-3 SFSs) fails?


I can report my experiences with multiple SFS use...
I routinely use anywhere from 15~19 SFS packages on my lighthouse64 install. And I've been running those numbers for well over a year and not had issue. In the past I've been as low as 10 and as high as 29. I have yet to encounter any issues.

I know this tread is getting long Rolling Eyes but do you load 15-20 SFS on the union in the initrd or with SFS_load/boot manager?
If not, should we then conclude that your statement implies that the current puppy setup (with one main sfs) is just fine?


Ah yea... i wasnt specific there. Those SFS packages are loaded with the current SFS bootmanager system.
As for unioning in the inird
Slackbones has 2 SFS files inside the initrd which I have not had issues with.

_________________



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, 15:54    Post subject:  

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.
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 2 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.1286s ][ Queries: 13 (0.0159s) ][ GZIP on ]