White Paper: Initscripts & logging


< Prev Contents Next >

How it works

When the rc.sysinit system initialization script starts, the first thing it does is re-run itself through initlog (via the -r parameter). As events in the bootup sequence proceed, these are passed via the open pipe to initlog. In the initial phase of booting, the root filesystem is mounted read-only. The initlog cannot start minilogd, hence, these events are buffered.

As the bootup proceeds, the root filesystem is re-mounted read/write. Then, minilogd is started, and initlog begins logging events via the normal syslog() function, after flushing its buffer of events. Additionally, initlog will now be used to send events through the normal command line parameters as opposed to the open pipe.

Eventually, the system log daemon syslogd is started. Then, minilogd flushes its buffers to syslogd, which then (by default) writes the accumulated boot messages to /var/log/messages and /var/log/boot.log. The bootup process continues, as initlog feeds messages to syslogd via syslog().


< Prev Contents Next >