(OLD) (ARCHIVED) Puppy Linux Discussion Forum Forum Index (OLD) (ARCHIVED) Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info

This forum can also be accessed as http://oldforum.puppylinux.com
It is now read-only and serves only as archives.

Please register over the NEW forum
https://forum.puppylinux.com
and continue your work there. Thank you.

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups    
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Fri 04 Dec 2020, 00:58
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
When should I load xdrv?
Moderators: Flash, Ian, JohnMurga
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic
Page 2 of 4 [48 Posts]   Goto page: Previous 1, 2, 3, 4 Next
Author Message
ozsouth

Joined: 01 Jan 2010
Posts: 862
Location: S.E Australia

PostPosted: Thu 06 Feb 2020, 21:41    Post subject:  

@s243a - thanks for your support & for answering my original query. The typo I made is only my later post entry (I shouldn't rush) - the init.fake.gz I posted up top is correct (so I edited my later mistake).
Back to top
View user's profile Send private message 
ozsouth

Joined: 01 Jan 2010
Posts: 862
Location: S.E Australia

PostPosted: Fri 07 Feb 2020, 00:23    Post subject:  

Ok, this is how enabling xdrv worked for me (try at own risk!):
1. expand initrd.gz (click on it in ROX-Filer) & in /root/initrd-expanded:
2. add folder pup_x
3. edit DISTRO_SPECS (add XDRV line near end)
4. edit init - first line with YDRVSFS should have ydrv ilo adrv. With every reference to a ydrv or Y_BP, add xdrv or X_BP line.
Then:
5. recompress initrd.gz (click on it again in ROX-Filer).
6. edit puppy ... .sfs - add XDRV line near end of /etc/DISTRO_SPECS via updatesfs tool:
http://murga-linux.com/puppy/viewtopic.php?p=1028687#1028687
7. replace old initrd.gz & old puppy ... .sfs & reboot.
Back to top
View user's profile Send private message 
musher0

Joined: 04 Jan 2009
Posts: 15041
Location: Gatineau (Qc), Canada

PostPosted: Fri 07 Feb 2020, 01:20    Post subject:  

s243a wrote:
musher0 wrote:
In any case, a-f-y-z-drv code aside, we need to remember that we can load ANY sfs
by scripting sfs_load, which makes the number of sfs's a Puppy can load near infinite
-- if we need to.


It's good to have both options Smile

Indeed!

Actually, I should qualify that. It's not "near infinite".

It came back to me that former French forum member ASRI_Education did test
manually how many sfs's a Puppy could load, and that number is 123. Although ASRI
was ( still is! ) extremely bright, I thought he had mildly lost it for this experiment, since
he spent days creating over 120 sfs's from scratch for his test. But now we know.

In any case, it makes sense: 128 bits ( through aufs or similar on a 32-bit PC ) minus
5 for the essential sfs's: the puppy_"schmurf"_version-number, the devx, the zdrv and
the pupsave, plus room for one other, maybe Libre|Open|Office = 123.

Puppy could not accommodate the a-f-y drv's at the time.

Since we now have 64-bit Pups, would it be safe to say that aufs or similar would be
able to accommodate a maximum of 251 sfs's in a Pup? ( 256 minus 5 )
I'm afraid I'm not technical enough to come up with the answer, so I'm asking.
TIA for any insight.

A secondary question comes to my mind: could ozsouth generalize his script to all
letters of the alphabet? It would be a done deal, wouldn't it! Very Happy

BFN.

_________________
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
Back to top
View user's profile Send private message 
s243a

Joined: 02 Sep 2014
Posts: 2626

PostPosted: Fri 07 Feb 2020, 03:28    Post subject:  

musher0 wrote:


A secondary question comes to my mind: could ozsouth generalize his script to all
letters of the alphabet? It would be a done deal, wouldn't it! Very Happy

BFN.


One could do that by using the ASCII tables. However, are the puppy layers stacked alphabetically? If not then we would have to perhaps apply a permutation, or an easier way to do it would be to hard code it in the loop:
Code:

for Letter in A B C D E F G ...

_________________
Find me on minds and on pearltrees.
Back to top
View user's profile Send private message Visit poster's website 
O.F.I.N.S.I.S.

Joined: 01 Mar 2020
Posts: 162

PostPosted: Sun 01 Mar 2020, 12:29    Post subject:  

You need to modify shinobar's sfs_load as well for the XDRV or you may get into trouble when loading .sfs files at run time.

I'm running GDRV, MDRV, NDRV and VDRV.
Back to top
View user's profile Send private message 
O.F.I.N.S.I.S.

Joined: 01 Mar 2020
Posts: 162

PostPosted: Sun 01 Mar 2020, 13:10    Post subject:  

In addition to my previous post:

ozsouth wrote:
6. edit puppy ... .sfs

Nope.

You don't need to do that!

Near the bottom end of the init script there's this section:
Code:
cp -af /DISTRO_SPECS /pup_new/initrd/
cp /init* /pup_new/initrd/
chmod -x /pup_new/initrd/init
dmesg > /tmp/dmesg.txt


Just add
Code:
cp -af /DISTRO_SPECS /pup_new/etc/

on top of this section.

No need to edit the base .sfs! Wink

Btw.: this works also that way if one wants to rename the base .sfs to a new name. Just change the related entries in initrd's DISTRO_SPECS and you're done! Wink
Back to top
View user's profile Send private message 
Smithy


Joined: 12 Dec 2011
Posts: 1157

PostPosted: Mon 16 Mar 2020, 18:30    Post subject:  

Tried it and got B,C,D.E and G. No problems or lags or anything as far as I could tell..Difficulty level=7, if you get one letter wrong..Like a crossword, had to use good old rsh editinit, 'cos rox lies, wouldn't sqoosh it back up.
Good job! Things like Wine and java and office stuff.
Back to top
View user's profile Send private message 
ozsouth

Joined: 01 Jan 2010
Posts: 862
Location: S.E Australia

PostPosted: Mon 16 Mar 2020, 22:08    Post subject:  

@Smithy - excellent!
@O.F.I.N.S.I.S. - After thinking this over, Slacko pups should have no problem simply copying the init DISTRO_SPECS to /etc, but Ubuntu based ones apparently need the 2 multiarch entry lines at the end of the puppy... .sfs version of DISTRO_SPECS.
sfs_load is indeed an issue - could edit /usr/sbin/sfs_load, I suppose, but it looks complicated.
As I don't use it, deleting /usr/sbin/sfs_load & /usr/share/applications/SFS_Load.desktop then running fixmenus will solve issue for me. If I make B, C, D & E drives, won't need sfs_load. Alternatively, I could just use sfs_load, as was suggested earlier.
Back to top
View user's profile Send private message 
O.F.I.N.S.I.S.

Joined: 01 Mar 2020
Posts: 162

PostPosted: Tue 17 Mar 2020, 09:31    Post subject:  

ozsouth wrote:
@O.F.I.N.S.I.S. - After thinking this over, Slacko pups should have no problem simply copying the init DISTRO_SPECS to /etc, but Ubuntu based ones apparently need the 2 multiarch entry lines at the end of the puppy... .sfs version of DISTRO_SPECS.

I'm doing this in Ubuntu based Puppy.
So, you might think editing the base .sfs is the better way than to just to copy those two lines from .sfs DISTRO_SPECS to the initrd DISTRO_SPECS - of course only if they are not already inside the initrd DISTRO_SPECS. Which should be the case, if the developer knows his job well enough.

There are many ways are leading to Rome...

_________________
Our Future Is Not Set In Stone
https://www.youtube.com/channel/UCyfyaxCNMduwyXlQFRQKhhQ
https://soundcloud.com/user-633698367
My own build of Bionic64
Back to top
View user's profile Send private message 
Smithy


Joined: 12 Dec 2011
Posts: 1157

PostPosted: Tue 17 Mar 2020, 09:58    Post subject:  

Hi ozsouth, O.F.I.N.S.I.S. I managed to do two initrd.gz files, one was artful and one bionic 1903 32 bits.
In both final cases I didn't touch the etc distrospecs in either the main puppy sfs or the initrd.gz
Just mentioning because these are ubuntu based? Unless there may be problems down the line.
I'll post these sort of templates in case anyone wants to experiment without having to go through the typing!

Code:
#OZSOUTH TEMPLATE
#MAKE SOME EMPTY FOLDERS INSIDE THE EXPANDED INTIRD.GZ LIKE pup_b pup_c pup_d etc.
#These will become the drvs.

[color=red]#ROUND ABOUT LINE 78[/color]

#precaution - if DISTRO_SPECS was not processed by 3builddistro...
[ ! "$DISTRO_ZDRVSFS" ] && DISTRO_ZDRVSFS="zdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_FDRVSFS" ] && DISTRO_FDRVSFS="fdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_ADRVSFS" ] && DISTRO_ADRVSFS="adrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_YDRVSFS" ] && DISTRO_YDRVSFS="ydrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_XDRVSFS" ] && DISTRO_XDRVSFS="xdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_BDRVSFS" ] && DISTRO_BDRVSFS="bdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_CDRVSFS" ] && DISTRO_CDRVSFS="cdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_DDRVSFS" ] && DISTRO_DDRVSFS="ddrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_EDRVSFS" ] && DISTRO_EDRVSFS="edrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_GDRVSFS" ] && DISTRO_GDRVSFS="gdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
[ ! "$DISTRO_PUPPYSFS" ] && DISTRO_PUPPYSFS="puppy_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"

