Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Sat 15 Dec 2018, 23:42
All times are UTC - 4
 Forum index » House Training » HOWTO ( Solutions )
How to switch kernels between Puppy versions
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 10 of 10 [147 Posts]   Goto page: Previous 1, 2, 3, ..., 8, 9, 10
Author Message
Pelo

Joined: 10 Sep 2011
Posts: 12591
Location: Mer méditerrannée (1 kms°)

PostPosted: Tue 26 Apr 2016, 04:10    Post subject: For Mikeslr, who needs to remasterize its lovely Teenpup,  

For Mikeslr, who needs to remasterized its lovely Teenpup, to get wired.
Newbies get successful results, because they apply the process, simply, without asking questions ! They don't presume any problem.
Few years ago, i missed to be condemned to the flames of the pyre because i changed the kernel of Wolx2014 to get wireless working.
Teenpup3025.jpg
 Description   Proof of success by a newbie.
 Filesize   71.84 KB
 Viewed   1098 Time(s)

Teenpup3025.jpg


_________________
Passenger Pelo ! don't ask him to repair the aircraft. Don't use him as a demining dog .... pleeease.

Last edited by Pelo on Fri 04 Aug 2017, 23:35; edited 2 times in total
Back to top
View user's profile Send private message Yahoo Messenger 
mikeslr


Joined: 16 Jun 2008
Posts: 2845
Location: 500 seconds from Sol

PostPosted: Wed 02 Aug 2017, 12:12    Post subject: Using Hugh Kernels with Older Puppies.  

Hi All,

The original objective was to use a new kernel with Slacko 5.7. http://murga-linux.com/puppy/viewtopic.php?p=962831#962831. But 5.7 wasn't published with a separate zdrv. Newer kernel packages contain vmlinuz --the kernel-- and a modules-sfs containing the drivers compiled to work with that kernel which, before use is renamed to zdrv_WHICHEVER PUPPY+VERSION you intend to use. But separating out Slacko 5.7's 'zdrv' so that it could be replaced appeared to entail a lot of work for questionable results.

Edit in response to nic007's post below: He is, of course, correct. If you read the above thread, I was thinking Woofy as, in addition to remaster, changing kernels was an objective. There were reports on the Woofy thread of problems with Slacko. In looking for a solution to those problem, I overlooked the obvious: use Slacko 5.7's builtin remaster to separate zdrv. Embarassed

Fortunately, rg66 had already and successfully done that hard work in creating a version of xslacko based on either slacko 5.6 or 5.7. So, it occurred to me to use xslacko instead. http://murga-linux.com/puppy/viewtopic.php?p=962784#962784 I report regarding the functional Franken-xslacko on page following the cited post.

mikesLr

Last edited by mikeslr on Wed 02 Aug 2017, 20:51; edited 1 time in total
Back to top
View user's profile Send private message 
nic007


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

PostPosted: Wed 02 Aug 2017, 14:53    Post subject: Re: Using Hugh Kernels with Older Puppies.  

mikeslr wrote:
Hi All,

The original objective was to use a new kernel with Slacko 5.7. http://murga-linux.com/puppy/viewtopic.php?p=962831#962831. But 5.7 wasn't published with a separate zdrv. Newer kernel packages contain vmlinuz --the kernel-- and a modules-sfs containing the drivers compiled to work with that kernel which, before use is renamed to zdrv_WHICHEVER PUPPY+VERSION you intend to use. But separating out Slacko 5.7's 'zdrv' so that it could be replaced appeared to entail a lot of work for questionable results.

Fortunately, rg66 had already and successfully done that hard work in creating a version of xslacko based on either slacko 5.6 or 5.7. So, it occurred to me to use xslacko instead. http://murga-linux.com/puppy/viewtopic.php?p=962784#962784 I report regarding the functional Franken-xslacko on page following the cited post.

mikesLr


