18.7. Error Analysis

18.7.1. Log Files

Unless otherwise specified, hotplug only sends a few important messages to syslog. To obtain more information, set the variable HOTPLUG_DEBUG in the file /etc/sysconfig/hotplug to yes. If you set this variable to the value max, every shell command is logged for all hotplug scripts. This means that /var/log/messages in which syslog stores all the messages will be much larger. Because syslog is not launched during the boot process until after hotplug and coldplug, it is possible, however, for the first messages not to be logged. If these messages are important to you, specify a different log file via the variable HOTPLUG_SYSLOG. Information about this topic is available in /etc/sysconfig/hotplug.

18.7.2. Boot Problems

If a computer hangs during the boot process, disable hotplug or coldplug by entering NOHOTPLUG=yes or NOCOLDPLUG=yes, respectively, at the boot prompt. Due to the deactivation of hotplug, the kernel does not issue any hotplug events. In the running system, you can activate hotplug by entering the command /etc/init.d/boot.hotplug start. All events generated up to that time are then issued and processed. To reject the queued events, first enter /bin/true in /proc/sys/kernel/hotplug and reset the entry to /sbin/hotplug after some time. Because of the deactivation of coldplug, the static configurations are not applied. To apply the static configurations, you can later enter /etc/init.d/boot.coldplug start.

To find out whether a particular module loaded by hotplug is responsible for the problem, enter HOTPLUG_TRACE=<N> at the boot prompt. The names of all the modules to load are then listed on the screen before they are actually loaded after N seconds. You cannot intervene while this is going on.

18.7.3. The Event Recorder

The script /sbin/hotplugeventrecorder is executed for every event by /sbin/hotplug. If a directory /events exists, all hotplug events are stored as individual files in this directory. Thus, events can be regenerated for test purposes. If this directory does not exist, nothing is recorded.

18.7.4. Excessive System Load or Too Slow While Booting

When hotplug is started, the value of the variable HOTPLUG_MAX_EVENTS in /etc/sysconfig/hotplug is passed to the kernel. This value determines how many hotplug events can be processed concurrently. If hotplug causes an excessive system load when the system is booted, reduce this value. If hotplug is too slow, increase this value.