[color=red]#ROUND ABOUT LINE 85[/color]

# filenames specified in DISTRO_SPECS: DISTRO_ZDRVSFS, DISTRO_PUPPYSFS...
Z_DEF_FN="$DISTRO_ZDRVSFS"
F_DEF_FN="$DISTRO_FDRVSFS"
A_DEF_FN="$DISTRO_ADRVSFS"
Y_DEF_FN="$DISTRO_YDRVSFS"
X_DEF_FN="$DISTRO_XDRVSFS"
B_DEF_FN="$DISTRO_BDRVSFS"
C_DEF_FN="$DISTRO_CDRVSFS"
D_DEF_FN="$DISTRO_DDRVSFS"
E_DEF_FN="$DISTRO_EDRVSFS"
G_DEF_FN="$DISTRO_GDRVSFS"
P_DEF_FN="$DISTRO_PUPPYSFS"

[color=red]#ROUND ABOUT LINE 1038[/color]

#have basic system, now try to add optional stuff
find_onepupdrv "$F_PART" "$F_BP_FN" "$F_DEF_FN" "f"
[ "$ONE_FN" ] && FDRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$FDRV" ] && { LOADMSG="fdrv"; setup_onepupdrv "$FDRV" "f"; }

find_onepupdrv "$Z_PART" "$Z_BP_FN" "$Z_DEF_FN" "z"
[ "$ONE_FN" ] && ZDRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$ZDRV" ] && { LOADMSG="zdrv"; setup_onepupdrv "$ZDRV" "z"; }

