Arranque y Parada de Solaris 10

Anuncio
Arranque y parada.
David Galán Ortiz.
www.opensolarisblog.org
[email protected]
< Spain OpenSolaris Users Groups >
<OrangeBooks>
USE
IMPROVE
EVANGELIZE
Spain OpenSolaris Users Group
LENCIA......................................................................................................................3
REFERENCIAS .............................................................................................................3
ARRANQUE Y PARADA DE SOLARIS 10...........................................................4
INTRODUCCIÓN............................................................................................................4
PROCESO DE ARRANQUE SPARC..................................................................................4
PROCESO DE ARRANQUE X86.........................................................................................5
PARADA Y REINICIO DEL SISTEMA..................................................................................8
Reinicio de la máquina:....................................................................................9
Parada de la máquina:....................................................................................10
¿QUÉ ES LA OPENBOOT ?..........................................................................................11
Acceder a la OpenBoot....................................................................................11
Información sobre la máquina.........................................................................11
Información sobre dispositivos instalados.......................................................12
Arrancar Solaris desde la OBP.......................................................................14
Variables de entorno........................................................................................15
Cambiar variables de entorno.........................................................................16
Reestablecer el valor de las variables de entorno...........................................17
El comando reset..............................................................................................17
Cambiar el dispositivo de arranque ...............................................................17
Creación de alias.............................................................................................18
Comandos OBP de Diagnostico:.....................................................................20
Comandos OBP para obterner información:..................................................20
Comandos OBP para el arranque y parada:...................................................21
GESTOR DE ARRANQUE GRUB (GRAND UNIFIED BOOTLOADER).....................................21
Introducción a GRUB......................................................................................21
Arranque en modo Solaris failsafe..................................................................23
Opciones de arranque......................................................................................24
Cambiar el kernel a 32-bit...............................................................................25
2
Spain OpenSolaris Users Group
Lencia
Esta obra está bajo una licencia Reconocimiento-NoComercial-SinObraDerivada-2.5 España de Creative Commons. Para ver una copia de esta licencia,
visite http://creativecommons.org/licenses/by-nc-nd/2.5/es o envíe una carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Usted es libre de:
-
Copiar, distribuir y comunicar públicamente la obra.
Bajo las condiciones siguientes:
-
Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador.
-
No comercial. No puede utilizar esta obra para fines comerciales.
-
Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta.
-
Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la
licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de
los derechos de autor.
Referencias
Todos los nombres propios de programas, sistemas operativos, equipos hardware,
etc., que aparecen en este libro son marcas registradas de sus respectivas compañías
u organizaciones.
3
Spain OpenSolaris Users Group
Arranque y Parada de
Solaris 10
Introducción
En este capitulo veremos el proceso arranque y parada de Solaris
10, los comandos necesarios para reiniciar y parar el sistema. También
veremos la OpenBoot para la arquitecuta SPARC y GRUB para la
arquitectura x86.
Proceso de arranque SPARC
Siguiendo el grafico de la figura 4.1 el proceso de arranque en una
máquina SPARC sigue los siguientes pasos:
4
Spain OpenSolaris Users Group
1. Cuando pulsamos el botón de encendido de la maquina se
inicia la PROM y esta ejecuta un POST que realiza un
chequeo al hardware y la memoria del sistema. La PROM
muestra en pantalla información sobre el modelo de máquina
, versión de PROM, número de serie de la PROM y host ID.
Una vez finalizado el chequeo boot identifica el dispositivo de
arranque y carga bootblk situado en dicho dispositivo.
2. bootblk tiene ahora la función de cargar el programa
secundario de arranque llamado ufsboot que se encuentra en el
sistema de ficheros ufs del dispositivo de arranque.
3. Una vez cargado ufsboot en memoria este tiene la misión de
cargar el kernel en 32 o 64 bits.
4. El kernel comienza a cargar los módulos y se apoya en ufsboot
para poder tener acceso a los ficheros. Cuando ha cargado los
módulos necesarios para poder montar el sistema de ficheros
root “/” descarga de memoria ufsboot. El kernel lee el fichero
/etc/system que contiene parámetros de configuración que
afectan directamente al comportamiento del sistema y son
modificables. Una vez leído los parámetros de configuración
arranca el proceso /sbin/init.
5. El proceso init comienza la carga de los procesos que están
declarados en el fichero /etc/inittab. En versiones anteriores a
Solaris 10 se iniciaba la carga de los Runlevel. A partir de
Solaris 10 se inicia el proceso /lib/svc/bin/svc.startd que
ejecuta el proceso de arranque basado en SMF y que por
compatibilidad ejecutará o parará las aplicaciones incluidas en
los directorios rc*d.
Proceso de arranque x86
En la arquitectura x86 como novedad se ha incorporado el gestor
de arranque GRUB. Siguiendo el grafico de la figura 4.2 el proceso de
arranque en una máquina con arquitectura x86 sigue los siguientes pasos:
1. Se inicia la BIOS y realiza un chequeo hardware.
5
Spain OpenSolaris Users Group
2. La BIOS pasa el control al MBR que contiene la carga de
la primera fase de GRUB que tan solo ocupa 512 bytes.
GRUB llama a las siguientes fases hasta mostrar el menú
de GRUB donde podemos elegir el kernel para Solaris 10.
3. Elegimos el kernel y GRUB lo carga en memoria
pasándole el control.
4. El kernel comienza a cargar los módulos y se apoya en
ufsboot para poder tener acceso a los ficheros. Cuando ha
cargado los módulos necesarios para poder montar el
sistema de ficheros root “/” descarga de memoria ufsboot.
El kernel lee el fichero /etc/system que contiene
parámetros de configuración que afectan directamente al
comportamiento del sistema y son modificables. Una vez
leído los parámetros de configuración arranca el proceso
/sbin/init.
5. El proceso init comienza la carga de los procesos
indicados en el fichero /etc/inittab. En
versiones
anteriores a Solaris 10 se iniciaba la carga de los Runlevel.
A partir de Solaris 10 se inicia el
proceso
/lib/svc/bin/svc.startd que ejecuta el proceso de arranque
basado en SMF y que por compatibilidad ejecutara o
parara las aplicaciones incluidas en los directorios rc*d.
6
Spain OpenSolaris Users Group
BIOS
Al encenderla mヌquina x86 la BIOSrealiza un primer
chequeo al hardware..
GRUB
Se inicia el primer sector del disco dearranque que contiene
el
el master boot record ycarga GRUB que solo ocupa512 bytes
estandoel resto en cualquier ubucacin
ラ del disco.
GRUB muestra el menu de inicio dondeseleccionamosel
kernlel y grub lepasa el control
KERNEL
El kernel arranca y carga comienzaa cargar los
modulos basandoseen el secondary
boot program u
( fsboot) para leer los ficheros.
Cuandoel kernel tiene cargados todos los modulos
necesarios montala raiz / y deja de utilizar el ufsboot
Lee elfichero /etc/systems einicia el proceso /sbin/init
y este los procesos indicadosen /etc/inittab
SMF Y RC (RUN CONTROL)
El fichero /etc/inittab arranca/lib/svc/bin/svc.startd el
nuevo sistemade arranqueSMF que sustituyeal viejo
sistema de niveles de arranquede System V,
aunque por compatibilidad scv
.stard tambien ejecuta
los scripts de inicio rc (run control).
Figura 4.1
7
Boot PROM
Spain OpenSolaris Users Group
Muestra informaciラn sobre el sistema y realiza
un autodiagnostico del hardware y memoria.
Carga el programa primario de arranque bootblk
BOOTBLK
bootblkbusca y ejecuta el programa secundario de
arranqueufsboot quese encuentraen el sistema de ficheros UFS del
dispositivo de arranque.
UFSBOOT
UFSBOOT carga el kernel en 32 o 64 bits
KERNEL
El kernel arranca y carga comienza a cargar los
modulos basandoseen el secondary
boot program u
( fsboot) para leer los ficheros.
Cuandoel kernel tiene cargadostodos los modulos
necesariosmonta la raiz / y deja de utilizar el ufsboot
Lee elfichero /etc/systems einicia el proceso /sbin/init
y este los procesos indicadosen /etc/inittab
SMF Y RC (RUN CONTROL)
El fichero /etc/inittab arranca /lib/svc/bin/svc.startd el
nuevo sistema de arranque SMF que sustituye viejo
al
sistema deniveles de arranque de System V,
aunquepor compatibilidadscv.stard tambien ejecuta
los scripts deinicio rc (run control).
Figura 4.2
Parada y reinicio del sistema
8
Spain OpenSolaris Users Group
Cuando finaliza el arranque de la máquina se encuentra en el nivel
de ejecución multi-user-server o run level 3. En ocasiones hay que
reiniciar el sistema para realizar tareas de mantenimiento como añadir
hardware. A continuación veremos las diferentes formas de reiniciar y
parar el sistema.
Reinicio de la máquina:
Si deseamos realizar un reinicio del sistema y queremos emitir un
mensaje personalizado avisando a los usuarios usaremos el comando
shutdown que permite los siguientes parámetros:
shotdown –i niveldeejecución –g segundosdeespera “mensaje de aviso”
Ejemplo del uso de shotdown para reiniciar:
#/usr/sbin/shutdown -i 6 –g 360 “Aviso a los usuarios. El sistema se reiniciará en 60
segundos. Cierre sus aplicaciones.”
Con –i indicamos el nivel de ejecución, con –g damos 360
segundos a los usuarios para cerrar sus aplicaciones y ficheros. Cuando
finalicen los 360 segundos el sistema solicita la confirmación del reinicio
al administrador:
# Do you want to continue? (y or n):
Para reiniciar el sistema también podemos ejecutar la orden reboot:
# /usr/sbin/reboot
El comando reboot ejecuta una parada inmediata e inicia el
sistema en el nivel 3 de ejecución ahora llamado multi-user-server.
Parada de la máquina:
9
Spain OpenSolaris Users Group
Para parar el sistema de forma ordenada y después realizar un
apagado eléctrico de la máquina ejecutamos:
#/usr/sbin/shutdown -i 0 –g 360 “Aviso a los usuarios. El sistema se reiniciará en 60
segundos. Cierre sus aplicaciones.”
Si la ejecutamos el comando en una máquina SPARC se quedara
en la OpenBoot momento en el que podemos realizar el apagado
eléctrico ejecutando desde la OpenBoot el comando:
ok power-off
Si es una máquina x86 mostrara el siguiente mensaje:
Svcd.startd: The system is down.
Syncing file systems…done
Pres any key to reboot.
Podemos pulsar cualquier tecla y reiniciar o realizar directamente
el apagado eléctrico de la máquina.
Si necesitáramos parar la máquina de forma urgente podemos
utilizar el comando halt que realizara una parada inmediata no ordenada:
# /usr/sbin/halt
Para una parada urgente no ordenada pero con parada eléctrica:
# /usr/sbin/poweroff
Para reiniciar el sistema podemos ejecutar la orden reboot que
antes proceder al reinicio actualiza el superbloque:
# /usr/sbin/reboot
10
Spain OpenSolaris Users Group
¿Qué es la OpenBoot ?
Es una interfaz software que nos permite interactuar a nivel
hardware con un sistema basado en arquitectura SPARC. Puede
compararse a la BIOS de un PC pero con muchas mas posibilidades. Se
utiliza por línea de comandos y sus principales características son:

