Warren Togami wrote:
Seewer mentioned that instmods =block is failing to pull in block device
drivers on Debian. Debian lacks the modules.* lists. The following
code is used to generate these lists on Fedora.
kernel.spec:
collect_modules_list()
{
sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
}
collect_modules_list networking \
'register_netdev|ieee80211_register_hw|usbnet_probe'
collect_modules_list block \
'ata_scsi_ioctl|scsi_add_host|blk_init_queue|register_mtd_blktrans|scsi_esp_register'
collect_modules_list drm \
'drm_open|drm_init'
collect_modules_list modesetting \
'drm_crtc_init'
Under the assumption that we cannot rely on modules.* list files since
it is not shipped by other distributions, the next best thing is to do a
similar scanning during dracut runtime. This is a bit slower than
simply reading the modules.* files but it seems we have no choice.
I had implemented the equivalent of "modesetting" and the important
subset of "networking" that we require in dracut. The equivalent for
"block" however is a bit more complex given the long list of alternative
symbol names.
I had considered implementing the equivalent of collect_modules_list in
dracut. Perhaps we could implement the equivalent with an additional
parameter of base directory so it does not bother scanning the entire
directory tree looking for modules.
Just a thought.
All I can say here is yes please!
Regards,
Philippe
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html