find_onepupdrv "$Y_PART" "$Y_BP_FN" "$Y_DEF_FN" "y"
[ "$ONE_FN" ] && YDRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$YDRV" ] && { LOADMSG="ydrv"; setup_onepupdrv "$YDRV" "y" "p"; }

find_onepupdrv "$A_PART" "$A_BP_FN" "$A_DEF_FN" "a"
[ "$ONE_FN" ] && ADRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$ADRV" ] && { LOADMSG="adrv"; setup_onepupdrv "$ADRV" "a" "p"; }

find_onepupdrv "$B_PART" "$B_BP_FN" "$B_DEF_FN" "b"
[ "$ONE_FN" ] && BDRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$BDRV" ] && { LOADMSG="bdrv"; setup_onepupdrv "$BDRV" "b" "p"; }

find_onepupdrv "$C_PART" "$C_BP_FN" "$C_DEF_FN" "c"
[ "$ONE_FN" ] && CDRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$CDRV" ] && { LOADMSG="cdrv"; setup_onepupdrv "$CDRV" "c" "p"; }

find_onepupdrv "$D_PART" "$D_BP_FN" "$D_DEF_FN" "d"
[ "$ONE_FN" ] && DDRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$DDRV" ] && { LOADMSG="ddrv"; setup_onepupdrv "$DDRV" "d" "p"; }

find_onepupdrv "$E_PART" "$E_BP_FN" "$E_DEF_FN" "e"
[ "$ONE_FN" ] && EDRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$EDRV" ] && { LOADMSG="edrv"; setup_onepupdrv "$EDRV" "e" "p"; }

find_onepupdrv "$G_PART" "$G_BP_FN" "$G_DEF_FN" "g"
[ "$ONE_FN" ] && GDRV="$ONE_PART,$ONE_FS,$ONE_FN"
[ "$GDRV" ] && { LOADMSG="gdrv"; setup_onepupdrv "$GDRV" "g" "p"; }



[color=red]# TOWARDS THE END OF SCRIPT ROUND ABOUT LINE 1405 ADD O.F.I.N.S.I.S.  cp -af /DISTRO_SPECS /pup_new/etc/
[/color]
fi
cp -af /DISTRO_SPECS /pup_new/etc/
cp -a /DISTRO_SPECS /pup_new/initrd/
cp /init* /pup_new/initrd/
chmod -x /pup_new/initrd/init
dmesg > /tmp/dmesg.txt


