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.