Page 1 of 1

How to add or replace a YDRV.SFS

Posted: Sun Mar 07, 2021 10:05 am
by Clarity

I just saw a post by a member offering a fix to an element of a PUP distro in the form of a "ydrv.sfs".

I am curious if one way of taking advantage of a fix of that sort is to merely use "isomaster" to merely add that SFS to the contents of files in the ISO such that the new created ISO, when booted, would find and use the added SFS?

Similarly, on a bootable CD/DVD of a given distro, could I merely use PBurn to add the ydrv.sfs file to the multi-session CD/DVD where it "might" get picked up on the next reboot?

Curious if the booting system would make use of the ydrv.sfs that is an external file to booting payload.


Re: How to add or replace a YDRV.SFS

Posted: Sun Mar 07, 2021 11:38 am
by amethyst

If the ydrv has the correct name of its distribution it should be loaded when you boot the iso because the initrd script will look for all puppy related files. Best to build the new iso with the added files from scratch.


Re: How to add or replace a YDRV.SFS

Posted: Sun Mar 07, 2021 6:14 pm
by bigpup

Similarly, on a bootable CD/DVD of a given distro, could I merely use PBurn to add the ydrv.sfs file to the multi-session CD/DVD where it "might" get picked up on the next reboot?

Try it and see!


Re: How to add or replace a YDRV.SFS

Posted: Sun Mar 07, 2021 7:08 pm
by puppy_apprentice

I've done something similar - i've added devx.sfs to Slacko 5.7 and during boot from CD isolinux gave me CRC error (it was 6/7 years ago so don't remember well).


Re: How to add or replace a YDRV.SFS

Posted: Mon Mar 08, 2021 1:12 pm
by gyrog

To use a "ydrv...sfs":

1. Ensure that the name is correct for the Puppy you are using,
If the 'puppy...sfs' is 'puppy_eslacko64_6.9.9.12.sfs', then the 'ydrv...sfs' should be 'ydrv_eslacko64_6.9.9.12.sfs'.

2. Store it in the "install directory", i.e. where the 'puppy...sfs' resides, even if that is in an ISO, or on a multisession CD/DVD.

3. Boot the Puppy and the 'init' script in 'initrd.gz' will load it, along with any other Puppy standard sfs files.

Hint: Don't overwrite a 'ydrv...sfs' file using the same Puppy that has it loaded.
Edit: Hmm.. need to be more precise:
Usually the ydrv on disk is not loaded, since it is copied to RAM before being loaded. So you can safely overwrite the ydrv on disk.
BUT, if you have booted with a "pfix=nocopy" boot parameter, then the Puppy sfs files have not been copied to RAM, the ydrv on disk is loaded and should not be overwritten. To replace such a ydrv file, simply reboot without "pfix=nocopy", then overwrite the ydrv on disk.