Puppys builtin remasterscript can create a seperate zdrv if you choose to do so (handy if your puppy didn't come with a zdrv). Whether that created zdrv can be swapped with another I have not tested.
Back to top
View user's profile Send private message 
Pelo

Joined: 10 Sep 2011
Posts: 12591
Location: Mer méditerrannée (1 kms°)

PostPosted: Tue 12 Sep 2017, 06:46    Post subject: Zdrv cannot be changed with another unless ...  

Zdrv cannot be changed with another if it contains kernel modules. It has to be the same kernel as shown in distrospecs. you must change distrospecs to fit kernel. Distrospecs is in initrd, usually
_________________
Passenger Pelo ! don't ask him to repair the aircraft. Don't use him as a demining dog .... pleeease.
Back to top
View user's profile Send private message Yahoo Messenger 
mikeslr


Joined: 16 Jun 2008
Posts: 2845
Location: 500 seconds from Sol

PostPosted: Fri 14 Sep 2018, 11:42    Post subject: Easily Switch Kernels in Recent Puppies  

Just a link to the application rcrsn51 posted,http://www.murga-linux.com/puppy/viewtopic.php?p=1004533#1004533.
Back to top
View user's profile Send private message 
mikeslr


Joined: 16 Jun 2008
Posts: 2845
Location: 500 seconds from Sol

PostPosted: Wed 05 Dec 2018, 20:50    Post subject: Old and New Vmlinuz aren't exchangeable  

Hi All,

By now it’s fairly common knowledge that because of the modular approach to how Puppies are constructed it is easy, even manually, to Upgrade (or if you wanted, Downgrade) a Puppy’s kernel:

Essentially, changing kernels involves obtaining the kernel and zdrv.sfs (and sometimes an fdrv.sfs) that you want, renaming those to be exactly like the current files and substituting the desired one for those currently being used. For example, to replace the kernel currently in Tahrpup 6.0.5 with the kernel from the Lx-Pup-16.07.1-s-pae-uefi.iso, you could mount that latter's ISO, copy its vmlinuz and zdrv_ lxpup-16.07.1.sfs, rename the latter to zdrv_tahr_6.0.5.sfs, substitute these for the ones from the ISO and I think add an fdrv.sfs renamed fdrv_tahr_6.0.5.sfs. [Firmware is not kernel-specific so some Devs provide a fdrv.sfs usable in all Puppies, while others include firmware as well as drivers in zdrv.sfs.]

But at some point in the development of Puppies there was a substantial change in the contents to the vmlinuz module*. They even appear different when viewed in rox. See Attached screenshot. I attempted to upgrade the kernels of Carolina, Lupu and Precise and none would boot* to desktop, each reporting some problem (I think relating to x or /etc) before failing. Perhaps the change came about the time Slacko 5.7 was originally published. Slacko 5.7 is able to use new kernels. But a reading of the 5.7 release notes on 01micko’s blog suggests that upgrades from 5.6 (and previous) to 5.7 were possible.

It’s still possible to easily create a “Frankenpuppy”: change the name and substitute the Puppy_XXX_Number.sfs for that of a Puppy which employed the new-style vmlinuz. But in such Frankenpuppy Puppy Package Manager points to the wrong repositories and the SaveFile created bears the wrong name and won’t be used**. The name of the SaveFile probably could be manually changed and it is also be possible to edit the list of repositories. But there may be other, more subtle, problems. And, if nothing else, the procedure to enable the use of an 'old' Puppy’s applications with a new kernel can’t be said to be easy.

* and ** These suggest that accompanying the change in vmlinuz there were corresponding changes in both initrd and Puppy_Version_Number.sfs.
Differing vmlinuz's.png
 Description   Lupu and Xenialpup vmlinuz's
 Filesize   23.13 KB
 Viewed   254 Time(s)

Differing vmlinuz's.png

Back to top
View user's profile Send private message 
PipzDex

Joined: 24 Nov 2018
Posts: 3

PostPosted: Thu 06 Dec 2018, 04:42    Post subject: changing kernels  

hi mikeslr
nice to meet you
about this i'm using a script from woofce "change_kernels.sh" in this version of puppy
>>>puppy night lxde 0.0.3, base precise, from josejp2424<<<
and works without problems, originally was kernel 3.14.20 and with little knowledge and intuition i switch to kernel 4.4.95 used by xenial.
this is the way i made it...
Screenshot_2018-12-06_010056.jpg
Description  actual screenshot
jpg

 Download 
Filename  Screenshot_2018-12-06_010056.jpg 
Filesize  116.14 KB 
Downloaded  14 Time(s) 
Back to top
View user's profile Send private message 
mikeslr


Joined: 16 Jun 2008
Posts: 2845
Location: 500 seconds from Sol

PostPosted: Thu 06 Dec 2018, 12:41    Post subject: change_kernels.sh  

Hi PipzDex,

Nice to meet you as well. I'm happy to learn that you were able to update precise's kernel to one built recently. I was unaware of the change_kernel.sh script you obtained from woofce. The only script, bearing a similar name, I knew about was one 01micko developed several years ago. That script merely automated the name-changing process otherwise done manually. It would seem that the woofce does more.

Would it be possible to provide a link to the webpage where you obtained the script? Or, attach a copy of the one your screenshot revealed in your possession. If the latter, add a false ".gz" ending so that it can be uploaded as an attachment.

Thanks.

PS. puppy night lxde 0.0.3, base precise you referred to employs the 'new style' vmlinuz; or at least the one I found here does: http://www.murga-linux.com/puppy/viewtopic.php?p=797683#797683. Interesting. Published in 2014 but with a vmlinuz to which rox assigns the new emblem.

Puppy Linux is fortunate to have attracted josejp2424's attention. Several of his creations have included things not common to Puppies.

Wish I knew 50 years ago what I know now. Almost daily I regret not taking the time/making the effort to learn another language. My advice to anyone with children: In the Global Village people who are limited to one language will most often be a step behind, google-translate notwithstanding.
Back to top
View user's profile Send private message 
mostly_lurking

Joined: 25 Jun 2014
Posts: 285

PostPosted: Thu 06 Dec 2018, 18:18    Post subject:  

mikeslr wrote:
But at some point in the development of Puppies there was a substantial change in the contents to the vmlinuz module*. They even appear different when viewed in rox. See Attached screenshot. I attempted to upgrade the kernels of Carolina, Lupu and Precise and none would boot* to desktop, each reporting some problem (I think relating to x or /etc) before failing.

Newer Puppies have all of their kernel/driver stuff stored in vmlinuz and zdrv.sfs, as far as I can tell, so that they can easily be replaced. With older systems, the modules tend to be scattered over several places - the main SFS, the zdrv (if it exists) and the initrd, so just swapping out vmlinuz and zdrv.sfs (like the kernel-changing script that you mentioned does) probably won't work.

I've tried a slightly different method from the one used in the original post to replace the kernel from Wary 5.1.2 with the one from Lucid 5.2.8.7. I've swapped out vmlinuz and the modules in the main SFS as described there (no zdrv involved here), but instead of using the initrd and bootloader stuff from Lucid, I kept the ones from the Wary ISO and just replaced the modules in its initrd with Lucid's. Since I only replaced the drivers and not the whole initrd, there was no need to mess with any DISTRO_SPECS files, although I guess you could edit the DISTRO_KERNEL_PET string inside them to point to the package for the new kernel.

The resulting system still identifies as the original Wary Puppy, just with a different kernel (check the kernel version with uname -r), and creates a savefile of the correct name. It also still uses Wary's repository. (The caveat here is that kernel-dependent packages like drivers from that repo won't be compatible with the system anymore.)

