mkinitrd script - blacklist more udev executables
After upgrade to slackware 14.0 I note a number of issues on system where usr and home are mounted in addition.
Udevd is started before filesystem checks, also before additional "user" file systems to be mounted. Another issue is that udev lack separate rules for "boot" process, i.e. all rules are executed, but many of them depends form libraries or binaries installed in usr file-system.
Initially I move some files from /usr to /root file system to ensure that all rules will be executed properly. This include "user" libraries libatasmart, libglib, libparted. Also I move directory hwdata from share to /lib (+symlinks).
After debug of udev I note about 30 seconds delay in process. Ok yet another issue. Internet search point to udev version 177 (slackware 14.0 is with 182) and load of "firmware". On my system it is from:
00:08.0 Multimedia audio controller: Yamaha Corporation YMF-724F [DS-1 Audio Controller] (rev 03)
[9.515207]  event_queue_insert: seq 2026 queued, 'add' 'firmware'
[8.079792]  worker_new: seq 1633 running
[8.079832]  udev_device_new_from_syspath: device 0x8e1d350 has devpath '/devices/pci0000:00/0000:00:08.0'
[8.080054]  builtin_kmod: execute 'load' 'pci:v00001073d0000000Dsv00001073sd0000000Dbc04sc01i00'
[40.006691]  main: worker  timeout, kill it
[40.006751]  main: seq 1633 '/devices/pci0000:00/0000:00:08.0' killed
[40.007208]  udev_device_new_from_syspath: device 0x8e21620 has devpath '/devices/pci0000:00/0000:00:08.0/firmware/0000:00:08.0'
I don't like to wait kernel drivers to be updated to follow new udev ..... as PC is old. I don't know what is status of kernel driver for this card. May be is still maintained.
Good news is that exist work-around - just load modules before udev. So I start to use initrd to load modules in advance.
mkinitrd script work fine but image contain a lot of "user" libraries.
I would like to propose script to black list more udev executables. Patch attached.