Instalar IOS en switches Cisco desde ROM Monitor
Otra vez les traigo el resultado de un reto Cisco, en este caso, cómo instalar un IOS en un switch de la serie 2900 (seguramente funcione en otros modelos) desde el ROM Monitor. En un post anterior les mostré cómo actualizar el IOS de estos equipos, pero contando con un IOS base desde el cual hacer el trabajo. En este artículo les voy a comentar cómo instalar un IOS en un switch que no tiene ningún IOS, ya sea porque el que tenía se corrompió, o bien porque (como yo) se mandaron una cagada al intentar hacer el cambio y rompieron el IOS que tenían antes de instalar uno nuevo =P
En mi caso, el problema fue que borré el IOS que tenía instalado para hacer lugar para el que quería instalar (gracias Cisco por poner unos pocos megas mugrosos de flash!!!), y luego copié un IOS sin descomprimir (behh).

Si no tenemos un IOS en buen estado para bootear, el switch queda en el bootstrap (Cisco lo llama ROM Monitor), el cual provee una funcionalidad muy (MUY!) básica. Este bootstrap se ejecuta siempre que encendemos el switch, piensen en él como el grub de los switchs. Cuando existe un IOS booteable, el bootstrap lo carga, pero sino, quedamos atascados en este pequeño programa.

Entonces, qué hacemos?
Es claro que si no tenemos IOS, necesitamos cargar uno nuevo. Versiones modernas del ROM Monitor permiten utilizar tftp para la transferencia, o bien cargar automáticamente un IOS por tftp si dejamos pulsado el botón MODE, como vimos en el caso de los AP 1240 .
En los switchs más antiguos (como los 2900), no contamos con ninguna de las dos posibilidades, así que tenemos una sola alternativa... copiar el IOS a través de la consola usando el protocolo XMODEM.

Los pasos que describo a continuación los tomé de Recovering Catalyst Fixed Configuration Switches from a Corrupted or Missing Image, modificándolos para utilizar minicom además de Hyper Terminal.

1. Apenas iniciamos el switch, ejecutar flash_init y load_helper.
2. Ver si tenemos espacio en la flash para la nueva imagen con "dir flash:". Si no tenemos lugar, borrar la imagen vieja:
delete flash:c2950−i6q4l2−mz.121−11.EA1a.bin
3. Copiar la nueva imagen utilizando xmodem. Para ello, en el switch ejecutamos el comando:
copy xmodem: flash:c2950−i6q4l2−mz.121−13.EA1.bin
Si estamos utilizando minicom para la conexión con el switch (ver Acceder dispositivos Cisco desde GNU/Linux con minicom), el siguiente paso es ejecutar:
- CTRL-A y luego Z, para entrar a las opciones de minicom
- S para elegir la opción "send file"
- elegimos la opción xmodem, con lo cual se nos abrirá un navegador de archivos. En este navegador buscamos el archivo con la imagen del IOS, lo seleccionamos con la barra espaciadora y le damos Okay y luego enter.
Si, en cambio, utilizan Hyper Terminal:
- Vayan al menu "Transfer -> Send File"
- escriban el path a la nueva imagen, o bien busquenla utilizando la opción "Browse".
- elijan la opción Xmodem en la sección "Protocol" de la ventana y aprieten "Send" para enviar el archivo.
4. Cuando se complete la transferencia, ya tendremos la nueva imagen en la flash. Tengan en cuenta que la transferencia por xmodem es asquerosamente lenta!!! tardé cerca de una hora para copiar 1MB! así que tengan paciencia jeje
Lo que hacemos a continuación es bootear la nueva imagen utilizando el comando:
boot flash:c2950−i6q4l2−mz.121−13.EA1.bin

Ahora si, hemos convertido un switch pisa papeles (el clásico stoned) en uno utilizable. Espero que les sirva!

5 comentarios:

Anónimo dijo...

Muy bueno tu blog, te felicito por compartir esta informacion... Respecto a esto mismo me gustaria hacerte una consulta, resulta que segui todos estos pasos con un SW Catalyst 2960 que me imagino que no varia en lo absoluto. El gran inconveniente que tengo es el comando load_helper no lo toma, dice que es desconocido... me podrias sugerir algo?? estoy a punto de parir con esta traba jejejeje saludos!!!

Anónimo dijo...

soy el mismo del comentario anterior, quiciera añadir otra consulta mas... basta que solo tenga el cable consola conectado al SW???

d3m4s1@d0v1v0 dijo...

Probaste de realizar el resto de los pasos? el load_helper creo que es sólo para cargar el ayuda, así que si no lo tenés deberías poder realizar el resto de los pasos igual.
Por que leo, el 2960 debería funcionar de forma muy similar a 2924 donde probé lo descripto en el artículo.
Te paso el link al artículo de Cisco donde explican cómo copiar una imagen nueva, es lo mismo que describo en este artículo, pero con un poco más de detalle:
http://www.cisco.com/en/US/products/hw/switches/ps628/products_tech_note09186a0080169696.shtml
Suerte!

Anónimo dijo...

ya resulto todo bien, gracias!!! el comando load_helper no es necesario... mi problema fue que estaba colocando los comandos CON ESPACIO, la CLI es super sensible y exige que se coloque exactamente igual... por ejemplo estaba digitando:

copy xmodem:flash:c2955-i6q4l2-mz.121-13.EA1.bin

En vez de:
copy xmodem: flash:c2955-i6q4l2-mz.121-13.EA1.bin

si te fijas lo estaba colocando sin espacio entre los dos puntos despues del xmodem y el flash, debí agregar ese espacio... Un simple detalle pero que me hizo llorar como dos dias jejeje dejo el dato por si alguno comete la misma estupidez mia ajajaja !!! saludos!

d3m4s1@d0v1v0 dijo...

Esas cosas te vuelven loco, son errores muy difíciles de encontrar =S
Me alegra que lo arreglaras, gracias por compartir la experiencia!

Publicar un comentario