Skip to main content

A Step-by-Step Guide to the Linux Boot Process

 

A Step-by-Step Guide to the Linux Boot Process:

                             1. In Linux, the booting process is a technique of starting the computer system after it has been turned on.

                             2. The Linux operating system's booting system will be discussed here.


There are two styles of booting:
 
               1. Cold booting: When a computer is turned on after it has been turned off for an extended period. 

               2. Warm booting: When a machine crashes or freezes, the operating system is the only thing that gets restarted.



BIOS 

                1. The BIOS (Basic Input/Output System) is a computer operating system that allows you to input and output data.  

                2. BIOS gives control to the boot loader programme once it has been discovered and loaded into memory. 

               3. It gave or contains information about MBR. 

               4. The BIOS loads and run the MBR or BIOS loads and executes the MBR boot loader. 

MBR

                1. MBR --------> Master Boot Record

                2. It's in the bootable disk's first sector(/dev/hda, or /dev/sda). 

                3. MBR have a partition of 512 bytes 
                              446 bytes- primary boot loader. 
                              64 bytes - partition table.
                              2 bytes - MBR validation check.

                4. It gave information about GRUB.

               5. MBR loads and runs the GRUB boot loader.


GRUB 

               1. GRUB -------->Grand Unified Bootloader

              2. Grub configuration file - /boot/grub/grub.conf .

               3. It gave information about kernel and initrd image.

               4. GRUB loads and runs the kernel and initrd image


 Kernel

                1. Kernel is a heart of linux. 

                2. It loads temporary root filesystem

                3. Kernel runs first process called init or systemd [ Pid = 1 ].

                4. initrd -------> Initial RAM Disk.


Init 
              1. The Linux run level is determined by the /etc/inittab file. 
              2. The available run levels are listed below. 
                                0 – halt 
                                1 – Single user mode
                                2 – Multiuser, without NFS 
                                3 – Full multiuser mode 
                                4 – unused
                                5 – X11 [GUI] 
                                6 – reboot
Run level 
                1. The system will run applications from one of the following folders, depending on your default init level option.
                               Run level 0 – /etc/rc.d/rc0.d/ 
                               Run level 1 – /etc/rc.d/rc1.d/
                               Run level 2 – /etc/rc.d/rc2.d/ 
                               Run level 3 – /etc/rc.d/rc3.d/
                               Run level 4 – /etc/rc.d/rc4.d/ 
                               Run level 5 – /etc/rc.d/rc5.d/
                               Run level 6 – /etc/rc.d/rc6.d/
                 2. You can see that some of the files in the "/etc/rc.d/rc*.d/" directories begin with S and K
                 3. The beginning of the programmer is During starting, the letter S is utilized. S stands for "startup." 
                 4. During shutdown, programmers that begin with the letter K are used. K stands for kill. 
That is all there is to it. During the Linux boot process, this is what happens.











Comments

Popular posts from this blog

temp-1

  🔧 vast_id Configuration Key: vast_id Description This section defines the VAST ID , a unique numeric identifier used by internal systems for asset tracking, automation, or integration with enterprise management platforms. It helps associate the server with inventory records, monitoring tools, or deployment workflows. ✅ Used during provisioning to register the system in centralized databases or orchestration systems. JSON Format json 1 "vast_id" : 12194 ✅ Can also be provided as a string: json 1 "vast_id" : "12194" Field Reference vast_id String or Integer Unique identifier for the system in VAST (Verizon Asset Systems Tracker) 12194 ✅ Must be non-empty and numeric — leading zeros may be stripped depending on system. Validations Enforced vast_id  is required and must be a non-empty string or integer Ensures the field is present and contains usable data If  vast_id  is a string, it must not be blank or whitespace-only Prevents " " , "...

testing

09052025 T-1 { "volume_groups" : { "vgroot" : { "vgsize" : "304G" , "fs_type" : "xfs" } } , "logical_volumes" : { "root" : { "lvroot" : { "vgname" : "vgroot" , "lvname" : "lvroot" , "lvsize" : "12G" , "mountpoint" : "/" , "purpose" : "root filesystem" , "disk" : 1 , "partition" : 2 } } , "swap" : { "lvswap" : { "vgname" : "vgroot" , "lvname" : "lvswap" , "lvsize" : "4G" , "mountpoint" : "NA" , "purpose" : "swap" , "disk" : 1 , "partit...

temp

 {   "_id": {     "$oid": "6841e4b0fd270b2ab92d7eaa"   },   // 📌 [Auto-generated]   // Description: Unique system identifier for internal use (MongoDB ObjectId).   // Type: ObjectId (string)   // Required: No (automatically handled)   "vast_id": "21452",   // 📌 [Required]   // Description: Your unique request ID or reference number.   // Type: string   // Format: Numeric string (e.g., "21452")   // Example: "21452"   "env": "dev",   // 📌 [Required]   // Description: The environment where the VM will be deployed.   // Type: string   // Allowed values: "dev", "qa", "uat", "prod"   // Example: "dev" for development, "prod" for production   "ver": "0.2",   // 📌 [Do Not Modify]   // Description: Template version. Used by automation to ensure compatibility.   // Type: string   // Format: Semantic versioning (e.g., "...