SlideShare a Scribd company logo
6 Stages of Linux Boot Process (Startup Sequence):
Press the power button on your system, and after few
moments you see the Linux login prompt.
Have you ever wondered what happens behind the scenes
from the time you press the power button until the Linux login
prompt appears?
The following are the 6 high level stages of a typical Linux
boot process.
1. BIOS
 BIOS stands for Basic Input/Output System
 Performs some system integrity checks
 Searches, loads, and executes the boot loader program.
 It looks for boot loader in floppy, cd-rom, or hard drive. You
can press a key (typically F12 of F2, but it depends on your
system) during the BIOS startup to change the boot
sequence.
 Once the boot loader program is detected and loaded into
the memory, BIOS gives the control to it.
 So, in simple terms BIOS loads and executes the MBR
boot loader.
2. MBR
 MBR stands for Master Boot Record.
 It is located in the 1st sector of the bootable disk. Typically
/dev/hda, or /dev/sda
 MBR is less than 512 bytes in size. This has three
components 1) primary boot loader info in 1st 446 bytes 2)
partition table info in next 64 bytes 3) mbr validation check
in last 2 bytes.
 It contains information about GRUB (or LILO in old
systems).
 So, in simple terms MBR loads and executes the GRUB
boot loader.
3. GRUB
 GRUB stands for Grand Unified Bootloader.
 If you have multiple kernel images installed on your system,
you can choose which one to be executed.
 GRUB displays a splash screen, waits for few seconds, if
you don’t enter anything, it loads the default kernel image
as specified in the grub configuration file.
 GRUB has the knowledge of the filesystem (the older Linux
loader LILO didn’t understand filesystem).
 Grub configuration file is /boot/grub/grub.conf
(/etc/grub.conf is a link to this). The following is sample
grub.conf of CentOS.
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.el5PAE)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-194.el5PAE ro
root=LABEL=/
initrd /boot/initrd-2.6.18-194.el5PAE.img
 As you notice from the above info, it contains kernel and
initrd image.
 So, in simple terms GRUB just loads and executes Kernel
and initrd images.
4. Kernel
 Mounts the root file system as specified in the “root=” in
grub.conf
 Kernel executes the /sbin/init program
 Since init was the 1st program to be executed by Linux
Kernel, it has the process id (PID) of 1. Do a ‘ps -ef | grep
init’ and check the pid.
 initrd stands for Initial RAM Disk.
 initrd is used by kernel as temporary root file system until
kernel is booted and the real root file system is mounted. It
also contains necessary drivers compiled inside, which
helps it to access the hard drive partitions, and other
hardware.
5. Init
 Looks at the /etc/inittab file to decide the Linux run level.
 Following are the available run levels
 0 – halt
 1 – Single user mode
 2 – Multiuser, without NFS
 3 – Full multiuser mode
 4 – unused
 5 – X11
 6 – reboot
 Init identifies the default initlevel from /etc/inittab and uses
that to load all appropriate program.
 Execute ‘grep initdefault /etc/inittab’ on your system to
identify the default run level
 If you want to get into trouble, you can set the default run
level to 0 or 6. Since you know what 0 and 6 means,
probably you might not do that.
 Typically you would set the default run level to either 3 or 5.
6. Runlevel programs
 When the Linux system is booting up, you might see
various services getting started. For example, it might say
“starting sendmail …. OK”. Those are the runlevel
programs, executed from the run level directory as defined
by your run level.
 Depending on your default init level setting, the system will
execute the programs from one of the following directories.
 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/
 Please note that there are also symbolic links available for
these directory under /etc directly. So, /etc/rc0.d is linked to
/etc/rc.d/rc0.d.
 Under the /etc/rc.d/rc*.d/ directories, you would see
programs that start with S and K.
 Programs starts with S are used during startup. S for
startup.
 Programs starts with K are used during shutdown. K for kill.
 There are numbers right next to S and K in the program
names. Those are the sequence number in which the
programs should be started or killed.
 For example, S12syslog is to start the syslog deamon,
which has the sequence number of 12. S80sendmail is to
start the sendmail daemon, which has the sequence
number of 80. So, syslog program will be started before
sendmail.

More Related Content

PPTX
RPM (Red Hat Package Manager)
skalaivanibutp
 
PPTX
Linux booting Process
Gaurav Sharma
 