If I want to do any compiling on it, I guess I have to use the donor's (Lucid's) kernel sources, but the original Puppy's (Wary's) devx which is compatible with the system files and application layer.

------------

Here are the steps for creating this kind of "Frankenpup" with older Puppies that aren't set up for easy kernel-swapping:

1. (Possibly optional) Get the ID string from your Puppy's main SFS. (See the paragraph with the quote below. I didn't do the ID string stuff, and it doesn't seem to matter for Wary, but I don't know if other Puppies are more sensitive there.)

2. Replace /etc/modules, /lib/modules, and /lib/firmware in your Puppy's main SFS with the ones from the kernel donor's main SFS.

This can be done using Edit-SFS, which is also mentioned in the first post of this thread, if the SFS file is of a format that this program can handle.

Alternatively, you can also mount the SFS, copy its contents into a directory, make your changes in there and then create a new SFS with this command:
Code:
mksquashfs /your/directory /your/new/main.sfs


3. Replace the original vmlinuz with the donor's.

4. Remove the zdrv.sfs, if there is one. Replace it with the one from the donor, if that one has a zdrv. (Neither of my systems had one, so I omitted this step.)

5. (Possibly optional) Append the ID string of your original Puppy to the new vmlinuz and zdrv.sfs files (see quote below).