Realizar un chequeo del hardware

Ayudar al diagnostico de problemas

Establecer el dispositivo de arranque

Arrancar el sistema operativo
Acceder a la OpenBoot
Podemos acceder a la OBP de las siguientes formas:

Realizar una parada completa del sistema con los
comandos shutdown, halt o init 0.

Si estamos físicamente en la máquina con un teclado de
Sun Microsystems combinando la pulsación de las
teclas:stop+a. Para salir tecleamos el comando go .

Conectándonos por consola en puerto serie.
Información sobre la máquina
Dentro de la OBP podemos obtener información sobre la
maquina y los dispositivos conectados. El comando mas sencillo es banner
que nos mostrara información como el modelo de maquina, memoria,
numero de serie etc.. Ejecutamos el comando banner y obtenemos lo
siguiente:
11
Spain OpenSolaris Users Group
ok banner
Sun Ultra 1 UPA/SBus (UltraSPARC 167MHz), No Keyboard
OpenBoot 3.25, 512 MB memory installed, Serial #1111111.
Ethernet address 1:1:11:22:22:55, Host ID: 404444d6.
Para averiguar que versión de OBP esta ejecutando el sistema
lanzamos el comando .version.
Información sobre dispositivos instalados
Para obtener información sobre la velocidad de la CPU y buses
ejecutamos .speed:
ok .speed
{0} ok .speed
CPU Speed : 296.00 MHz
UPA Speed : 098.66 MHz
SBus Speed : 025.00 MHz
Con el comando show-dev obtenemos una lista con todos los
dispositivos del sistema:
ok show-devs
/SUNW,UltraSPARC-IIi@0,0
/pci@1f,0
/virtual-memory
/memory@0,10000000
/aliases
/options
/openprom
/chosen
/packages
/pci@1f,0/pci@1
/pci@1f,0/pci@1,1
/pci@1f,0/pci@1/pci@2
/pci@1f,0/pci@1/IntraServer,Ultra2-scsi@1
/pci@1f,0/pci@1/pci@2/IntraServer,fc@4
/pci@1f,0/pci@1/pci@2/IntraServer,fc@4/disk
/pci@1f,0/pci@1/pci@2/IntraServer,fc@4/tape
/pci@1f,0/pci@1/LSILogic,scsi@1/tape
12
Spain OpenSolaris Users Group
/pci@1f,0/pci@1/LSILogic,scsi@1/disk
Podemos obtener información de los dispositivos SCSI
conectados al sistema internamente ejecutando el comando probe-scsi.
Para muestre todos los dispositivos internos y externos usamos el
comando probe-scsi-all. El siguiente ejemplo muestra la salida de la
ejecución del comando proble-scsi-all:
ok probe-scsi-all
/pci@1f,0/pci@1/IntraServer,Ultra2-scsi@1
Target 0
Unit 0 Disk IBM DNES-506170W SA90
/pci@1f,0/pci@1/pci@2/IntraServer,fc@7
MPT Firmware Version 1.00
Target 0
Unit 0 Disk SEAGATE ST39173FC 6615
WWN 1100002022111063 ID 111d2
Target 1
Unit 0 Disk SEAGATE ST39173FC 6258
WWN 2200112342111c09b ID 111d6
Target 2
Unit 0 Disk SEAGATE ST39173FC 6258
WWN 89066660002022111 ID 111d5
Para maquinas con dispositivos sobre bus IDE esta disponible el
comando probe-ide:
ok probe-ide
Device 0 ( Primary Master )
ATA Model: ST720410A
Device 1 ( Primary Slave )
ATA Model: SAMSUNG A454674
13
Spain OpenSolaris Users Group
Arrancar Solaris desde la OBP
El comando boot nos permite arrancar Solaris desde la OBP de
diferentes formas. Los parámetros del comando boot son:
boot [nombre del dispositivo] –[opciones]
El nombre de dispositivo hace referencia al dispositivo de
arranque; podemos dejar este parámetro en blanco para que arranque
desde el dispositivo predeterminado. Las opciones para el comando boot
son:

