Popis bootu počítače s operačním systémem Solaris na platformách x86 a SPARC.
Boot Solarisu na x86
- Primary boot
- Boot from FDD
- 0. sektor na FDD obsahuje Master Boot Block
- MBB nacte image boot loaderu strap.com
- strap.com nacte boot.bin
- boot.bin natahuje jadro
- je stejny jako z FDD, jen je MBB nahrazeny podle specifikaci El-Torito
- 0. sektor na HDD obsahuje MBB a FDISK tabulku (rozdeleni disku)
- MBB najde v FDISK tabulce prvni aktivni oddil
- nacte z nej prvni sektor a skoci na jeho prvni byt v pameti
- (az potud to je standardni PC-kompatinilni rezim boot)
- boot solarisu:
- slice s0
- 1 cylindr – slice boot
- 1. sektor – obsahuje partition boot program (pboot)
- 2. a 3. sektor – obsahuje VTOC (tabulka rozdeleni na slices)
- 4. a dalsi sektory – obsahuje bootblk
- Master boot program (mboot) nacte partition boot program (pboot) a spusti ho
- pboot nacte bootblk a spusti ho
- pokud disk obsahuje dalsi partisny, tak muze user nabootovat z jine
- bootblk nebo strap.com nacte boot.bin z UFS / a spusti ho
- boot z FDD
- PXE
- boot.bin
- prepne CPU do 32bit, paget, protectet rezimu
- provede omezenou inicializaci stroje
- Configuration Asistant
- pokud je auto-boot?=false, tak se zastavi boot
- Disky (i CDROM) zvladne v pripade, ze pouzivaji UFS
- network
- rarp
- dhcp
- root se mountuje pres NFS
- po namountovani / spusti nacte /etc/bootrc
boot -as, příkaz b -as/etc/bootrc/platform/`uname -i`/boot/solaris/boot.bin
Boot Solarisu na platformě SPARC
OBP
+--------------+
| diag-switch? |-----true----+
+--------------+ |
| +--------+
| | POST |
false +--------+
| |
|---------------------+
|
+-------------+ +------------+
| auto-boot? |---false---| OK Prompt |
+-------------+ +------------+
|
true
|
+----------------------------------------+
| boot device boot-file |
| boot-command + + |
| diag-device diag-file |
+----------------------------------------+
boot -s– single user režim-
- z disku – chce heslo
- cdrom – nechce heslo
/usr,/var– jsou potřeba i v single režimu
boot -r– rekonfigurační režimboot -a– umožní zadávat různé parametry bootu (lze tím vyřešit problémy s/etc/systema podobně)
z disku
- Načtení VTOC (= 1. sektor disku), rozdeleni slice. Příkazy, které vás můžou zajímat:
-
formatfmthardprtvtoc
- načte se boot block (nahraje se do paměti program
bootblk), 2.-16. sektor na slice, pozor, HW závislý! -
/usr/sbin/installboot– nainstaluje bootblk, je to skript používajícíddPokud obnovujete systém ze zálohy, většinou musíte ručně obnovit boot block. Vlastní program bootblk je v adresáři/usr/platform/`uname -i`/lib/fs/ufs.
- bootblk načte sekundární bootovací program ufsboot, program ufsboot je HW závislý a je umístěný v adresáři
/platform/`uname -i`/ - načte se
/etc/systema pak 32b nebo 64b jádro a jeho moduly. -
32b–/platform/`uname -m`/kernel/64b–/platform/`uname -m`/kernel/sparcv9- moduly –
/kernel/,/usr/kernel/
- Po inicializaci jádra se jako první proces spouští
/sbin/init initnačte konfiguraci z/etc/inittab(jako prvnísysinitainitdefault), porvedesysinita pak pokračuje runlevelem který je zaznamenán vinitdefault. Soubor/etc/inittabse načítá a provádí od začátku do konce v tom pořadí jak jsou záznamy zapsány.
ze sítě
Pro boot ze sítě se používá protokolo RARP nebo jeho nastupce DHCP
- klient pošle broadcastem dotaz
- server odpoví klientovi jeho IP adresou
-
/etc/ethersrarpd -a
- Na serveru musí být aktivní tftp server a v adresáři
/tftpbootmusí být soubor s nazvem IP v hexadecimálním tvaru, který si klient stáhne. Po stažení se spustí a přez RPC dotaz na server zjistí své jméno. Odpověď dostane od daemonabootparamd, jeho nastavení je v/etc/bootparams.
installboot
boot z CD-ROM:
ok boot cdrom -s
instalace bootblk na disk:
# cd /usr/platform/`uname -i`/lib/fs/ufs
# installboot bootblk /dev/rdsk/c0t0d0s0
reboot:
# init 6