Boot su sistemi SUN Solaris 2.X
Quando si accende un sistema SUN questo automaticamente effettua il reboot, carica il sistema operativo ed attiva tutti i servizi.
Vi sono diverse situazioni (effettuare installazioni, introdurre nuovo hardware, ...) in cui la sequenza di boot deve essere modificata. E' pertanto utile conoscere quali siano le possibilita' presenti.
Interrompere il boot
In una normale configurazione il reboot all'accensione e' automatico. Per interrompere il boot e' sufficiente premere [STOP] [A]. La pressione della coppia di tasti interrompe qualsiasi attivita' presente sul sistema e passa il controllo ad un EPROM, viene visualizzato un prompt (ok >) ed da esso e' possibile lanciare diversi comandi. La shell di console del sistema e' chiamata OBP (Open Boot PROM).
Per far riprendere l'attivita' interrotta dare il comando ok > go.
Poiche' le prime attivita' svolte dal boot non agiscono sui dischi in scrittura, se interrotta tempestivamente, la ripartenza del sistema non crea alcun tipo di problema.
Parametri del boot
Il comando per effettuare il boot e', con fantasia, boot. Il comando accetta diversi parametri (preceduti da un "-"):
Al boot e' possibile indicare il device da cui leggere il sistema operativo.
In diversi casi puo' effere utile effettuare il boot da CDROM. In questo caso il device sara' cd o cdrom. Caricato il sistema da CD e' poi possibile montare i vari dischi presenti ed eventualmente agire su di essi (operazione molto frequente nel caso in cui il sistema non riesca ad effettuare il bootstrap da hard disk). Nota: a partire da Solaris 2.5, con il boot da CD-ROM, vengono resi disponibili i devices di tutti i dischi connessi al sistema, sulle versioni precedenti venivano presentati i soli dischi connessi alla catena SCSI principale.
E' anche possibile utilizzare dischi alternativi in questo caso e' necessario utilizzare il nome completo del device che si intende utilizzare.
E' possibile anche attivare il kernel debugger al boot come descritto in Utilizzo del kernel debugger su sistemi Solaris.
L'albero dei devices
E' possibile controllare l'elenco tutti i devices che l'hardware riconosce. I comandi per controllare i devices sono molto semplici e ricordano la navigazione di un file system. Infatti i devices sono organizzati in strutture gerarchiche che partono da root (ovviamente /) su cui ci si sposta con cd e che si esaminano con ls.
Per iniziare la "navigazione" partire con cd /.
Questi comandi sono molto utili poiche' i devices di boot hanno nomi lunghissimi e dipendenti dall'hardware.
Controllo della catena SCSI
La maggior parte dei dispositivi esterni e' connessa al sistema mediante una catena SCSI. Il collegamento tramite SCSI offre buone prestazioni (da 5MB/sec a 20MB/sec a seconda delle versioni) e, soprattutto, e' standard.
Possono verificarsi problemi di collegamento sulle catene SCSI o sui devices connessi. Per diagnosticare questo tipo di problemi sono disponibili alcuni comandi:
ok > probe-scsi
....Viene visualizzato l'elenco dei devices connessi alla catena principale
ok > probe-scsi-all
....Viene visualizzato l'elenco di tutti i devices
La sequenza di boot
Puo' essere utile conoscere la sequenza di boot del sistema.
Il boot PROM cerca sul device indicato un altro caricatore, generalmente ufsboot.
Questi si occupa di caricare il kernel (tipicamente il file unix).
Il kernel si configura leggendo gli eventuali parametri contenuti nel file /etc/system. Nel file /etc/system e' possibile modificare il valore delle strutture dati mantenute dal kernel ed indicare il caricamento di moduli di estensione.
Viene quindi attivato il processo init. Da questo punto in poi il comportamento e' "normale" nel senso che sono gia' presenti tutte le funzionalita' del sistema operativo. Il processo init legge dalla tabella /etc/inittab le attivita' da svolgere. Tipicamente in /etc/inittab e' indicato che il livello di default del sistema e' il 2 (multiuser) o il 3 (multiuser ed nfs server). A seconda del livello sono indicati i programmi da eseguire tra cui, tipicamente /etc/rc2 (o /etc/rc3).
Tale shell script esegue, in ordine alfabetico, tutti i file dal nome /etc/rc2.d/S* che sono al loro volta altri shell script. Questi, con normali comandi Unix e nell'ordine indicato, si occupano di montare i file system, ripulire le directory temporanee, attivare le interfacce di rete, attivare tutti i servizi configurati sul sistema (di default o installati dall'amministratore Unix).
Se tutto e' andato bene, il sistema e' ora perfettamente utilizzabile.
Altri comandi
Al PROM boot sono disponibili diversi altri comandi. E' inoltre possibile impostare variabili modificando cosi' il comportamento del sistema comandi di printenv e setenv (eg. setenv auto-boot? false oppure setenv diag-switch? true). Piuttosto che annoiare con un inutile sequenza, preferiamo ricordare il comando di help che offre una descrizione, benche' sommaria, delle varie possibilita'.
Testo: Boot su sistemi SUN Solaris 2.X
Data: 13 Giugno 1997
Versione: 1.1.2
Autore: mail@meo.bogliolo.name