-s Arranca en modo mono usuario single-user. Este modo no
permite la entrada de ningún usuario al sistema.

-a Arranque interactivo. El arranque interactivo nos permite
indicar al sistema que utilice otro path para localizar el kernel,
módulos y el fichero de configuración /etc/systems . También
podemos indicarle la utilización de otro sistema de ficheros. Es de
gran utilidad si deseamos probar el comportamiento del sistema
con un kernel distinto.

-r Realiza un arranque con reconfiguración para detectar nuevos
dispositivos conectados a la máquina. Si detecta nuevos
dispositivos creara una nueva entrada para cada uno de ellos en
/devices y /dev y actualiza el fichero /etc/path_to_inst.

-V Arranque el sistema mostrando información detallada sobre el
arranque y errores que se puedan producir. Esta opción esta
indicada para detectar problemas.
Ejemplos de ejecución del comando boot:
Arrancar en modo mono usuario y con detalles sobre el arranque:
ok boot –sV
14
Spain OpenSolaris Users Group
Arrancar para detectar nuevo hardware y con detalles sobre el
proceso:
ok boot -rV
Variables de entorno
El comando printenv nos permite obtener una lista de las variables
contenidas en la NVRAM con el valor establecido y su valor por defecto.
Ejemplo de la ejecución:
ok printenv
Variable Name Value
tpe-link-test?
true
scsi-initiator-id 7
keyboard-click?
false
ttyb-rts-dtr-off
false
ttyb-ignore-cd
true
ttya-rts-dtr-off
false
ttya-ignore-cd
true
ttyb-mode
9600,8,n,1,ttya-mode
9600,8,n,1,pcia-probe-list
1,2,3,4
pcib-probe-list
1,2,3
diag-level
max
output-device
screen
input-device
keyboard
boot-command
boot
……
….
Default Value
true
7
false
false
true
false
true
9600,8,n,1,9600,8,n,1,1,2,3,4
1,2,3
max
screen
keyboard
boot
Todas las variables que finalizan con ? solo pueden tener dos valores
true o false.
15
Spain OpenSolaris Users Group
Cambiar variables de entorno
Hay muchas variables en la OBP vamos a resumir las mas
importantes en la siguiente tabla:
Variable de entorno
Función
security-mode
Establece el nivel de seguridad de
la OBP.
auto-boot?
Solo puede tener dos valores true o
false. Con valor true el sistema
arrancara
automáticamente
después de realizar un power-on o
un reset.
boot-device
Contiene el dispositivo de arranque
por defecto. Podemos establecer
varios dispositivos de arranque
dejando un espacio en blanco entre
los dispositivos al definir el valor
con el comando setenv.
ttya-mode
Establece la tasa de baudios
utilizada por la consola por el
puerto serie.
valor por defecto: s 9600,8,n,1,-,
Para cambiar el valor de una variable de entorno utilizamos el
comando setenv de la siguiente forma:
setenv [nombre de la variable] [nuevo valor]
true:
El siguiente ejemplo muestra como cambiar el valor de auto-boot a
ok setenv auto-boot? true
auto-boot? = trae
ok reset
Resetting….
16
Spain OpenSolaris Users Group
Reestablecer el valor de las variables de entorno
Si queremos volver a establecer el valor por defecto a una variable
de entorno recurriremos a los comandos set-defaults y set-default. El primero
devuelve el valor por defecto a todas las variables de la OBP y el segundo
permite hacerlo de manera individual para una sola variable.
Ejemplo para dejar todas las variables a su valor original:
ok set-defaults
Setting NVRAM parameters to default values.
ok
Devolver el valor por defecto a una sola variable:
ok set-default auto-boot
El comando reset
El comando reset tiene la función del limpiar todos los buffers y
registra los cambios. Al ejecutar el comando reset si la variable auto-boot
tiene valor true reinicia el sistema si por el contrario esta a false nos
devolverá nuevamente al prompt.
Cambiar el dispositivo de arranque
El sistema tiene establecido en la variable boot-device el dispositivo
por defecto de aranque que puede ser un CDROM, un disco, una unidad
de cinta etc.. Si queremos cambiar el dispositivo de arranque por defecto
usaremos el comando setenv de la siguiente forma:
ok setenv boot-device [aliasdeldispositivo]
17
Spain OpenSolaris Users Group
El alias esta establecido por defecto aunque podemos modificarlo
o añadir nuevos alias para nuevos dispositivos. Por defecto tenemos los
siguientes alias:

