Porteus Boot for Puppies

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

Porteus Boot for Puppies

#1 Post by jrb »

jrb wrote:
zagreb999 wrote:regards

great job
can you add porteus boot
as in debiandog

it is much faster!

thanks
Yes, I love porteus boot 8) and have been using it with Puppies for 3 years. The problem is its hard to compare notes with people on the forum when your Puppy is set up so differently. I'll write up a brief description of how to do it and place it in the HowTo section soon.

Cheers, J
OK, Here's the explanation, with learning aids even. I first encountered Porteus boot while using Porteus, what a surprise. I was very impressed. It gave much more control over the boot process than Puppy. SFS's (Squashfs's) were very easy to load and could be anywhere on your drive, just symlinked to the home folder. Changes you wanted to try could be placed in /rootcopy and loaded at boot. You could have save folders (This was before pupsave folders). I tried adapting Porteus initrd.xz to Puppy but it was far above my abilities. Imagine how pleased I was when fredx181 managed it. :D

So, I started adapting Fred's adaption to Puppy. Turned out it wasn't that hard. Good thing too. All it really needed was one symlink. I used it that way for 3 years and then it quit working, for newer Puppies anyway. When upupbb became bionicpup32 changes in /sbin/init killed Porteus boot. So I put the old /sbin/init in the rootcopy folder and viola, Porteus boot was back in business.

I've uploaded the basic home directory. You can download it and place it on your home drive. I have included a sample menu.lst entry which you can copy into your menu.lst. Notice that it has my harddrives UUID. You can get your UUID by using

Code: Select all

blkid
.
I set mine up a little different than Fred. I put my boot files in /base except for initrd.xz. These are just your basic Puppy files, puppy_XXX.sfs, vmlinuz, zdrv_XXX.sfs. Notice that they are symlinked to 001-zdrv-XXX.squashfs, and 002-puppy_XXX.sfs. Porteus loads in numerical order which is quite important. I should mention that if you're going to load a devx.sfs then make that 002 and puppy 003.

There's a good writeup of kernel line options in Examples-boot-codes.txt. Thanks Fred.

Have to go now, my daughter wants to go skiing.

BFN, J
Attachments
PorteusBt1.jpeg
(67.49 KiB) Downloaded 325 times

dancytron
Posts: 1519
Joined: Wed 18 Jul 2012, 19:20

#2 Post by dancytron »

Thanks for this. I'll download it and give it a try today.

Why use symlinks? Is there a reason to not just copy the files where you want them and change their names to put the in the right order?

edit: That was just too easy. Posting from it now.

This is the menu.1st entry that I used, adapted from my usual one with Debian Dog.
title Buster Puppy with porteus

root (hd0,1)
kernel (hd0,1)/PorteusForPuppy/base/vmlinuz from=/PorteusForPuppy sgnfile=0_Test1.sgn changes=EXIT:/PorteusForPuppy/
initrd (hd0,1)/PorteusForPuppy/initrd1.xz
Not sure yet on getting it to save changes and use save folder.
Attachments
Screenshot.png
(attachment is screenshot of /base folder)
(99.23 KiB) Downloaded 106 times

backi
Posts: 1922
Joined: Sun 27 Feb 2011, 22:00
Location: GERMANY

#3 Post by backi »

Hi !

Wow .......quite interesting ......Thumbs up ...!
Wondered why nobody ever came across this idea earlier .
Anyway ....will observe this thread further .

Regards !

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#4 Post by jrb »

dancytron wrote:Why use symlinks? Is there a reason to not just copy the files where you want them and change their names to put the in the right order?

edit: That was just too easy. Posting from it now.
No reason except I usually just symlink my Puppy files over from a normal Puppy folder. They can be anywhere on the drive, don't remember if they will bridge over partitions. Its been awhile.

I'm a firm believer in the KISS principle. :lol:

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

Why so long

#5 Post by jrb »

backi wrote:Hi !

Wow .......quite interesting ......Thumbs up ...!
Wondered why nobody ever came across this idea earlier .
Anyway ....will observe this thread further .

Regards !
I thought about posting this years ago but when you're running Puppy this way its hard to ask about problems you run into or even venture opinions. You don't know if the problem is in the Puppy or in the Porteus. :? Makes life simpler if everyone is on the same page.

dancytron
Posts: 1519
Joined: Wed 18 Jul 2012, 19:20

#6 Post by dancytron »

It reports "pupmode=2", which is full install.

Is that expected or did I do something?

Have you gotten it to work with save changes on exit only to a folder?

zagreb999
Posts: 567
Joined: Fri 11 Apr 2014, 06:39
Location: Yugoslavija

#7 Post by zagreb999 »

hi jrb,
compliments,
thanks!

i use porteus boot by fred
from tazdog_32bit-2018-05-21.iso
it is only 5.5 mb
in live folder i add
sfs of slacko 632-by micko
renamed 01-filesystem.squashfs
plus kernel-squashfs and vmlinuz1

micko's slacko is the best!
it boots in 3 seconds,
quick remaster in 3 sec.-lz4

your precise light can not boot
in this way

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

pupmode=2

#8 Post by jrb »

dancytron wrote:It reports "pupmode=2", which is full install.

Is that expected or did I do something?

Have you gotten it to work with save changes on exit only to a folder?
pupmode=2 seems to be the default. Puppy doesn't seem to understand. I have a long history of not using save files, although I have recently figured out how to make read only save folders, much like rootcopy. Fred explains how to set up a Porteus save folder on the kernel parameter line. If you go that route I'd be interested to hear how it works. I don't think a normal Puppy save will ever work, (famous last words)

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

you're welcome

#9 Post by jrb »

zagreb999 wrote:hi jrb,
compliments,
thanks!

i use porteus boot by fred
from tazdog_32bit-2018-05-21.iso
it is only 5.5 mb
in live folder i add
sfs of slacko 632-by micko
renamed 01-filesystem.squashfs
plus kernel-squashfs and vmlinuz1

micko's slacko is the best!
it boots in 3 seconds,
quick remaster in 3 sec.-lz4

your precise light can not boot
in this way
You're welcome :D

dancytron
Posts: 1519
Joined: Wed 18 Jul 2012, 19:20

#10 Post by dancytron »

It saves it's changes in memory (?) as it goes in a Debian Dog/Porteus kind of way (see screenshot).

I think getting it to save changes for persistence might be as simple as just copying over the scripts that Fred uses to save in DD and using them. The boot up sequence should then stack on the Changes folder at the same time it stacks up the squashfs files when it boots up (assuming it recognizes it).

Or Fred could just tell us how to do it. :D

(edited for clarity)

edit again:

Once Again, way too easy. I ran /usr/bin/snapmergepuppy from Buster Dog and it saved changes to the changes directory and when I rebooted it, my changes were still there. :D
Attachments
Copy of snapmergepuppy.gz
for convenience, the snapmergepuppy scripts from Buster Dog. Remove .gz and use at your own risk etc etc
(7.01 KiB) Downloaded 117 times
Screenshot2.png
(58.16 KiB) Downloaded 275 times
Last edited by dancytron on Mon 13 Jan 2020, 22:01, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#11 Post by rcrsn51 »

Interesting. When I messed around with Fred's mk-initrd script, my sense was that the resulting initrd1.xz was kernel-specific.

But yours is generic?

dancytron
Posts: 1519
Joined: Wed 18 Jul 2012, 19:20

#12 Post by dancytron »

rcrsn51 wrote:Interesting. When I messed around with Fred's mk-initrd script, my sense was that the resulting initrd1.xz was kernel-specific.

But yours is generic?
If that's addressed to me, then I have no idea. I'm just changing parts around and seeing what happens with a momentary highly unusual amount of success.

zagreb999
Posts: 567
Joined: Fri 11 Apr 2014, 06:39
Location: Yugoslavija

#13 Post by zagreb999 »

compliments

fred's tazdog_32bit-2018-05-21.iso
has intrd of only 1mb
http://murga-linux.com/puppy/viewtopic.php?t=113301

it can already boot older puppy distros
as tazpuppy, slacko632...
just add sfs renamed to 01-filesystem.squashfs,
and kernel with suffix squashfs and vmlinuz
but it can not boot newer like slacko 700,
precise light , buster puppy...

my suggestion is to adopt this version of fred
for puppy universal porteus boot...

in that case you can add more squashfs files
in live folder, and use quick remaster-lz4...

also. you can manipulate (increase) ram value...

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#14 Post by jrb »

rcrsn51 wrote:Interesting. When I messed around with Fred's mk-initrd script, my sense was that the resulting initrd1.xz was kernel-specific.

But yours is generic?
I've used several of Fred's initrd's on several different Puppies with several different kernels. They've all worked.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#15 Post by jrb »

zagreb999 wrote:but it can not boot newer like slacko 700,
precise light , buster puppy.
As I mentioned above the trick is to use the older /sbin/init.

dancytron
Posts: 1519
Joined: Wed 18 Jul 2012, 19:20

#16 Post by dancytron »

rcrsn51 wrote:Interesting. When I messed around with Fred's mk-initrd script, my sense was that the resulting initrd1.xz was kernel-specific.

But yours is generic?
Is there something specific we can test to see if there is some conflict related to the kernel version?

I have it set up and working on radky's Buster Puppy.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

Not kernel specifc

#17 Post by jrb »

dancytron wrote:
rcrsn51 wrote:Interesting. When I messed around with Fred's mk-initrd script, my sense was that the resulting initrd1.xz was kernel-specific.

But yours is generic?
Is there something specific we can test to see if there is some conflict related to the kernel version?

I have it set up and working on radky's Buster Puppy.
Not only is it not kernel specific it works for both 32bit and 64bit. I tried just before posting.

dancytron
Posts: 1519
Joined: Wed 18 Jul 2012, 19:20

Re: Not kernel specifc

#18 Post by dancytron »

jrb wrote:
dancytron wrote:
rcrsn51 wrote:Interesting. When I messed around with Fred's mk-initrd script, my sense was that the resulting initrd1.xz was kernel-specific.

But yours is generic?
Is there something specific we can test to see if there is some conflict related to the kernel version?

I have it set up and working on radky's Buster Puppy.
Not only is it not kernel specific it works for both 32bit and 64bit. I tried just before posting.
Now that you mention it, Radky's Buster Puppy is 32bit.

I'll experiment a little more later and see how much of Fred's DD tools and management scripts work. Things that depend on dpkg and apt won't work, but the other stuff might.

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#19 Post by fredx181 »

Hi jrb and everyone,

Nice initiative !
jrb wrote:
rcrsn51 wrote:Interesting. When I messed around with Fred's mk-initrd script, my sense was that the resulting initrd1.xz was kernel-specific.

But yours is generic?
I've used several of Fred's initrd's on several different Puppies with several different kernels. They've all worked.
I didn't test yet, but I think that the reason is that the puppy kernels have so much builtin kernel modules (in vmlinuz)
EDIT: To be honest, I'm really not sure, it could be also because the initrd1.xz contains all required modules, e.g. aufs, squashfs)

Here's some info about construction of the porteus-boot scripts:
If you make such folder structure in "rootcopy" and put the scripts inside, it should work)
Scripts for save on EXIT:
/usr/bin/save2flash
/usr/bin/snapmergepuppy

Shutdown scripts: (will call above when EXIT is specified on kernel boot line) (depend on yad)
/usr/bin/wmpoweroff
/usr/bin/wmreboot

Init scripts (also for save on EXIT, but from console, depend on dialog)
/etc/init.d/snapexit
/usr/local/bin/snap-ex (or named earlier 'snap')

/usr/bin/makepfile.sh (savefile create)

Called from rc.local: (mostly for symlink creation in /live (but /live folder must exist then in the OS, if not, add empty "live" folder in "rootcopy"):
/usr/local/bin/mountlink

Fred

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#20 Post by rcrsn51 »

So the initrd1.xz does indeed contain kernel-specific code? But if the target Puppy doesn't need the code, it will just ignore it?

Post Reply