###FINISHED EDITING###
Back to top
View user's profile Send private message 
O.F.I.N.S.I.S.

Joined: 01 Mar 2020
Posts: 162

PostPosted: Tue 17 Mar 2020, 14:51    Post subject:  

@Smithy
Yes, this works also if defined only inside of the init script.

BUT: other programs depending on that data (not exclusively the sfs_load) don't include the init script. They simply do:
Code:
. /etc/DISTRO_SPECS

Keep this in mind! Wink

And: since you put it into the init script, why not to put it into the DISTRO_SPECS instead?

It's more save in general to prevent problems that way and it should be exactly the same amount of work.

However, many ways leading to Rome...

_________________
Our Future Is Not Set In Stone
https://www.youtube.com/channel/UCyfyaxCNMduwyXlQFRQKhhQ
https://soundcloud.com/user-633698367
My own build of Bionic64
Back to top
View user's profile Send private message 
Smithy


Joined: 12 Dec 2011
Posts: 1157

PostPosted: Tue 17 Mar 2020, 18:09    Post subject:  

Thanks O.F.I.N.S.I.S.
I will do that. I had a bit of a disaster making a quite complicated jack/qjackctl *.drv
Maybe that had something to do with it. A P.Widgets *.drv was not a problem. I've shoved jack/qjackctl now in the main puppy sfs,
but will give a wine *drv a go at some point, see if that works ok.
I hope that (appian) ways to Rome will be a happy and healthier one towards late Summer.
Back to top
View user's profile Send private message 
nic007


Joined: 13 Nov 2011
Posts: 3444
Location: Cradle of Humankind

PostPosted: Thu 19 Mar 2020, 06:04    Post subject:  

Thanks for the template Smithy. I got this to work for the first time without any issues it seems. Is the order of layer preference (higher in preference level): adrv, xdrv, ydrv, bdrv, cdrv, ddrv, edrv, gdrv, base sfs, zdrv, fdrv?
_________________
nicOS-Utility-Suite
Back to top
View user's profile Send private message 
nic007


Joined: 13 Nov 2011
Posts: 3444
Location: Cradle of Humankind

PostPosted: Thu 19 Mar 2020, 06:17    Post subject:  

s243a wrote:
musher0 wrote:
In any case, a-f-y-z-drv code aside, we need to remember that we can load ANY sfs
by scripting sfs_load, which makes the number of sfs's a Puppy can load near infinite
-- if we need to.


It's good to have both options Smile

It's useful having these extra drives sfs's load on top of the base sfs in order of preference which is not the case when loading extra sfs's on the fly.

_________________
nicOS-Utility-Suite
Back to top
View user's profile Send private message 
Smithy


Joined: 12 Dec 2011
Posts: 1157

PostPosted: Thu 19 Mar 2020, 17:53    Post subject:  

Hi nic, according to ozsouth, the section around 1046:
#have basic system, now try to add optional stuff
The drvs will load up in ascending order.
Maybe a test run of a small text file made into a bunch of *.drvs will show that this works.

I ended up editing the init distrospecs file AS WELL and putting:
#for the partition, path and actual files loaded, see PUPSFS and ZDRV in /etc/rc.d/PUPSTATE
DISTRO_PUPPYSFS='puppy_upupbb_19.03.sfs'
DISTRO_ZDRVSFS='zdrv_upupbb_19.03.sfs'
DISTRO_FDRVSFS='fdrv_upupbb_19.03.sfs'
DISTRO_ADRVSFS='adrv_upupbb_19.03.sfs'
DISTRO_YDRVSFS='ydrv_upupbb_19.03.sfs'
DISTRO_BDRVSFS='bdrv_upupbb_19.03.sfs'
DISTRO_CDRVSFS='cdrv_upupbb_19.03.sfs'
DISTRO_DDRVSFS='ddrv_upupbb_19.03.sfs'
DISTRO_EDRVSFS='edrv_upupbb_19.03.sfs'
DISTRO_GDRVSFS='gdrv_upupbb_19.03.sfs'
DISTRO_XDRVSFS='xdrv_upupbb_19.03.sfs'

I THINK that was what O.F.I.N.S.I.S. meant in his caution?
That could do with clarification, so there's no trouble down the line.

I was also wondering what type of programmes might be calling for distrospecs.
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 2 of 4 [48 Posts]   Goto page: Previous 1, 2, 3, 4 Next
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
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: 2.3252s ][ Queries: 12 (1.9974s) ][ GZIP on ]