6. Replace /lib/modules in the initrd.gz with the one from the donor's initrd (there don't seem to be any /etc/modules and /lib/firmware directories).

The initrd.gz can be extracted and recreated with the Open_initrd.sh and Rebuild_initrd.sh scripts from 0_pupbuild_tools_2.tar.gz (Link taken from the thread's first post. Extract the archive, copy the donor's initrd.gz into its "initrd-tree" folder, run Open_initrd.sh, then copy the /lib/modules folder out of initrd-tree. Delete the content of initrd-tree, put the original Puppy's initrd.gz into it, and run Open_initrd.sh again, then replace /lib/modules inside initrd-tree with the one you previously copied. Run Rebuild_initrd.sh to create the new initrd.gz.)

If you don't want to download a bunch of scripts, you can instead put the initrd.gz (which is a gzip-compressed cpio archive) into an empty directory and extract it with the following command:
Code:
gunzip ./initrd.gz && cpio -id < ./initrd

The "initrd" file itself will still be somewhere in there; remove it.

And to recreate it (it will be placed one directory higher):
Code:
find . | cpio --create --format='newc' > ../initrd && gzip ../initrd


7. (Optional) Create a new ISO file. The above-mentioned pupbuild_tools package includes the make_boot_iso script, which uses this command for creating the ISO:
Code:
mkisofs -D -R -o ./myiso.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./iso_files/

Put the content of your original Puppy's ISO into pupbuild_tools' "iso_files" folder (or any empty folder if you aren't using that script) - replacing the original vmlinuz, initrd.gz, and any SFS files with the new ones, of course - and run the script (or the command from a terminal).

Side note: It might be possible to create a UEFI-bootable ISO by using the boot files from a UEFI-enabled Puppy's ISO and assembling the new ISO with the following command instead of the one above, taken from Xenialpup 7.5's remasterpup2 script:
Code:
mkisofs -iso-level 4 -D -R -o ./myiso.iso -b isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -eltorito-platform efi -b efi.img -no-emul-boot ./iso_files/

I haven't tested it though - I have no UEFI-capable computer. It doesn't seem to work with some older Puppies' mkisofs utility.
(I've mentioned this here before, but the user who wanted a UEFI-compliant ISO hasn't reported back on whether they tried it, and if it worked.)

---------

Some Puppies (mainly 5 and 6 series) have an ID string attached to their SFS and vmlinuz files. I don't know how important it is that the ID's of the main SFS and the other files match up (it doesn't seem to make a difference for Wary Puppy), but I'm putting this here in case someone has a system that actually requires this.

http://distro.ibiblio.org/puppylinux/puppy-tahr/kernels/READ_ME.txt

Quote:
tahrpup allows easy changing of kernels with a few caveats.

pick a kernel, download, unzip, copy the vmlinuz & zdrv.sfs
over the installed ones and reboot.

CAVEATS:
if you've installed any kernel version dependent drivers,
such as your graphic drivers you won't be able to use the
same savefile so boot with pfix=ram.
even if you haven't installed any drivers, on some setups
you may still need to boot pfix=ram and create a new save.

if you want to use these kernels in any other puppy apart
from tahrpup-6.0, you'll need to rename the zdrv.sfs and do
the following in a terminal...

tail -c32 /path/to/puppy.sfs

this will produce an idstring, for example tahrpup-5.8.4
produces this t141012145113ZZZZ5.8.4XXXXXXXXXX which i'll
use just as an example, you will need to use your own
output.

echo -n t141012145113ZZZZ5.8.4XXXXXXXXXX >> /path/to/vmlinuz
echo -n t141012145113ZZZZ5.8.4XXXXXXXXXX >> /path/to/zdrv.sfs

so the vmlinuz & zdrv.sfs should match the puppy.sfs. you can
use the 'tail' command above to check each one.


happy swapping
Back to top
View user's profile Send private message 
PipzDex

Joined: 24 Nov 2018
Posts: 3

PostPosted: Fri 07 Dec 2018, 00:27    Post subject: RE: change_kernels.sh  

Hello mikeslr
I am pleased to know that my intention to contribute and be part of this wonderful world puppy Linux is useful ...
I upload an image of where I took / I found this script mentioned and likewise I upload said script
As you can see in the screenshot this script is in both versions of puppy in the usr / sbin directory, it does not have a menu icon or anything that activates it as a program itself ...
for the first time seeing the example of these versions (xenial and lxpup) use the huge xenial kernel package from the distro biblio page and the last time I took the xenialpup files (vmlinuz and zdrv) and it worked perfectly ...
do not even need to have a pupsave or "savefolder" << === that works but with a bug in pcmanfm == from there on everything else works correctly ...
also as a final comment, I packaged and adapted some programs such as PPMV2, android connect, mtpaint v3.44.83 and 1.6 viewnior without dependencies for this version that I gladly share if someone is interested ...
thank you very much Mike
I'm still developing!

By the way, the version of puppy that you mention is the one I use and it has become my strong card since then being my reliable system ...
Screenshot_2018-12-06_204844.jpg
Description  location of script and script active
jpg

 Download 
Filename  Screenshot_2018-12-06_204844.jpg 
Filesize  139.86 KB 
Downloaded  16 Time(s) 
change_kernels.gz
Description  only removes the "gz" extension and is ready to be used
gz

 Download 
Filename  change_kernels.gz 
Filesize  12.11 KB 
Downloaded  14 Time(s) 
Back to top
View user's profile Send private message 
mikeslr


Joined: 16 Jun 2008
Posts: 2845
Location: 500 seconds from Sol

PostPosted: Fri 07 Dec 2018, 20:24    Post subject:  

Thank you, PipzDex, for the woofce version of change_kernels.sh. Unfortunately, it may not be generally usable with 'old Puppies'. I tried it with ovprecise and received a notice that it wasn't.

So you may have been fortunate in choosing josejp2424's Puppy. As I said, "Puppy Linux is fortunate to have attracted josejp2424's attention. Several of his creations have included things not common to Puppies."
Back to top
View user's profile Send private message 
PipzDex

Joined: 24 Nov 2018
Posts: 3

PostPosted: Sun 09 Dec 2018, 00:58    Post subject: RE: change_kernels.sh  

mikeslr wrote:
Thank you, PipzDex, for the woofce version of change_kernels.sh. Unfortunately, it may not be generally usable with 'old Puppies'. I tried it with ovprecise and received a notice that it wasn't.

So you may have been fortunate in choosing josejp2424's Puppy. As I said, "Puppy Linux is fortunate to have attracted josejp2424's attention. Several of his creations have included things not common to Puppies."



hello mikeslr
that is correct, I also try with puppy precise 571 and also does not allow me to make the change, and tried to understand the reason why the change could not be made ...
try to make the kernel change manually in precise but I always get an error when starting the kernel reading and it ends in kernel panic ...
some time ago I worked with the possibilities of precise 571 doing and undoing to the point where my motherboard or my hdd no longer recognizes it even if I make the changes in the boot menu ...
time will give me the answer on this small detail.
for the moment and fortunately this puplet of josesp2424 has been a quite satisfactory learning school ...
by the way I made a firefox 63 package and it works very well ...
aboutfirefox63.jpg
 Description   
 Filesize   130.29 KB
 Viewed   55 Time(s)

aboutfirefox63.jpg

Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 10 of 10 [147 Posts]   Goto page: Previous 1, 2, 3, ..., 8, 9, 10
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » HOWTO ( Solutions )
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: 0.1449s ][ Queries: 13 (0.0414s) ][ GZIP on ]