Thirteen years ago the very capable technosaurus with assistance from the very capable amigo published a pet which "... should remove... unneeded modules from your zdrv", https://oldforum.puppylinux.com/viewtop ... a7#p383851. Both that post suggests, and IIRC, at that time both drivers and firmware were always located in the zdrv. I've attached an unaltered version of the last pet published.
I have no doubt that at the time it was published it properly performed its intended function. I think I may have successfully used it once. But since its last iteration things have changed. Puppys then were only 32-bit. Now there are 32 and 64 bit Puppys. That circumstance is further complicated by the different routes slackware and debian/ubuntu took in handling libraries: slackware locating 64-bit libraries in folders named lib64; debian/ubuntu in folders named x86_64-linux-gnu. And recently debian/ubuntu have imposed a rule that the top-level /lib folders can not be used other than by the original publisher(s) of an OS.
Another change is that 13 years ago both the RAM and Storage media available to a user were magnitudes smaller. On the other hand, so was the size of the included libraries. technosaurus wrote of a 20 Mb zdrv. Today, there are fdrv's which (being exclusive of drivers) are in the 300 Mbs range. While the need to reduce firmware and drivers in a system to just those actually useful may have lessened, it still occasionally exists. And as technosaurus put it, some of us are "just the minimalist at heart".
As you may know, I can't program my way out of a paper bag. But I have a fair grasp of how systems function and on at least 2 occasions recently removing unneeded drivers and firmware could have assisted in providing a solution to a problem posed in the Beginners of Users Section.
Before I recommend employment of a 'cutter', would someone who does know his or her way around code be interested in examining that of the attached pet and determining if it, or a modification of it, would function?