There is an active kernel building thread over at Porteus Linux and the kernels produced can be used with Puppy.....
https://forum.porteus.org/viewtopic.php?f=75&t=6568
scroll to the end to find a link to the latest:
e.g. 64bit-ALL-kernel6.2-rc5.tar
When it has downloaded click on it to extract 2 files (crippled_sources can be ignored):
vmlinuz & 000-kernel.xzm
Now put those 2 files into a frugal install directory together with the initrd.gz and .sfs files ** from puppy.
Then the configuration - rename the 000-kernel.xzm file to the zdrv sfs name of your puppy.
n.b. The Porteus kernel includes firmware so a separate fdrv will not be needed **.
Reboot. Existing simple Grub4dos boot stanzas can be used unchanged although I guess some puppy boot codes may be ignored....untested.
Screenshot from test with VoidPup32 with 64bit-ALL-kernel6.2-rc3
(Posts on old forum: https://oldforum.puppylinux.com/viewtopic.php?t=116662)