Arranque y parada. David Galán Ortiz. www.opensolarisblog.org dgalan@opensolarisblog.org < 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