How to switch kernels between Puppy versions

How to do things, solutions, recipes, tutorials
Message
Author
Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#61 Post by Mercedes350se »

Dewbie wrote:(I wouldn't try that combo anyway; too many differences.)
Is there anywhere I could read up on what would need to be done?

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#62 Post by nic007 »

Mercedes350se wrote:
Dewbie wrote:(I wouldn't try that combo anyway; too many differences.)
Is there anywhere I could read up on what would need to be done?
Don't know anything about puppy 3 because I have never used it. I will explain the steps to you as simple as possible but first do the following and let me know the results:
1) Download editsfs.pet and install it on puppy 3. Are you able to install it and make it run from the menu?
2) Whilst in puppy 3, click on puppy 412.sfs file and see if it mounts?
That's all for now, let me know

EDIT: Forget about the above and let's do it on puppy 412 which I am more familiar with:
1) Boot Puppy 412 and install the editsfs.pet. Restart JWM and you should see Editsfs in the menu.
2) Run editsfs. Drag and drop the Puppy 3.sfs file to editsfs and click OK. The next screen will ask you for the location of the conversion which should be in a linux partition or Ramdisk About 1GB should be available to be safe. Choose the location for the conversion (I had a save file with about 1GB free space to use so I selected /root) and click ok.
3) Editsfs will now open the puppy 3.sfs file to edit. There will also be a window which says build, this you select AFTER you had done your editing so leave it open. With the puppy 3.sfs file open, delete the following folders: modules in etc (/etc/modules) ; modules firmware and network folders in lib. Leave sfs open for further editing..
4) Click file on your desktop to open your running filesystem of puppy 412. Click back arrow to get to /. Now copy the above named folders found in the same locations in puppy 412 from 412 to puppy 3.sfs edit file. Make sure it goes to the same locations ie: /etc/modules to /etc/modules and the lib folders to lib. Editing of the puppy 3.sfs is now finished so click build in the window. Editsfs will now rebuild the puppy3.sfs file and place the edited file in the location you have chosen when finished.
5) Your puppy 3.sfs. File now has a 412 kernel. Now rename this file to pup_412xxx.sfs. Xxx being the string you want to attach like pup_412hybrid.sfs For frugal install, place this file together with vmlimuz and initrd of puppy 412 in partition you want to boot from, edit menu1st and see if it works. Good luck

But as the poster has pointed out, there are major differences between puppy series 3 and 4 so will be very surprised if the kernel switch will work in this instance. Why don't you try switching puppy 412 kernel with something later like a Wary Puppy?
Last edited by nic007 on Tue 22 Oct 2013, 07:59, edited 2 times in total.

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#63 Post by Mercedes350se »

nic007 wrote:1) Download editsfs.pet and install it on puppy 3. Are you able to install it and make it run from the menu?
2) Whilst in puppy 3, click on puppy 412.sfs file and see if it mounts?
That's all for now, let me know
............
Why don't you try switching puppy 412 kernel with something later like a Wary Puppy?
The pet installs and seems to run - a window opens and asks for a path to be input or a file to be dragged and dropped..

Putting in the path to the 412.sfs and selecting ramdisk - I have plenty of RAM - I get the message to the effect that the filesystem is 3.1 but only 2.x and 3.0 is supported.
The puppy 412.sfs will not mount by clicking on it either using puppy 3.

I have 5.2.8 installed - do not like it all that much though - but it will not mount either 301 or 412 .sfs'.

It is beginning to look as though I will have to get to like my 4.1.2 install. The reason why I wanted to switch kernels is that I really like 3.01 but it does not support SATA drives which I hope to use in this machine build.

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#64 Post by nic007 »

Mercedes350se wrote:
nic007 wrote:1) Download editsfs.pet and install it on puppy 3. Are you able to install it and make it run from the menu?
2) Whilst in puppy 3, click on puppy 412.sfs file and see if it mounts?
That's all for now, let me know
............
Why don't you try switching puppy 412 kernel with something later like a Wary Puppy?
The pet installs and seems to run - a window opens and asks for a path to be input or a file to be dragged and dropped..

Putting in the path to the 412.sfs and selecting ramdisk - I have plenty of RAM - I get the message to the effect that the filesystem is 3.1 but only 2.x and 3.0 is supported.
The puppy 412.sfs will not mount by clicking on it either using puppy 3.

I have 5.2.8 installed - do not like it all that much though - but it will not mount either 301 or 412 .sfs'.