PPT
Linux - Introductions to Linux Operating System
Vibrant Technologies & Computers
 
PDF
Linux Presentation
nishantsri
 
PPT
History of Linux
Gray-chan Desu
 
PPTX
Unix Linux Commands Presentation 2013
Wave Digitech
 
PPTX
Linux Boot Process
darshhingu
 
RPM (Red Hat Package Manager)
skalaivanibutp
 
Linux booting Process
Gaurav Sharma
 
Linux - Introductions to Linux Operating System
Vibrant Technologies & Computers
 
Linux Presentation
nishantsri
 
History of Linux
Gray-chan Desu
 
Unix Linux Commands Presentation 2013
Wave Digitech
 
Linux Boot Process
darshhingu
 

What's hot (20)

PPTX
Disk management / hard drive partition management / create drive or partition...
Ajay Panchal
 
PDF
Linux OS presentation
SahilGothoskar
 
ODP
Linux Internals - Kernel/Core
Shay Cohen
 
PPTX
Linux file system
Md. Tanvir Hossain
 
PPTX
Linux Operating System
KunalKewat1
 
PPT
Linux file system
Midaga Mengistu
 
PDF
Introduction to char device driver
Vandana Salve
 
PDF
Uboot startup sequence
Houcheng Lin
 
PPTX
Linux process management
Raghu nath
 
PDF
Presentation on linux
Veeral Bhateja
 
PPTX
Linux introduction, class 1
Adrian Mikeliunas
 
PPTX
Boot process
Salman Memon
 
PDF
Linux kernel
Mahmoud Shiri Varamini
 
PDF
Linux scheduler
Liran Ben Haim
 
PPTX
Linux Kernel Booting Process (1) - For NLKB
shimosawa
 
PDF
Lesson 2 Understanding Linux File System
Sadia Bashir
 
PPTX
UNIX Operating System
Unless Yuriko
 
PPT
History Of Linux
anand09
 
PPT
Linux
Kevin James
 
Disk management / hard drive partition management / create drive or partition...
Ajay Panchal
 
Linux OS presentation
SahilGothoskar
 
Linux Internals - Kernel/Core
Shay Cohen
 
Linux file system
Md. Tanvir Hossain
 
Linux Operating System
KunalKewat1
 
Linux file system
Midaga Mengistu
 
Introduction to char device driver
Vandana Salve
 
Uboot startup sequence
Houcheng Lin
 
Linux process management
Raghu nath
 
Presentation on linux
Veeral Bhateja
 
Linux introduction, class 1
Adrian Mikeliunas
 
Boot process
Salman Memon
 
Linux scheduler
Liran Ben Haim
 
Linux Kernel Booting Process (1) - For NLKB
shimosawa
 
Lesson 2 Understanding Linux File System
Sadia Bashir
 
UNIX Operating System
Unless Yuriko
 
History Of Linux
anand09
 
Linux
Kevin James
 
Ad

Viewers also liked (9)

PDF
Iptables presentation
Emin Abdul Azeez
 
PPTX
System and network administration network services
Uc Man
 
PDF
Packet Filtering Using Iptables
Ahmed Mekkawy
 
PPT
Iptables in linux
Mandeep Singh
 
PPT
Iptables
leminhvuong
 
PPTX
Linux booting process!!
sourav verma
 
PPT
Linux booting procedure
Dhaval Kaneria
 
PPTX
Process management in linux
Mazenetsolution
 
PDF
Processes
Anil Kumar Pugalia
 
Iptables presentation
Emin Abdul Azeez
 
System and network administration network services
Uc Man
 
Packet Filtering Using Iptables
Ahmed Mekkawy
 
Iptables in linux
Mandeep Singh
 
Iptables
leminhvuong
 
Linux booting process!!
sourav verma
 
Linux booting procedure
Dhaval Kaneria
 
Process management in linux
Mazenetsolution
 
Ad

Similar to 6 stages of linux boot process (20)

DOC
6 stages of linux boot process
sagarpdalvi
 
DOCX
6 stages of linux boot process
Hari Shankar
 
PDF
Linux booting procedure
Dhaval Kaneria
 
PPT
Linux Booting Procedure system and networking.ppt
ubaidullah75790
 
PPTX
Linux startup
Amin Hashemi
 