disk: arranca desde disco

cdrom: arranca desde un CD o DVD

net: arranca desde red

floppy: arranca desde disquete

tape: arranca desde una unidad de cinta
El siguiente ejemplo muestra como cambiar el dispositivo de
arranque por defecto a CD-ROM:
ok setenv boot-device cdrom
El cambio de la variable boot-device es permanente por lo que si
deseamos arrancar esporádicamente desde CD-ROM o cualquier otro
dispositivo podemos ejecutar el comando boot seguido del alias del
dispositivo. Para arranque desde CD-ROM seria:
ok boot cdrom
Creación de alias
En Solaris los nombres de dispositivos físicos son algo complejos
como /pci@1f,0/pci@1,1/ide@3/cdrom@2,0:f que hace referencia a al
CD-ROM. La estructura para hacer referencia a un dispositivo físico es:
controlador@dirección:argumentos.
Tener que recordar esos nombres seria tedioso para ello
utilizamos los alias. El comando que nos permite la creación de alias es
nvalias de la siguiente forma:
18
Spain OpenSolaris Users Group
devalias [nombre nuevo alias] [dispositivo físico]
El siguiente ejemplo muestra la creación de un nuevo alias para
un nuevo CD-ROM:
ok devalias cdrom1 /pci@1f,0/pci@1,1/ide@3/cdrom@1,0:f
Si ponemos el nombre de un alias ya existente lo modificamos
con el nuevo valor.
Imagina que no creamos el alias cada vez que quieras arrancar
desde el nuevo CD-ROM ejecutarías:
ok boot /pci@1f,0/pci@1,1/ide@3/cdrom@1,0:f
Con el alias en mucho mas sencillo:
ok boot cdrom1
Para ver todos los alias existentes ejecutamos la orden devalias:
ok devalias
screen /pci@1f,0/pci@1,1/SUNW,m64B@2
net /pci@1f,0/pci@1,1/network@1,1
cdrom /pci@1f,0/pci@1,1/ide@3/cdrom@2,0:f
disk /pci@1f,0/pci@1,1/ide@3/disk@0,0
disk3 /pci@1f,0/pci@1,1/ide@3/disk@3,0
disk2 /pci@1f,0/pci@1,1/ide@3/disk@2,0
disk1 /pci@1f,0/pci@1,1/ide@3/disk@1,0
disk0 /pci@1f,0/pci@1,1/ide@3/disk@0,0
ide /pci@1f,0/pci@1,1/ide@3
floppy /pci@1f,0/pci@1,1/ebus@1/fdthree
ttyb /pci@1f,0/pci@1,1/ebus@1/se:b
ttya /pci@1f,0/pci@1,1/ebus@1/se:a
keyboard! /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8:forcemode
keyboard /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
mouse /pci@1f,0/pci@1,1/ebus@1/su@14,3062f8
name aliases
19
Spain OpenSolaris Users Group
Para quitar un alias ya creado recurrimos al comando nvunalias:
ok nvunalias cdrom1
Comandos OBP de Diagnostico:
Comando
Función
probe-scsi
Comprueba y muestra
dispositivos SCSI internos.
probe-scsi
Comprueba
dispositivos
externos.
probe-ide
Comprueba los dispositivos con
bus IDE.
wath-clock
Verifica el reloj interno.
watch-net
Verifica el tráfico de red
show-post-results
Cheque el hardware
los
y muestra
los
SCSI internos y
Comandos OBP para obterner información:
Comando
Función
banner
Muestra información sobre el
firmware y la máquina.
.version
Versión de la OBP.
show-dev
Lista todos los dispositivos del
sistema.
show-disk
Lista todos los discos del sistema.
.enet-addr
Obtenemos la dirección MAC del
sistema.
devalias
Muestra todos los alias creados.
.speed
Obtenemos información sobre la
velocidad de las CPU y buses.
20
Spain OpenSolaris Users Group
Comandos OBP para el arranque y parada:
Comando
Función
boot
Arranca el sistema.
boot –r
Arranca el sistema para detectar
nuevo hardware creando las
entradas en /devices y /dev.
boot –a
Arranque interactivo.
boot –V
Arranque
con
información
ampliada sobre las tareas que va
realizando durante el proceso de
arranque.
boot cdrom
Arranca desde el CDROM.
boot disk
Arranca desde disco.
boot floppy
Arranca desde disquete.
power-off
Apagado
máquina.
electrónica
de
la
Gestor de arranque GRUB (Grand Unified Bootloader)
Introducción a GRUB
GRUB es el nuevo gestor de arranque para arquitecturas x86 que
añade nuevas posibilidades de arranque a Solaris 10. GRUB se inicia en el
MBR ocupando tan solo 512 bytes y este pequeño código comienza la
carga del resto de GRUB ubicado en el disco.
No podemos comparar GRUB con la OpenBoot para
arquitecturas SPARC ya que la OBP se basa en hardware y software, pero
sin duda viene a mejorar las posibilidades de Solaris y su integración con
otros sistemas operativos como Linux. GRUB es un gran conocido
dentro de la comunidad Linux por lo que facilita aun mas el acercamiento
de administradores Linux a Solaris. GRUB nos ofrece tres interfaces
diferentes para el uso y configuración de GRUB:
21
Spain OpenSolaris Users Group