It is beginning to look as though I will have to get to like my 4.1.2 install. The reason why I wanted to switch kernels is that I really like 3.01 but it does not support SATA drives which I hope to use in this machine build.
Hi, check my above edited post and good luck. Puppy 5 uses squash file system 4 and puppies before Puppy 431 uses squash file system 3 so an sfs file need to be converted either way depending on using an older or newer puppy.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#65 Post by mikeb »

swapping the initrd is not really such a good idea.. and indeed that would cause problems as the init boot script would not work well with puppy 3 plus it uses cpio not rootfs...these initrds are not as portable as they appear.

The better way would be to edit the 3.01 initrd and replace the modules in /lib.... with the ones from puppy 4.12 initrd.

Also rather than edit the whole puppy filesystem why not make an sfs of the new kernel modules from 4 only making sure the sfs is built using puppy 3 for sfs compatibility. It can then be loaded (no bootmanager crap in 3 i think...just match the name) and remastered in later on.

The only other problem that comes to mind is in kernel 2.6.25 and newer ssb is needed for uhci or ohci...ie usb 1 which is crap but you have to live with it so if ssb is not loaded additionally in the initrd usb1 won't work....this of course conflicts with such as the broadcom sta wifi driver. (one reason I went to a slax kernel plus that also give SMP and SATA with EIDE support)

breasts

mike

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#66 Post by nic007 »

mikeb wrote:swapping the initrd is not really such a good idea.. and indeed that would cause problems as the init boot script would not work well with puppy 3 plus it uses cpio not rootfs...these initrds are not as portable as they appear.

The better way would be to edit the 3.01 initrd and replace the modules in /lib.... with the ones from puppy 4.12 initrd.

Also rather than edit the whole puppy filesystem why not make an sfs of the new kernel modules from 4 only making sure the sfs is built using puppy 3 for sfs compatibility. It can then be loaded (no bootmanager crap in 3 i think...just match the name) and remastered in later on.

The only other problem that comes to mind is in kernel 2.6.25 and newer ssb is needed for uhci or ohci...ie usb 1 which is crap but you have to live with it so if ssb is not loaded additionally in the initrd usb1 won't work....this of course conflicts with such as the broadcom sta wifi driver. (one reason I went to a slax kernel plus that also give SMP and SATA with EIDE support)

breasts

mike
If one is running puppy 412 already it would be non-sensical to make an sfs of the necessary 412 files as it can just be copied from the running system to the puppy3 file being edited. Also, editsfs2 will convert the 3.0 sfs to 3.1 automatically so the switched 412 kernel should boot unless there are other issues because of the major difference between puppy 3 and puppy 4.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#67 Post by mikeb »

My point was not to edit the 3.12 sfs at all.... an add on sfs of only the modules would be a simpler less intrusive way of testing in case of failure. And yes the initrd differences are likely to cause a bit of a problem...hence the suggestion to transfer modules into the 3.12 initrd.
As you point out 4.12 would at least have no sfs version problem in this scenario so building on that would make sense.
I try to follow the simplest most likely to work route and I saw some pitfalls on this one... I actually used the puppy 2 wrappers in puppy 4 and dispensed with the cpio approach so it gave me some insight into the changes that happened. Puppy 5 changes again as modprobe is used rather than insmod so needing the modalias etc /lib arrangement.

Actually in all my previous kernel swaps I rebuild the initrd first.... it will boot this way.... tweak anything that needs tweaking--usually amounts to adding or removing the odd modprobe/insmod...and after that add the main sfs modules... in fact that could be done by copying to the file system so effectively they would be in the save file and forget sfs handling altogether..... finally delete the old modules and remaster.

all fun stuff

mike

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#68 Post by Mercedes350se »

nic007 wrote:2) Run editsfs. Drag and drop the Puppy 3.sfs file to editsfs and click OK. The next screen will ask you for the location of the conversion which should be in a linux partition or Ramdisk About 1GB should be available to be safe. Choose the location for the conversion (I had a save file with about 1GB free space to use so I selected /root) and click ok.
3) Editsfs will now open the puppy 3.sfs file to edit. There will also be a window which says build, this you select AFTER you had done your editing so leave it open. With the puppy 3.sfs file open, delete the following folders: modules in etc (/etc/modules) ; modules firmware and network folders in lib. Leave sfs open for further editing..
There is the additional complication in that 3.01 not only has a pup_301.sfs but also has a zdrv_301.sfs.

For information:

pup_301.sfs:

has no /etc/modules
has /lib/modules, /lib/firmware and /lib/keymaps

and zdrv_301.sfs:

has no /etc/modules
has /lib/modules and /lib/firmware

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#69 Post by nic007 »

