OpenBoot v2.x & 3.x, the Boot PROM firmware
banner displays system configuration information
printenv displays NVRAM parameters & default values
setenv change NVRAM default values
reset saves new value set by setenv and reboots
showdevs lists installed devices
devalias assigns or lists all device aliases, aliases lost at reboot
nvalias assigns device alias, stored in nonvolatile memory and remain after reboot
nvunalias deletes a device alias
set-defaults restores system configuration to its original defaults (deletes aliases also)
Examples:
printenv boot-device displays the NVRAM value for the boot-device parameter
setenv boot-device disk2 changes the boot device to disk2
reset saves changes and reboots
nvalias disk3 /sbus/esp/sd@2,0 creates NVRAM device alias for disk3
nvunalias disk3 deletes the device alias disk3
eeprom Can be used to view or modify NVRAM parameters from Solaris
eeprom auto-boot? Displays the value of NVRAM parameter auto-boot?
Eeprom auto-boot?=false Modifies value of NVRAM parameter auto-boot?
Boot PROM: Runs the POST (Power On Self Test) then…
SPARC: bootblk is loaded and locates ufsboot on the boot device.
x86: mboot is loaded and locates pboot on the boot device.
Boot Programs: SPARC: bootblk loads to memory & executes ufsboot program
x86: pboot program loads then loads & executes bootblk, which in turn loads either boot.bin or ufsboot.
Kernel Init: ufsboot (or boot.bin in some x86) program loads the core kernel into memory & executes. Kernel initializes its data structures and begins loading other kernel modules on the basis of the /etc/system file using the ufsboot program. The kernel then starts the /sbin/init program.
init: The init program starts other processes on the basis of the information contained in the /etc/inittab file. These include a program that calls the run control (rc) scripts that setup various system services.
The /etc/system file is used to determine which kernel modules are loaded & define kernel parameters.
Module Location:
platform/sparc/kernel or /platform/i86pc/kernel
/kernel
/usr/kernel
Core Required operating system files
End User System Support Core plus windowing environments
Developer System Support End User plus development environment
Entire Distribution Developer System plus enhanced features
Entire Distribution + OEM Entire Distribution plus third-party hardware drivers, SPARCs only
0 Power Down
s or S Single User
1 Administrative
2 Multiuser
3 Multiuser w/ NFS
4 Alt Multiuser (Unavailable)
5 Power Down
6 Reboot
halt 0 Stops the processor(s)
init & telinit 0123456s Processes control initialization
poweroff 5 Stops processors & powers off (if possible)
reboot 6 Reboots system
uadmin 0123456s Used for administrative control
shutdown 0123456s Changes system run level
-g seconds for grace period, 60 is default
who –r - used to determine the current run level & the date on which the change to that run level occurred.
All Run Levels (except 4) have an entry in the /etc/inittab file that identifies the rc program to execute.
The rc program is /etc/rc#
The rc scripts directory is /etc/rc#.d
Copies of all rc scripts are placed in /etc/init.d directory
Script names to start a job: S##name to stop a job: K##name