Interfaz de menú: es la primera que vemos cuando arranca
GRUB y muestra una lista con todas las opciones
disponibles para elegir con que sistema queremos
arrancar. (ver figura 4.4)

Interfaz de edición: Permite la edición de las opciones de
arranque establecidas para cada sistema operativo
configurado. Un ejemplo es cambiar de forma temporal
el kernel para realizar pruebas. (ver figura 4.3)

Interfaz de línea de comandos: es una pequeña shell que
permite configurar GRUB, realizare pruebas de
dispositivos, red etc..

eprom: Solaris se integra con GRUB con el comando
eprom al igual que lo hace con la OpenBoot en SPARC.
Figura 4.3 GRUB en modo edición
22
Spain OpenSolaris Users Group
Arranque en modo Solaris failsafe
Una de las opciones de arranque que podemos ver en el menú
GRUB es Solaris failsafe. Esta opción permite arrancar una imagen de
Solaris con las opciones mínimas para ayudarnos a reparar el sistema en
caso necesario. La imagen se encentra en /boot/x86.miniroot-safe.
Cuando finaliza el arranque en modo failsafe montara el disco
raiz “/” en /a. Si entramos en /a veremos todo nuestro sistema para
proceder al diagnostico del problema. Si el sistema no arranca por que
hemos
instalado un nuevo un paquete podemos proceder ha
desinstalarlo con pkgrm –r y arrancar normalmente.
El fichero x86.miniroot-safe es una imagen mínima de Solaris para
arrancar por lo tanto podemos utilizarla en una llave o disco USB.
Aunque nuestra máquina no soporte arranque desde una llave o disco
USB esto no es problema ya que GRUB si es capaz de reconocer
dispositivos USB.
Opciones de arranque
Cuando arrancamos la máquina lo primero que nos muestra
GRUB es la Interfaz de menú donde podemos elegir el sistema operativo.
Esta interfaz se basa en un fichero de configuración que permite añadir
nuevos sistemas o modificar los ya existentes. El fichero de configuración
se encuentra en /boot/grub/menu.lst .
Cuando finalizamos la instalación de Solaris el archivo queda de la
siguiente forma:
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------title Solaris 10 11/06 s10x_u3wos_10 X86
root (hd0,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive
#---------------------END BOOTADM-------------------#---------- ADDED BY BOOTADM - DO NOT EDIT ---------title Solaris failsafe
root (hd0,0,a)
kernel /boot/multiboot kernel/unix -s
module /boot/x86.miniroot-safe
#---------------------END BOOTADM-------------------23
Spain OpenSolaris Users Group
Podemos establecer el fichero /boot/grub/menu.lst los siguientes
parámetros:

default: contiene un valor numérico que se corresponde
con la posición en la lista que muestra GRUB para
seleccionar una opción de arranque. Comienza con el
valor 0, para arrancar por defecto con la opción failsafe
estableceríamos el valor a 1.

timeout: son los segundos que esperara para que el usuario
elegía una opción de arranque, si no interviene el usuario
arrancara el sistema establecido por defecto con el valor
default . Con valor -1 espera indefinidamente.
Para cambiar estos valores editamos el fichero menu.lst con
cualquier editor de texto y cambiamos el valor en la línea donde aparece
default o timeout:
#
# default menu entry to boot
default 0
#
# menu timeout in second before default OS is booted
# set to -1 to wait for user input
timeout 10
Cambiar el kernel a 32-bit
Vamos a realizar un cambio en la confirmación para arrancar con
un kernel de 32-bit sobre una máquina que tiene un procesador de 64-bit.
Añadimos al fichero menú.lst al final de la ultima entrada de
failsafe justo después de la línea que pone “END BOOTADM” una
nueva entrada apuntando al kernel:
kernel /platform/i86pc/multiboot kernel/unix –v
24
Spain OpenSolaris Users Group
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------title Solaris kernel 32-bit
root (hd0,0,a)
kernel /platform/i86pc/multiboot kernel/unix –v
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
Grabamos los cambios y arrancamos la máquina donde veremos
la nueva opción “Solaris kernel 32-bit” (ver figura 4.4) en el menú de
grub.
Figura 4.4 GRUB Interfaz para la selección del sistema.
25
Descargar