The /etc/rc.d/rc.sysinit script performs many tasks to initialize Linux. rc.sysinit is run by init and is the first step of the startup process. The tasks performed by rc.sysinit include:

  • Sets the hostname.
  • Mounts the proc and system filesystems.
  • Activates SELinux if it is set to enforcing or permissive.
  • Initializes hardware using modprobe to load device drivers.
  • Starting the udev device manager.
  • Sets kernel parameters as defined in /etc/sysctl.conf.
  • Starts RAID arrays and device mapper for LVM devices.
  • Checks the root filesystem and remounts it as read/write.
  • Enables disk quotas if they are defined.
  • Forces fsck to run if the system was shut down uncleanly or if a filesystem has exceeded the time or number of mounts since it was last checked.
  • Mounts the other filesystems defined in /etc/fstab.
  • Starts swapping.
  • Dumps the current contents of the syslog ring buffer into /var/log/dmesg so it will be available later.

As mentioned above rc.sysinit is a script, written in BASH, and that allows you to look at it and analyze the tasks it performs. I suggest that you do so in order to fully understand this part of the startup sequence.

Leave a Reply