PPTX
Order of boot process in Linux
Siddhesh Palkar
 
PPTX
Linux booting process - Linux System Administration
Sreenatha Reddy K R
 
PDF
Linux boot process – explained
LinuxConcept
 
PPT
Linux Booting Process
Rishabh5121993
 
PPTX
Bootloader and bootloading
Arpita Gupta
 
PDF
OS_lab_file.pdf
KarthickS942388
 
PPTX
Linux basics
suniljosekerala
 
PDF
Linux basics 1/2
Claudio Montoya
 
PDF
Linux boot process
Archana Chandrasekharan
 
PPTX
Linux basics
suniljosekerala
 
PPTX
Introduction to Operating Systems.pptx
MohamedSaied877003
 
PPTX
Linux boot process
Chandrashekar B S
 
PPT
101 1.3 runlevels , shutdown, and reboot
Acácio Oliveira
 
PPTX
introduction to computer Linux essential.pptx
musomicatherine
 
PDF
Linux : Booting and runlevels
John Ombagi
 
6 stages of linux boot process
sagarpdalvi
 
6 stages of linux boot process
Hari Shankar
 
Linux booting procedure
Dhaval Kaneria
 
Linux Booting Procedure system and networking.ppt
ubaidullah75790
 
Linux startup
Amin Hashemi
 
Order of boot process in Linux
Siddhesh Palkar
 
Linux booting process - Linux System Administration
Sreenatha Reddy K R
 
Linux boot process – explained
LinuxConcept
 
Linux Booting Process
Rishabh5121993
 
Bootloader and bootloading
Arpita Gupta
 
OS_lab_file.pdf
KarthickS942388
 
Linux basics
suniljosekerala
 
Linux basics 1/2
Claudio Montoya
 
Linux boot process
Archana Chandrasekharan
 
Linux basics
suniljosekerala
 
Introduction to Operating Systems.pptx
MohamedSaied877003
 
Linux boot process
Chandrashekar B S
 
101 1.3 runlevels , shutdown, and reboot
Acácio Oliveira
 
introduction to computer Linux essential.pptx
musomicatherine
 
Linux : Booting and runlevels
John Ombagi
 

More from Teja Bheemanapally (20)

PDF
Teradata
Teja Bheemanapally
 
PPTX
Teradata
Teja Bheemanapally
 
DOCX
Linux or unix interview questions
Teja Bheemanapally
 
DOCX
Linux notes
Teja Bheemanapally
 
DOCX
Linux crontab
Teja Bheemanapally
 
DOCX
Linux basic commands
Teja Bheemanapally
 
PPTX
Linux01122011
Teja Bheemanapally
 
PPTX
Kernel (computing)
Teja Bheemanapally
 
DOCX
Installing red hat enterprise linux1
Teja Bheemanapally
 
DOCX
Linux basic commands tutorial
Teja Bheemanapally
 
DOCX
In a monolithic kerne1
Teja Bheemanapally
 
PDF
Common linuxcommandspocketguide07
Teja Bheemanapally
 
DOCX
50 most frequently used unix
Teja Bheemanapally
 
PDF
Basic commands
Teja Bheemanapally
 
DOCX
File system hierarchy standard
Teja Bheemanapally
 
DOCX
40 basic linux command
Teja Bheemanapally
 
DOCX
15 practical grep command examples in linux
Teja Bheemanapally
 
DOCX
25 most frequently used linux ip tables rules examples
Teja Bheemanapally
 
PDF
Shell intro
Teja Bheemanapally
 
DOCX
6 stages of linux boot process
Teja Bheemanapally
 
Linux or unix interview questions
Teja Bheemanapally
 
Linux notes
Teja Bheemanapally
 
Linux crontab
Teja Bheemanapally
 
Linux basic commands
Teja Bheemanapally
 
Linux01122011
Teja Bheemanapally
 
Kernel (computing)
Teja Bheemanapally
 
Installing red hat enterprise linux1
Teja Bheemanapally
 
Linux basic commands tutorial
Teja Bheemanapally
 
In a monolithic kerne1
Teja Bheemanapally
 
Common linuxcommandspocketguide07
Teja Bheemanapally
 
50 most frequently used unix
Teja Bheemanapally
 
Basic commands
Teja Bheemanapally
 
