I want to thank everybody that helped in coming out with this solution, especially Pizzasgood, Darkerror05, Dougal, and MU

Who this is for? Why I did it.

If you run puppy off your hard drive and use a puppy save file.

Pupmode 13 is the one used by USB drives. The advantage of forcing your hard drive to behave in the same manner is that a) it decreases writes and b) if you have a loud hard drive like mine, its a LOT quieter as it only flushes the cache/new files every 30 minutes. In this mode, the system will try to use every last bit of ram first before writing accessing the drive (I think)

This will disable your swap drive as well; which is good from my standpoint as the memory/swap drive increases access to the Hard drive = noise.

The tradeoff is that if your computer crashes in that time period, you're SOL with respect to new data.

The default mode for hard drive running is PUPMODE=12. In this mode, all writes are immediately passed through onto the save file image. Thus, there will be frequent writes as you keep modifying data/develop temp files, etc...

How-to

The parameter to edit is located in a boot-up script locked inside the compressed file initrd.gz
Unfortunately, there is no way you can directly edit this. Instead, you will have to uncompress this file, mount it in a temporary location, and then recompress it to get it to work.

Before you start

1) backup initrd.gz. This file is located in your initially mounted drive.

2) You will need to run the following commands to edit the init shell file. You can run this from a terminal -> xterm, etc...

The following commands will uncompress initrd.gz, mount it in a temporary location, run leafpad text editor so you can make the changes, and then recompress initrd.gz for you

That's it in a nutshell. Now reboot and your puppy works in mode 13. I can see this as a method for forcing other PUPMODES but since I haven't analyzed all the other failpoints, you might want to check it out yourself.

EXTRAs

If you want your hard-drive to power down quickly after this is all done, you can edit 1 more startup script to add the following commands. This can be done without fancy initrd.gz work.

Open up a text editor and open the file

/etc/rc.d/rc.local

add the following commands at the end. You will have to change the command to specify the correct hard drive.

Code:

swapoff -a
hdparm -S3 /dev/hda
hdparm -y /dev/hda

These 3 commands will
- turn off all swap files
- set your hard drive to spin-down into standby mode after 15 seconds. S1=5sec, S2=10sec S3=15 sec, you get the picture.
- put your hard drive into standby mode immediately.

Also note, every thirty minutes, Puppy will start copying everything you've done. That means it runs nice the rest of the time, but you might experience slowdown when it copies everything that accumulated in one burst._________________Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib

No! PMEDIA=ataflash does not do that with the version I am running (4.2.1)
Here's my GRUB lines:

kernel /vmlinuz PMEDIA=ataflash
initrd /initrd.gz

But there's no "Save" icon on my desktop and no save is made when shutting down and (most importantly) my CF drive is trashed if I suddenly remove power. This is vital because once I get my application deployed, the customers will be pulling power all the time as their preferred shutdown method (it's an industrial deployment). Puppy must protect my CF, which means PUPMODE=13 is a must.

I think version 4.2.1 has this bug, but newer versions I have tried fail to initialise my SBC's serial port, which I am using to communicate with an industrial controller.

If you helpful guys could point me in the right direction so I can start editing my init script, I'd appreciate that. Pizzagood's method doesn't work for me.

All done. Basically, I have been looking for an alternative to Windows Embedded and I found Puppy. Puppy 5x worked well and I was impressed until I discovered that my application could not read or write the serial port of my SBC. I finally settled on 4.2.1 and remastered it. Then my customers decided they wanted window transparencies so I needed a composing WM (JWM is not composing).
I am now experimenting with Succi Puppy which uses xcfe as it's WM, which is compositing. My app now has transparent-capabilities but I have a Portugese initrd, and also the PUPMODE 13 bug.

So thanks for that script - I am now running in PUPMODE 13.
Now to un-translate all that Portugese... Ta again.

Sylvander, the original post was in 2006, probably for Puppy 2.x series. The instruction is now longer valid - Puppy has since changed the format of initrd.gz (from ramdisk format, to initramfs format)._________________Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread.

Is it no longer possible to run a HDD pupsave as if it were a Flash Drive pupsave?

If it IS still possible...
Does anyone know how to do it?
[Without using GRUB, or making a locked-down installation]

I want to be able to choose whether/when to save the [pupsave on HDD] session, either during the session or at shut-down.
Just like I do when the pupsave is on a Flash Drive.

Have you tried pmedia=ataflash I suggested above? If you are running from CD-RW - you should be able to see the boot menu, you can just type "puppy pmedia=ataflash" during boot-up. Then follow Jasper's suggestion._________________Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread.

(b) I believe that in order to apply these when the pupsave is on a HDD, I need to be able to make the Puppy [using a pupsave on a HDD] behave as though it were a Puppy using a pupsave on a Flash Drive.
That would be an elegant solution.
Your other 2 suggestions are inelegant solutions I don't fancy using.

@jamesbond
2. "If you want to force puppy to run in PUPMODE=13 all you need to do is specify pmedia=ataflash on your boot command line. No initrd hacking is required."
(a) Where is this "boot command line"?
Remember I'm using a "live" Puppy CD-RW.
Wouldn't want to be forced to type a command at EVERY boot.
Is it possible to include it within one of the files on the CD?
i.e. Alter a line of code within a file in the ISO used to make the CD?

It is easy to test if Step 1 works on your hard drive by making an insignificant and unimportant change, and then using either Step 2a or Step 2b (ignoring elegance for a one-off trial). Then rebooting.

My regards

With MultiPup I'm pretty sure CatDude explained to us (you and me) how to change both the choices and sequence of the initial boot parameters; but (though I tried It) I can't retest that as my CD/DVD facilities are now kaput.

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