Booting procedure in Solaris SPARC architecture
The different phases of solaris boot process are describing below.
Power on –> POST –>Boot Device (1-15) –>ufs boot loader –>Kernel –>/file system–>/sbin/init –> /svc/lib/svc.startd
Boot PROM base
The PROM displays the system identification number along with Banner,Hostid, macaddress,prompt chip release, version and physical memory size. This process also contains POST ( Power On Self Test) which is the hardware diagnosis routine and initializes the installed hardware.We can see the POST messages in a serial through serial console . If serial console is not connected you can see the output of the POST through the command prtdiag -v
Sample output is given below
After the POST the PROM loads the boot compilation program called bootblk
Boot program phase
This phase will start reading the boot program which is available in 1 - 15 sector of the HDD. The OBP (Open Boot PROM) loads the primary boot program called bootblk from the boot device . ( if the bootblk is not present it has to be regenerated by running the command installgrub from a CDROM.)
ufsboot: This is a secondary boot program and this program loads the kernel core image files.
kernel: The kernel file location is /Platform/arch-i/kernel/sparkv9/unix ( if the processor is amd sparkv9 will change to amd etc) . As a part of kernel loading process the kernel banner will display including the kernel version number. The kernel initializes itself and reading modules with the help of ufsboot program untill it will load enough modules to mount the root file system . If the system complains not able to write to the root file system the booting procedure will struck in this phase.
The system parameters which is needed for booting is set at /etc/system file . Its main contents are given below
- moddir: Changes path of kernel modules.
- forceload: Forces loading of a kernel module.
- exclude: Excludes a particular kernel module.
- rootfs: Specify the system type for the root file system. (ufs is the default.)
- rootdev: Specify the physical device path for root.
- set: Set the value of a tuneable system parameter.
- Init initialization phase
The kernel starts the PID 1 and which starts the /sbin/init process and internally this will starts /lib/svc/bin/svc.started which is responsible for below processes
a. configuring all network devices
b. mounting all file system
c. starts all network services
d. runs rc-scripts which brings the machine to multi user mode
In solaris 10 svc.startd is a separate boot process which is responsible for starting and stopping services during boot process. But the services which starts during start up and ends while down is configured in /etc/init.d directory
Different runlevels in solaris
Init s –>single user mode
Init 1 –> maintenance mode
Init 2 –> multiuser mode (NFS disabled)
Init 3 –> multiuser serve mode (NFS enable to share)
Init 4 –> not implemented for future purpose
Init 5 –> Shutdown & power off
Init 6 –> Shutdown & reboot
Init 0 –> Shutdown & skipped to ok prompt
All these processes as a nutshell i am providing you as a flowchart below
No comments:
Post a Comment