Voici une documentation qui explique comment charger un IOS sur un switch 2960 en xmodem...
Ce sera nécessaire si le switch n'arrive plus à booter, ou s'il boote en ROM. Ca peut venir d'une image corrompue, d'un défaut de flash mais parfois aussi du stagiaire qui s'est trompé d'image à télécharger après avoir effacé tout le contenu de la flash
Blague à part, c'est également une méthode intéressante pour faire des upgrade/downgrade sur un équipement complètement isolé du réseau lorsqu'on n'a pas de serveur TFTP sous la main.
Enfin bref, quand on déploie et maintient du Cisco, je pense que ça devrait faire partie du savoir-faire basique. Ca peut éviter d'avoir à faire une RMA et en ce qui me concerne, ça m'a dépanné bien des fois...
Il faut bien sûr disposer d'un émulateur de terminal ainsi que d'un soft qui supporte xmodem.
Sous Windows, Teraterm fait l'affaire (en revanche, je crois que Putty ne supporte pas xmodem). Sous Linux, je n'ai rien trouvé de mieux que Minicom, le bon vieux soft de nos grand-mères avec ses menus ASCII
1) Lancez minicom en admin et connectez vous à l'interface série du switch.
2) Il faut dans un premier temps rentrer dans la ROM du switch. Pour les plateformes 2960 (c'est aussi le cas pour les 3750), il faut éteindre le switch, appuyer sur le bouton poussoir à gauche sur la face avant puis remettre l'alim. Normalement, le switch bootera en ROM :
3) Il faut ensuite initialiser la flash pour pouvoir effectuer les opérations qui vont suivre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Using driver version 1 for media type 1 Base ethernet MAC Address: 5c:50:15:9c:71:80 Xmodem file system is available. The password-recovery mechanism is enabled. The system has been interrupted prior to initializing the flash filesystem. The following commands will initialize the flash filesystem, and finish loading the operating system software: flash_init boot switch:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 switch: flash_init Initializing Flash... mifs[2]: 12 files, 1 directories mifs[2]: Total bytes : 1806336 mifs[2]: Bytes used : 755200 mifs[2]: Bytes available : 1051136 mifs[2]: mifs fsck took 1 seconds. mifs[3]: 0 files, 1 directories mifs[3]: Total bytes : 3870720 mifs[3]: Bytes used : 1024 mifs[3]: Bytes available : 3869696 mifs[3]: mifs fsck took 0 seconds. mifs[4]: 5 files, 1 directories mifs[4]: Total bytes : 258048 mifs[4]: Bytes used : 9216 mifs[4]: Bytes available : 248832 mifs[4]: mifs fsck took 1 seconds. mifs[5]: 5 files, 1 directories mifs[5]: Total bytes : 258048 mifs[5]: Bytes used : 9216 mifs[5]: Bytes available : 248832 mifs[5]: mifs fsck took 0 seconds. mifs[6]: 5 files, 1 directories mifs[6]: Total bytes : 57931776 mifs[6]: Bytes used : 13368832 mifs[6]: Bytes available : 44562944 mifs[6]: mifs fsck took 12 seconds. ...done Initializing Flash.
4) Tant qu'à faire, autant en profiter pour formater la flash, sauf bien sûr si vous avez encore des fichiers stratégiques sur le volume. Cette opération est très rapide et si par malheur votre flash avait un défaut physique, vous aurez un message d'erreur lors de cette étape (auquel cas, il faut renvoyer le switch pour une RMA) :
entrez y, vous aurez l'affichage suivant qui confirme le formattage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 switch: format flash: Are you sure you want to format "flash:" (all data will be lost) (y/n)?
Lorsque vous reprenez la main, faites une petite vérif :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 switch: format flash: Are you sure you want to format "flash:" (all data will be lost) (y/n)?y mifs[6]: 0 files, 1 directories mifs[6]: Total bytes : 57931776 mifs[6]: Bytes used : 1024 mifs[6]: Bytes available : 57930752 mifs[6]: mifs fsck took 0 seconds. Filesystem "flash:" formatted
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 switch: dir flash: Directory of flash:/ 57930752 bytes available (1024 bytes used)
5) Un transfert xmodem, ça peut durer des heures... Je conseille donc de "mettre le turbo" qui va permettre de passer de 9600 à 115200 bauds :
Attention, BAUD est une variable d'environnement connue uniquement en majuscules dans la ROM ! Si vous saisissez BAUD en minuscules, vous resterez à 9600 bauds et vous m'en voudrez énormément
Code : Sélectionner tout - Visualiser dans une fenêtre à part switch: set BAUD 115200
5) La commande précédente a modifié la vitesse du port série, vous avez dû perdre la main sur la session, il faut donc modifier le paramétrage dans Minicom pour pouvoir accéder de nouveau au switch. Ca se fait de la façon suivante.
On affiche le menu de Minicom (CTRL a puis z) :
puis il faut aller dans le menu comm Parameters (p) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 +-------------------------------------------------------------------+ | Minicom Command Summary | | | | Commands can be called by CTRL-A <key> | | | | Main Functions Other Functions | | | | Dialing directory..D run script (Go)....G | Clear Screen.......C | | Send files.........S Receive files......R | cOnfigure Minicom..O | | comm Parameters....P Add linefeed.......A | Suspend minicom....J | | Capture on/off.....L Hangup.............H | eXit and reset.....X | | send break.........F initialize Modem...M | Quit with no reset.Q | | Terminal settings..T run Kermit.........K | Cursor key mode....I | | lineWrap on/off....W local Echo on/off..E | Help screen........Z | | Paste file.........Y Timestamp toggle...N | scroll Back........B | | Add Carriage Ret...U | | | | Select function or press Enter for none. | +-------------------------------------------------------------------+
saisir e, et normalement vous verrez la valeur Current changer vers la nouvelle valeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 +---------[Comm Parameters]----------+ | | | Current: 9600 8N1 | | Speed Parity Data | | A: <next> L: None S: 5 | | B: <prev> M: Even T: 6 | | C: 9600 N: Odd U: 7 | | D: 38400 O: Mark V: 8 | | E: 115200 P: Space | | | | Stopbits | | W: 1 Q: 8-N-1 | | X: 2 R: 7-E-1 | | | | | | Choice, or <Enter> to exit? | +------------------------------------+
En sortant de ce sous-menu (Esc), vous devriez reprendre la main sur la console du switch. Vérifiez bien que la vitesse est 115200 dans les infos en surbrillance en bas de votre écran...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 +---------[Comm Parameters]----------+ | | | Current: 115200 8N1 | | Speed Parity Data | | A: <next> L: None S: 5 | | B: <prev> M: Even T: 6 | | C: 9600 N: Odd U: 7 | | D: 38400 O: Mark V: 8 | | E: 115200 P: Space | | | | Stopbits | | W: 1 Q: 8-N-1 | | X: 2 R: 7-E-1 | | | | | | Choice, or <Enter> to exit? | +------------------------------------+
5) Passons au transfert proprement dit.
Ma machine hébergeant le fichier c2960s-universalk9-mz.122-58.SE2.bin que je veux télécharger, j'entre la commande suivante sur le switch :
Les "C" qui défilent indiquent que le port asynchrone est en écoute pour initialiser le transfert xmodem.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 switch: copy xmodem: flash:c2960s-universalk9-mz.122-58.SE2.bin Begin the Xmodem or Xmodem-1K transfer now... CCC
Si vous attendiez un peu, vous verriez un timeout :
Ce qui signifie que quand vous rentrerez la commande copy xmodem: sur le switch, vous aurez 1 minute et des poussières pour faire la chose suivante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 switch: copy xmodem: flash:c2960s-universalk9-mz.122-58.SE2.bin Begin the Xmodem or Xmodem-1K transfer now... CCCCCCCCCCxmodem:: I/O error
Dans le menu principal de Minicom :
vous sélectionnez Send files (s), qui vous donnera le sous-menu suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 +-------------------------------------------------------------------+ | Minicom Command Summary | | | | Commands can be called by CTRL-A <key> | | | | Main Functions Other Functions | | | | Dialing directory..D run script (Go)....G | Clear Screen.......C | | Send files.........S Receive files......R | cOnfigure Minicom..O | | comm Parameters....P Add linefeed.......A | Suspend minicom....J | | Capture on/off.....L Hangup.............H | eXit and reset.....X | | send break.........F initialize Modem...M | Quit with no reset.Q | | Terminal settings..T run Kermit.........K | Cursor key mode....I | | lineWrap on/off....W local Echo on/off..E | Help screen........Z | | Paste file.........Y Timestamp toggle...N | scroll Back........B | | Add Carriage Ret...U | | | | Select function or press Enter for none. | +-------------------------------------------------------------------+
Vous déplacez le curseur sur xmodem puis Enter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 +-[Upload]--+ | zmodem | | ymodem | | xmodem | | kermit | | ascii | +-----------+
Une nouvelle fenêtre ASCII apparaîtra et vous permettra de browser votre disque local.
Quand vous avez localisé le répertoire, vous déplacez le curseur sur le fichier (c2960s-universalk9-mz.122-58.SE2.bin) avec les flèches de direction puis vous appuyez sur la barre d'espace, ce qui le sélectionnera (le fichier se mettra en surbrillance). Vous faites Enter et le transfert démarrera. Vous verrez une fenêtre ASCII apparaître avec la progression du transfert.
Le switch quant à lui aura arrêté de faire défiler les "C" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 +-----------[xmodem upload - Press CTRL-C to quit]-----------+ |Sending c2960s-universalk9-mz.122-58.SE2.bin, 103476 blocks:| |Give your local XMODEM receive command now. | |Xmodem sectors/kbytes sent: 2380/297k | | | | | | | | | +------------------------------------------------------------+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 switch: copy xmodem: flash:c2960s-universalk9-mz.122-58.SE2.bin Begin the Xmodem or Xmodem-1K transfer now... C
Comme le rappelle le message, xmodem travaille par 1Kb soit 128 octets par block...
A 115200 bauds, ce fichier de 12,6 Mo (soit 103476 1K blocks) mettra environ 25 minutes pour être téléchargé dans la flash, ce qui est tout à fait acceptable. A 9600 bauds, ce serait minimum 3 heures, pensez donc bien à régler la vitesse de transfert à 115200 !
A la fin du chargement, Minicom affiche un message de fin de transfert :
ainsi que la ROM du switch :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 +-----------[xmodem upload - Press CTRL-C to quit]------------+ |Sending c2960s-universalk9-mz.122-58.SE2.bin, 103476 blocks: | |Give your local XMODEM receive command now. | |Bytes Sent:13244928 BPS:9720 | | | |Transfer complete | | | | READY: press any key to continue... | +-------------------------------------------------------------+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 switch: copy xmodem: flash:c2960s-universalk9-mz.122-58.SE2.bin Begin the Xmodem or Xmodem-1K transfer now... C............................................................................................................................................ File "xmodem:" successfully copied to "flash:c2960s-universalk9-mz.122-58.SE2.bin"
6) On vérifie que le fichier est bien sur la flash :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6switch: dir flash: Directory of flash:/ 2 -rwx 13244928 <date> c2960s-universalk9-mz.122-58.SE2.bin 44578816 bytes available (13352960 bytes used)
7) Pour rebasculer la vitesse à 9600, on entre la commande suivante :
puis on reparamètre Minicom comme expliqué plus haut pour reprendre la main.
Code : Sélectionner tout - Visualiser dans une fenêtre à part switch: set BAUD 9600
Si vous ne faites pas ce changement tout de suite, lorsque le switch redémarrera sur son image, vous verrez la commande "speed 115200" au niveau de la configuration de la ligne 'con 0'... Mais il est préférable bien sûr de rester sur la valeur standard 9600...
8) On redémarre enfin le switch sur sa nouvelle image par la commande suivante :
et le switch est de nouveau opérationnel avec une flash et une image toutes fraîches
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65switch: boot flash:c2960s-universalk9-mz.122-58.SE2.bin Loading "flash:c2960s-universalk9-mz.122-58.SE2.bin"...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ File "flash:c2960s-universalk9-mz.122-58.SE2.bin" uncompressed and installed, entry point: 0x3000 executing... Restricted Rights Legend Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) of the Commercial Computer Software - Restricted Rights clause at FAR sec. 52.227-19 and subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS sec. 252.227-7013. cisco Systems, Inc. 170 West Tasman Drive San Jose, California 95134-1706 Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 12.2(58)SE2, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2011 by Cisco Systems, Inc. Compiled Thu 21-Jul-11 02:22 by prod_rel_team Initializing flashfs... Using driver version 3 for media type 1 mifs[3]: 12 files, 1 directories mifs[3]: Total bytes : 1806336 mifs[3]: Bytes used : 755200 mifs[3]: Bytes available : 1051136 mifs[3]: mifs fsck took 0 seconds. mifs[3]: Initialization complete. mifs[4]: 0 files, 1 directories mifs[4]: Total bytes : 3870720 mifs[4]: Bytes used : 1024 mifs[4]: Bytes available : 3869696 mifs[4]: mifs fsck took 0 seconds. mifs[4]: Initialization complete. mifs[5]: 5 files, 1 directories mifs[5]: Total bytes : 258048 mifs[5]: Bytes used : 9216 mifs[5]: Bytes available : 248832 mifs[5]: mifs fsck took 1 seconds. mifs[5]: Initialization complete. mifs[6]: 5 files, 1 directories mifs[6]: Total bytes : 258048 mifs[6]: Bytes used : 9216 mifs[6]: Bytes available : 248832 mifs[6]: mifs fsck took 0 seconds. mifs[6]: Initialization complete. mifs[7]: 1 files, 1 directories mifs[7]: Total bytes : 57931776 mifs[7]: Bytes used : 13352960 mifs[7]: Bytes available : 44578816 mifs[7]: mifs fsck took 1 seconds. mifs[7]: Initialization complete. ...done Initializing flashfs. [...]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Switch#sh ver Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 12.2(58)SE2, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2011 by Cisco Systems, Inc. Compiled Thu 21-Jul-11 02:22 by prod_rel_team ROM: Bootstrap program is Alpha board boot loader BOOTLDR: C2960S Boot Loader (C2960S-HBOOT-M) Version 12.2(53r)SE, RELEASE SOFTWARE (fc3) Switch uptime is 3 minutes System returned to ROM by power-on System image file is "flash:c2960s-universalk9-mz.122-58.SE2.bin"
Steph



Répondre avec citation








Partager