miltonx wrote: Wed Sep 08, 2021 9:28 am
Talking of initrd, I'm reminded of another curious idea. Since Puppy has pretty good modules to support most machines, can I just extract puppy's initrd modules and put it in the weedog initrd, so that I can use it for most distros, rather than reapeat the decompress-copy-recompress work for each distro I want to weedog-boot?
Edit:
I just tried expanding Fossapup64_9.5's initrd, and surprisingly, it doesn't contain modules! So puppy loads external modules when booting?
And then follows another question. For a weedog-someDistro, after copying that someDistro's modules into weedog's initrd, is it safe to remove those modules from the sfs file?
miltonx wrote: Wed Sep 08, 2021 9:28 amYeah, a generic initrd which boots most distros, as well as alllows a frugal install of most distros. That's what I meant.
And WDL initrd allows exactly that. It is impossible for it to be a simple push a button convert every distro to work solution of course! When I said I'm not really myself trying to publish a boot every distro solution via WDL - I am actually just designing a distro for my own family business needs and had to think very carefully indeed about publishing further because that involves far more work and I as I've said many a time I don't mind if anyone uses any part of it at all. But... rockedge was very encouraging from the very first (FirstRib) creation so I appreciate his work and support it via these releases - that's all really. Most of me wants to 'retire' from further computing - I prefer drinking coffee nowadays!
Re: your related modules questions:
Puppy Linux uses what is called a 'huge kernel' which has been specially compiled to include all the drivers needed to see the boot media and thus not need modules inserted into the initrd. Unfortunately, one exception to that is the overlayfs module, which is not typically built directly into Puppy linux kernel because, aside from some recent experimental ones, Puppy uses aufs as its layering method.
Problem with Puppy's approach, is that aufs is not official supported by Linux kernel developers so Puppy has to build specially patched kernels rather than just being able to use the official kernels from upstream repos such as Debian or Ubuntu. The other problem is that most upstream distros such as Ubuntu do not provide huge kernels. Instead their official repo kernels depend on module support from their initrd at boot time. In designing WeeDog I elected to use official kernel supported overlayfs and to use official upstream repo kernels rather than trust my various builds to self-compiled/patched kernels; WDL initrd thus typically needs modules to be inserted into it.
However, being a longterm member of Puppy forum, I added a special feature to WDL initrd that allows it to use modules provided in an external sfs module (such as is used in Puppy) along with the related Puppy kernel; that needed the solution however to Puppy huge kernel not including overlayfs internally so the WDL initrd can pick up that one extra module from a specially prepared 00module.sfs addon layer.
It is generally possible using that unique but rather odd arrangement (Puppy huge kernel and extracted modules sfs) with other distro's rootfilesystem. Rockedge has experimented with that more than I have (though I designed the code in initrd to allow it) and particularly in some of his WDL_Void. In other words he sometimes boots the Void Linux based firstrib_rootfs with a Puppy huge kernel and a 00modules.sfs extracted from the Puppy-distro's typical zdrv (or fdrv) sfs, which contains Puppy's modules.
The Puppy huge kernel only contains sufficient driver modules to boot but it still needs full module set provided in main layered filesystem. As I said these are usually stored in Puppy's zdrv and fdrv sfs files. You can't remove them no - they are needed to work with all the various bits of the computer's systems hardware.
Sorry I can't explain more for now. Very busy here, but others can likely help you if you want to try any of these things later.
wiak