Title: The Boot Process
1The Boot Process
- ICE System Consultant Group 2nd
- 2002? 5? 24?
2System Boot PROM Phase
- It runs self-test diagnostics.
- Hardware, memory
- It displays the system identification banner.
- Model, keyboard, PROM vision, RAM, serial
num.,Ethernet add., host ID - It reads the disk label located at sector 0 on
the default boot device. - It finds the boot program form the default boot
device programming into PROM - Boorblk(sector 1-15)
- It loads the boot program
- /platform/uname m/ufsboot
3System Boot Cycle
Kernel Initialization phase
Boot program phase
PROM runs
Load kermel modules
Ufsboot
OK printenv boot-devices
32 or 64 bit kernel
Read /etc/system file
Ok boot Read disk label(sector0)
Kernel initializes itself And start the init
process
Boot PROM phase
Reads boot block (sector0-15)
The init process starts the runcontrol script
PROM loads boot block (bootblk) program
The /sbin/init phase
4Autoconfiguration Process
- Kernel modules loaded on demand
- Kernel modules loaded into memory
- Kernel configured dynamically
5Auto configuration Process
- 64-bit kernel
- /platform/uname m/kernel/sparcv9/unix
- /platform/uname m/kernel/sparcv9/genunix
- 32-bit kernel
- /platform/uname m/kernel/unix
- Subdirectory
- drv device drivers pseudo device drivers
- exec
- fs file system modules
- misc miscellaneous modules
- sched
- strmod
- sys
6The /etc/system File
- Customize to change kernel configuration process
- Moddir variable
- Rootdev variable root device????
- Exclude variable - autoconfiguration
- Forceload variable memory ??
- Set variable
- Override default value using variablevalue
7Kernel Rebuild
- PROM mode
- Ok boot r
- OS mode(shutdown)
- reboot -- -r
- OS mode(non-shutdown)
- drvconfig
8The /sbin/init Phase
- Main roles
- It creates processes which bring the system up to
the default run level - It controls transition between run states by
rereading the /etc/inittab file
9Boot Terminology
- Run levels
- 0(PROM),
- 1(single user, file system mount)
- 2(multiuser, without NFS)
- 3(multiuser, with NFS)
- 4(not used)
- 5(halt)
- 6(reboot)
- S or s(singe user mode)
- Run control scripts
- Single-user mode(1 and S level)
- Multi-user mode(2 and 3 level)
10The /etc/inittab File
- /etc/inittab
- fssysinit/sbin/rcS gt/dev/console 2gt1
lt/dev/console - is3initdefault
- p3s1234powerfail/usr/sbin/shutdown -y -i5 -g0
gt/dev/console 2gt1 - s223wait/sbin/rc2 gt/dev/consol
- sc234respawn/usr/lib/saf/sac -t 300
11The init Process and the /etc/inittab File
Set initdefault to level3 Run entries with
sysinit in action filed Run entries with 3 in
restate filed
Init process
12The /etc/rc.d Directories
- Uppercase K0-90-9A-z0-9 -gt kill
- Uppercase S0-90-9A-z0-9 -gt Start
- File name starting with lowercase letters will
not be run - The /etc/init.d Directory
- Hard link -gt /etc/rc.d
- ln -s symbolic link
13Run Control Files
- Identify the run level for the service.
- Determine which services are needed by the new
process. - Create the startup (shutdown) scrip in
/etc/init.d for each service. - Change to the appropriate /etc/rc.d and create
hard links to the new /etc/init.d scripts. - Repeat the process for the directory containing
the shutdown script. - Test
14Run Control Cycle
- /sbin/rc0
- system services and all running process are
stopped - /sbin/rc1
- userlogin disable, remote file system unmounted.
- /sbin/rc2
- /sbin/rc3
- /sbin/rc5
- /sbin/rc6
- /sbin/rcS