File system hierarchy standard
Teja Bheemanapally
 
40 basic linux command
Teja Bheemanapally
 
15 practical grep command examples in linux
Teja Bheemanapally
 
25 most frequently used linux ip tables rules examples
Teja Bheemanapally
 
Shell intro
Teja Bheemanapally
 
6 stages of linux boot process
Teja Bheemanapally
 

Recently uploaded (20)

PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 

6 stages of linux boot process

  • 1. 6 Stages of Linux Boot Process (Startup Sequence): Press the power button on your system, and after few moments you see the Linux login prompt. Have you ever wondered what happens behind the scenes from the time you press the power button until the Linux login prompt appears? The following are the 6 high level stages of a typical Linux boot process. 1. BIOS  BIOS stands for Basic Input/Output System  Performs some system integrity checks  Searches, loads, and executes the boot loader program.
  • 2.  It looks for boot loader in floppy, cd-rom, or hard drive. You can press a key (typically F12 of F2, but it depends on your system) during the BIOS startup to change the boot sequence.  Once the boot loader program is detected and loaded into the memory, BIOS gives the control to it.  So, in simple terms BIOS loads and executes the MBR boot loader. 2. MBR  MBR stands for Master Boot Record.  It is located in the 1st sector of the bootable disk. Typically /dev/hda, or /dev/sda  MBR is less than 512 bytes in size. This has three components 1) primary boot loader info in 1st 446 bytes 2) partition table info in next 64 bytes 3) mbr validation check in last 2 bytes.  It contains information about GRUB (or LILO in old systems).  So, in simple terms MBR loads and executes the GRUB boot loader. 3. GRUB  GRUB stands for Grand Unified Bootloader.  If you have multiple kernel images installed on your system, you can choose which one to be executed.  GRUB displays a splash screen, waits for few seconds, if you don’t enter anything, it loads the default kernel image as specified in the grub configuration file.  GRUB has the knowledge of the filesystem (the older Linux loader LILO didn’t understand filesystem).
  • 3.  Grub configuration file is /boot/grub/grub.conf (/etc/grub.conf is a link to this). The following is sample grub.conf of CentOS. #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ initrd /boot/initrd-2.6.18-194.el5PAE.img  As you notice from the above info, it contains kernel and initrd image.  So, in simple terms GRUB just loads and executes Kernel and initrd images. 4. Kernel  Mounts the root file system as specified in the “root=” in grub.conf  Kernel executes the /sbin/init program
  • 4.  Since init was the 1st program to be executed by Linux Kernel, it has the process id (PID) of 1. Do a ‘ps -ef | grep init’ and check the pid.  initrd stands for Initial RAM Disk.  initrd is used by kernel as temporary root file system until kernel is booted and the real root file system is mounted. It also contains necessary drivers compiled inside, which helps it to access the hard drive partitions, and other hardware. 5. Init  Looks at the /etc/inittab file to decide the Linux run level.  Following are the available run levels  0 – halt  1 – Single user mode  2 – Multiuser, without NFS  3 – Full multiuser mode  4 – unused  5 – X11  6 – reboot  Init identifies the default initlevel from /etc/inittab and uses that to load all appropriate program.  Execute ‘grep initdefault /etc/inittab’ on your system to identify the default run level  If you want to get into trouble, you can set the default run level to 0 or 6. Since you know what 0 and 6 means, probably you might not do that.  Typically you would set the default run level to either 3 or 5. 6. Runlevel programs
  • 5.  When the Linux system is booting up, you might see various services getting started. For example, it might say “starting sendmail …. OK”. Those are the runlevel programs, executed from the run level directory as defined by your run level.  Depending on your default init level setting, the system will execute the programs from one of the following directories.  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/  Please note that there are also symbolic links available for these directory under /etc directly. So, /etc/rc0.d is linked to /etc/rc.d/rc0.d.  Under the /etc/rc.d/rc*.d/ directories, you would see programs that start with S and K.  Programs starts with S are used during startup. S for startup.  Programs starts with K are used during shutdown. K for kill.  There are numbers right next to S and K in the program names. Those are the sequence number in which the programs should be started or killed.  For example, S12syslog is to start the syslog deamon, which has the sequence number of 12. S80sendmail is to start the sendmail daemon, which has the sequence number of 80. So, syslog program will be started before sendmail.