BOOT PROCESS
Well,
Let’s Boot the Solaris Box
Any
boot will starts from Power on…
Power On the system
|
Power goes to Power
Supply
|
PROM is initiated
|
At this stage Open Boot
Firmware [OBP] is executed
OBP is wandering that
Now what should I do ?
|
Suddenly it heard a
sound that Hey OBP… I can help
|
OBP just called him
& asked… hey man who r u ?
It replied that I am
MONITOR Program residing inside u
|
OK…OOK… Now you do what
you want to (OBP replied)
|
Fine
I will Control all operations Until Kernel is available
|
Hey
OBP I will start from you… Just tell me about these parameters
n
Diag-switch is set or not? if set then I will
display the o/p on serial Terminal
n
Diag-level (what is diag level) [diag-levels
are off-min-max (d)]
Prom
diag-level is to determine the intensity of HW check.( POST)
|
OK..OBP
I got the info that diag-switch is set and diag-level is max
Now
I will run POST
Here
nvramrc is used for system id and if the nvramrc is set to be true , monitor
will read the nvramrc which contain info about boot disk (is it encapsulated
with svm /vxvm or not ?)
|
Now
Probe-all (for disk devices)
|
Install
the kbd / monitor
|
Active
the console
|
Now
the most imp part is done i.e. to build Device Tree
(the
same device tree is further used by drvconfig to build /devices then /devices
is used by a utility devlink to build /dev/directory)
|
Well
at this stage monitor again called obp… Hey Mr. OBP … plz tell me some more
parameters
n
Auto-boot is true or not ? if true then I will
travel from sector 1 to 15 of disks to find the boot device and let the system
boot otherwise go take a nap until administrator will come
n
Boot-device ( which is default boot device of
this system…plz tell me the full device path)
|
OK… Thanks again Mr. OBP to provide both info
that auto boot is set and the path of boot device
|
Now Monitor started travelling from sector
1-15 of boot device and bingo… it founds primary boot program (bootblk)… Then
Monitor Politely invites Mr. bootblk that Hey Mr. bootblk plz come and I will
help you to be loaded in to memory
|
Bootblk happily agreed with monitor and loads itself
into memory…
Then finds the Secondary boot Program UFS BOOT
and load it in to memory
|
at this stage monitor told bye to everybody and
hand over the charge to ufsboot
|
Now ufs boot loads the two part kernel in to
the memory
n
Genunix platform independent
n
Unix platform specific
These
2 parts are combined to form running kernel
|
Now the kernel goes to /etc/system... to
find the
n
Path of root (/) file system
n
Path of kernel drivers
n
Info about which modules to load
n
Which modules to be load forcibly
|
After getting all info kernel acts
accordingly to load modules from
/kernel and /usr/kernel
|
While loading modules … it reaches at a
stage where it finds that ohh
Now I had enough modules that root (/) file system can mount itself
|
At this stage ufsboot told bye to everybody
and unmapped
|
Now kernel starts its 1st
process i.e. sched process (PID 0)
|
Due to sched process swap comes in action
|
Now kernel starts another process i.e. init
process (PID 1)
Init is called Master Restarter
|
The
init daemon reads the /etc/default/init and provides environment to all processes started by
init
|
Then
init goes to /etc/inittab for default run-level
|
Now init starts a process called “svc.startd”
to start system services which
n
Checks / mounts the file systems
n
Configure network
n
Starts various services
n
Runs rc scripts for backward compatibility
BINGO
!!! SYSTEM IS UP
No comments:
Post a Comment