Will be lazing about for the next few Christmas days, but still planning to implement a modules slimming function since using large system components is against the whole philosophy I outlined as what FirstRib WeeDog is all about. In early days of WeeDog initrd creation I was advised to use DebianLive, but that has already been done and I wanted to create something original - a unique/original initrd/init that uses overlayfs, was as simple in script code as possible and designed line by line from first principles. I do not intend to deviate from that aim with WeeDogLinux.
Personally, I have not felt settled by the WDL Void-flavour apparent boot delay 'fix' of 'slimming down the initrd modules content'. I had asked if anyone had a simple script/utility for slimming down modules, but I did not do so as some idea that was anything to do with the boot delay issue some experienced! - I simply wanted to create smaller initrd... Alas no small utility was forthcoming/suggested, only one of the popular quite complex system utilities big distros use to create/rebuild their official initramfs components, being mkinitrd, which relies on dracut and uses udev. In WeeDog simple/first-principles build from scratch philosophy I definitely will find or more likely it seems create a simple alternative (whether that is trusted by users other than myself or not).
Having said that, using any flavour variant of mkinitrd/dracut is useful and fine for now, on a temporary shrink the initrd modules code basis since it immediately allows a small reduction in the iso size of WDL32_Void, but after my break I will certainly get back to working on my simple first principles slim modules code. I may or may not reliably manage that (but I am reasonably confident I will) but it doesn't matter to me it initrd is large or small really (except it's nice for download purposes); in practice the initrd which is loaded into RAM by the kernel is itself cleaned out of RAM during switch_root (as free results can establish), so its size, aside from storage/download should be technically irrelevant IMO. Simplicity and efficiency of WeeDog implementation principal/philosophy is key fundamental important to me, and not storage/download size of any component, since I want relatively non-guru developers to actually be able to understand its underlying operation - big system components hide that from us mere mortals... Unlike Puppy and DebianDogs, I have no interest in producing smallest iso possible - run efficiency/reliability/flexibility/elegant-simplicity is all that counts to me as far as end of the day usage is concerned.
But yes, a somewhat rare problem was identified for WDL32_Void flavour re: a couple of machines exhibiting boot delay (apparently, from w_debug=0, occurring in attempt to modprobe ata_piix).
Otherwise, were only my own machines be involved in tests, I would have decided all was well and nothing boot-related needed fix.
However... two machines proved to have a 'delay' during ati_piix loading. I modified the initrd/init to allow one 'fix' to the still unexplained/not-understood issue:
Code: Select all
w_rmmodule="ata_piix pata_cs5535" w_addmodule="ata_piix"
Didn't have a delayed boot machine to test myself, but above 'worked', and the new initrd/init code facility of being able to add/remove multiple modules is useful to me anyway.
When I asked if anyone had a utility for slimming down modules, that was simply for the download size situation - not for a second did I see that as relevant to the boot delay! Anyway, Fred suggested mkinitrd/dracut and that does that job of course, but odd thing the resulting substitution of that slimmed module list resulted in the boot delay going away!!!!! Frankly, I did not see any possible logical relationship between providing a smaller modules directory and the boot delay issue. After all, the list to be modprobed remains the same, the modules available in the initrd need to include all these required by that list... So, not for a second did I feel happy with that being a reliable bug-fix. Sure, all the tested machines now boot without delay, so problem can be ignored unless it rears its ugly head again - but fixed??? This I doubt and I continue to work on it, but problem being no machine that had the boot delay issue in the first case - until NOW...
I do not know the fix, but I now know that the slimmed module directory is not a proper fix since I have a boot delay at modprobe ata_piix unless I include
Code: Select all
w_rmmodule="ata_piix pata_cs5535" w_addmodule="ata_piix"
I need to test further to see if the pata_cs5535 bit is relevant on my machine and I do not have any other 'fix' myself yet, but I am happy because now I have confirmed to myself that slimmed modules itself is not a proper fix (as I suspected) but rather I expect just effected timing (such that the boot delay lockdown was luckily avoided on all machines tested thus far, till now).
So, I will get back to working on my own slim module code in a few days time, but I am also now in the surprisingly happy position of being able to test the boot delay problem (even though using an initrd containing slimmed-down modules). I may or may not manage to find a permanent proper fix, but at least I can now employ kernel tracing utilities and try my best to work out the actual problem. Not to worry, the problem is clearly now so rare that it can likely be ignored (however, call me fussy, but my approach to coding/debugging is that I strive to understand the issue and address the issue discovered via that understanding - such understanding has not happened yet, so the current 'fix' is really just some matter of luck probably related to timing/collisions/deadlock issues - you couldn't trust such a fix to control your home nuclear power station...! 
I'll test further in a few days and explain what I've found and find including any other 'fixes' I come up with that I believe are more relevant/reliable.
By the way, the boot delay I have established on this machine isn't long - only about 30 seconds, so if worst comes to the worst I could live with that anyway (except I do not like knowing the reason for the bug is not understood and not actually 'fixed' at all - I do not myself feel happy as a developer to simply ignore a bug because it somehow appeared to 'vanish' when I used an official util to slim down the modules; that alone would never inspire confidence in the development process for me.
Anyway, fingers crossed that I get to the true bottom of this or at least find the reason why that boot delay is actually happening!
Until then, for now, I suggest continuing to include the following on your grub menu.lst kernel line since that effects a fix in all scenarios thus far (though reason still not determined). The slimmed modules list, I now know, does not always do the job so, for sure, isn't an actual bug fix at all, just a lucky timing effect (you cannot rely on) it seems.
Code: Select all
w_rmmodule="ata_piix pata_cs5535" w_addmodule="ata_piix"
Merry Christmas to one and all!!!
wiak