Mercedes350se wrote:
nic007 wrote:2) Run editsfs. Drag and drop the Puppy 3.sfs file to editsfs and click OK. The next screen will ask you for the location of the conversion which should be in a linux partition or Ramdisk About 1GB should be available to be safe. Choose the location for the conversion (I had a save file with about 1GB free space to use so I selected /root) and click ok.
3) Editsfs will now open the puppy 3.sfs file to edit. There will also be a window which says build, this you select AFTER you had done your editing so leave it open. With the puppy 3.sfs file open, delete the following folders: modules in etc (/etc/modules) ; modules firmware and network folders in lib. Leave sfs open for further editing..
There is the additional complication in that 3.01 not only has a pup_301.sfs but also has a zdrv_301.sfs.

For information:

pup_301.sfs:

has no /etc/modules
has /lib/modules, /lib/firmware and /lib/keymaps

and zdrv_301.sfs:

has no /etc/modules
has /lib/modules and /lib/firmware
Oh dear, that will be too much for me then. Puppy 412 is a good puppy to have if everything is working for you. My day to day puppy is a customized version of 412. I basically added java and wine and removed the office and printing stuff..and jazzed it up with later puppy themes. I experimented by doing a kernel switch with Wary Puppy 5.3 and it works but not really much use to me as everything is working on my original customized version of Puppy 412 anyhow. Evenso, still not a bad switch to make as the newer kernel increased the size of the base sfs file by a mere 13mb.

User avatar
James C
Posts: 6618
Joined: Thu 26 Mar 2009, 05:12
Location: Kentucky

#70 Post by James C »

Mercedes350se wrote: It is beginning to look as though I will have to get to like my 4.1.2 install. The reason why I wanted to switch kernels is that I really like 3.01 but it does not support SATA drives which I hope to use in this machine build.
Unsure which version of 3.01 you're using but I'm posting this from 3.01 (not retro) booting from a sata dvd drive and it does recognize (and mount) my sata hard drive as well.Seeing the swap so it's obviously seeing the drive.

Code: Select all

# free
              total         used         free       shared      buffers
  Mem:      3370104       355408      3014696            0        38068
 Swap:      6211576            0      6211576
Total:      9581680       355408      9226272
# 
Anyway,just for informational purposes....... 3.01 is k-2.6.21.7..... 3.01 Retro is k-2.6.18.1...while 4.12 is k-2.6.25.16...and 4.12 Retro is k-2.6.21.7.

Instead of swapping kernels you might be able to use.....
http://distro.ibiblio.org/puppylinux/pu ... monkey.iso

and access sata drives while still using 3.01.No problems with sata here.Gave me a good excuse to try 3.01 on some newer hardware....works well. :)
HTH.
Attachments
sata drives.jpg
(71.96 KiB) Downloaded 605 times
puppy 301.jpg
(11.01 KiB) Downloaded 585 times

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#71 Post by mikeb »

some sata interfaces (intel does here) will work with older puppy kernels ... on an atom idx board it works with puppy 2.12. Our netbook is VIA sata and it will not. I guess Intel made their sata ide like......its not as if I set anything in the bios to make it work.

If you change to the 4.12 kernel the 3.01 zdrv would not be needed for kernel modules though it may have some obscure xorg drivers in there. 4.12 did not have a zdrv (all cheer :D )

Ok it would be quicker if i just did the conversion for you :D but that would not be such fun

mike

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#72 Post by Mercedes350se »

James C wrote:Unsure which version of 3.01 you're using but I'm posting this from 3.01 (not retro) booting from a sata dvd drive and it does recognize (and mount) my sata hard drive as well.Seeing the swap so it's obviously seeing the drive.

Anyway,just for informational purposes....... 3.01 is k-2.6.21.7..... 3.01 Retro is k-2.6.18.1...while 4.12 is k-2.6.25.16...and 4.12 Retro is k-2.6.21.7.
The 3.01 I am using is kernel 2.6.21.7 and it definitely will not support SATA drives.
mikeb wrote:Ok it would be quicker if i just did the conversion for you :D but that would not be such fun
Agreed. I will sneak up on it.

EDIT: A little while later and I am posting using 3.01 with the 4.1.2 kernel.

I would post a screen shot of hardinfo - a quick how to?

I am not sure what I am in for - so far I had to load the module so I could connect to the 'net ...

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#73 Post by mikeb »

uname -a would list kernel info

lsmod would show what modules have loaded.
Guess the burning question is what approach did you use in the end?
Screenshot..erm mtpaint or something in the menu?(I am a gimp chimp)

to show up keep below 600px wide and size is limited to 250k I believe but don't quote me.

modules not loading might be down to the init differences mentioned earlier but hard to say at this point.

mike

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#74 Post by Mercedes350se »

My joy was short lived. Boot up today stalled at "Loading kernel modules ..."

Oh well, it was good while it lasted!

User avatar
James C
Posts: 6618
Joined: Thu 26 Mar 2009, 05:12
Location: Kentucky

#75 Post by James C »

Had a little free time.....Puppy 3.01 with a Puppy 4.12 kernel.Since these old versions don't have /etc/DISTRO SPECS/ I changed the sfs from pup_301.sfs to pup_412.sfs and it appears to boot fine (the initrd.gz hunts for the 412 sfs).

Need to reboot a few times to see if any problems occur.If it works normally I can upload it........ Unseasonably cold night and I was bored. :)
Attachments
Nice wallpaper.jpg
(46.26 KiB) Downloaded 460 times
Puppy 3.01 k-2.6.25.16.jpg
(19.51 KiB) Downloaded 455 times

User avatar
James C
Posts: 6618
Joined: Thu 26 Mar 2009, 05:12
Location: Kentucky

#76 Post by James C »

You can tell I haven't used 3.01 in a while........ forgot about the first run wallpaper.
Rebooted and everything appears to have saved including the internet connection.Hadn't seen Netsurf in a while either. :lol:

Code: Select all

# uname -a
Linux puppypc 2.6.25.16 #1 Tue Aug 26 10:45:53 GMT-8 2008 i686 AMD Athlon(tm) XP 2400+ AuthenticAMD GNU/Linux
# free
              total         used         free       shared      buffers
  Mem:      1035420       360432       674988            0        31736
 Swap:      1228932            0      1228932
Total:      2264352       360432      1903920
# 
EDIT:
First bug...... Pmount not working but MUT is working fine.
Attachments
after reboot.jpg
(23.11 KiB) Downloaded 850 times

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#77 Post by Mercedes350se »

James C wrote:Had a little free time..... I changed the sfs from pup_301.sfs to pup_412.sfs and it appears to boot fine (the initrd.gz hunts for the 412 sfs)
What did you do about the zdrv_301.sfs?

Which vmlinuz and initrd.gz?

User avatar
James C
Posts: 6618
Joined: Thu 26 Mar 2009, 05:12
Location: Kentucky

#78 Post by James C »

Mercedes350se wrote:
James C wrote:Had a little free time..... I changed the sfs from pup_301.sfs to pup_412.sfs and it appears to boot fine (the initrd.gz hunts for the 412 sfs)
What did you do about the zdrv_301.sfs?

Which vmlinuz and initrd.gz?
Quick answer...... not using it.Only using the main sfs.

The unchanged vmlinuz and initrd.gz from Puppy 412..

Unsquashed the 301 sfs, and copied in /etc/modules/ from 412 (instead of using the zdrv) then deleted /lib/modules/ and /lib/firmware/ from the 301 sfs and copied in /lib/modules/ and lib/firmware/ from 412. Resquashed the 301 sfs and used it and the vmlinuz and initrd.gz from 412 to do a quick frugal install.
Probably could get it to work without renaming the sfs but I just did it the quick way. :)

EDIT:
Almost forgot...... while the sfs is unsquashed edit /etc/puppyversion/ to "412" instead of "301". This version shows as 412 but its still 301 just with the newer kernel..... posting from it now.

User avatar
James C
Posts: 6618
Joined: Thu 26 Mar 2009, 05:12
Location: Kentucky

#79 Post by James C »

Did a little more hacking around and I now have a version working still using a pup_301.sfs. Other than Pmount not working (Mut still works fine) everything else looks good.
Still no zdrv...... :lol:
Attachments
frugal install.jpg
(23.89 KiB) Downloaded 720 times
Puppy 301.jpg
(31.11 KiB) Downloaded 739 times

User avatar
James C
Posts: 6618
Joined: Thu 26 Mar 2009, 05:12
Location: Kentucky

#80 Post by James C »

For the version without renaming the sfs....
Unsquashed the 301 sfs, and copied in /etc/modules/ from 412 (instead of using the zdrv) then deleted /lib/modules/ and /lib/firmware/ from the 301 sfs and copied in /lib/modules/ and lib/firmware/ from 412.
Open the initrd.gz from Puppy 412 and replace the file "puppyversion" with the one from 301.Rebuild the initrd.gz.
Resquashed the 301 sfs and used it and the vmlinuz and initrd.gz from 412 to do a quick frugal install.
This works without renaming the pup_301.sfs.

EDIT:

I went ahead and uploaded pup 301-k-2.6.25.16.iso .......if interested I'll supply the link.

Post Reply