Второй раз поймал глюк при замене прошивки на Cisco 7206.
Пробовал на разных железках с различными исходными ios.
Прошиваюсь с флешки.
Сначала делаю проверку ios на флешке — «Signature Verified».
Копирую на карту памяти cisco, делаю проверку — ошибка.
verify usbflash0:c7200p-js-mz.122-31.SB12.bin ............................................Done! Embedded Hash MD5 : 639F237BB3C806B1B2F85FA0F202B052 Computed Hash MD5 : 639F237BB3C806B1B2F85FA0F202B052 CCO Hash MD5 : 466E8F5FCCB9E67F59D4CC95E0F8F8C2 Signature Verified copy usbflash0:c7200p-js-mz.122-31.SB12.bin disk2:c7200p-js-mz.122-31.SB12.bin verify disk2:c7200p-js-mz.122-31.SB12.bin Embedded Hash MD5 : 639F237BB3C806B1B2F85FA0F202B052 Computed Hash MD5 : C18B78DFB64EE6E5AFE9085131B87CE9 CCO Hash MD5 : 1486433470A729247BE7BC65313A1ADB %ERROR: Signature not valid for file usbflash0:c7200p-js-mz.122-31.SB12. |
При этом, если сначала скопировать с usb->bootflash->disk2, то все ios успешно проходят верификацию.
copy usbflash0:c7200p-js-mz.122-31.SB12.bin bootflash:c7200p-js-mz.122-31.SB12.bin verify bootflash:c7200p-js-mz.122-31.SB12.bin ............................................Done! Embedded Hash MD5 : 639F237BB3C806B1B2F85FA0F202B052 Computed Hash MD5 : 639F237BB3C806B1B2F85FA0F202B052 CCO Hash MD5 : 466E8F5FCCB9E67F59D4CC95E0F8F8C2 Signature Verified copy bootflash:c7200p-js-mz.122-31.SB12.bin disk2:c7200p-js-mz.122-31.SB12.bin verify disk2:c7200p-js-mz.122-31.SB12.bin ............................................Done! Embedded Hash MD5 : 639F237BB3C806B1B2F85FA0F202B052 Computed Hash MD5 : 639F237BB3C806B1B2F85FA0F202B052 CCO Hash MD5 : 466E8F5FCCB9E67F59D4CC95E0F8F8C2 Signature Verified |
Кому интересно, под катом бинарное сравнение, того что должно быть и того что залилось в Cisco
Для начала проверка стандартным архиватором
Стандартная MD5 Sum:
$ md5sum c7200p-js-mz.122-31.SB12.bin 466e8f5fccb9e67f59d4cc95e0f8f8c2 c7200p-js-mz.122-31.SB12.bin $ md5sum c7200p-js-mz.122-31.SB12.bad.bin 1486433470a729247be7bc65313a1adb c7200p-js-mz.122-31.SB12.bad.bin |
Binary Diff
$ diff <(od -A x -t x1 c7200p-js-mz.122-31.SB12.bin) <(od -A x -t x1 c7200p-js-mz.122-31.SB12.bad.bin)>q $ cat q 12747,12750c12747,12750 < 0324c0 58 a6 12 1c 5c 1e 1f af 15 f9 2b ce f3 1d d8 03 < 0324d0 a6 98 e4 1d b5 6d da fd 34 b3 b4 3e cd 8c ad 9f < 0324e0 10 fe a5 12 7f 49 8e 4c 94 b8 d1 10 2a 67 05 61 < 0324f0 e2 b9 d8 1f 12 f1 4b 43 fc fd eb 9e 22 7d ef 29 --- > 0324c0 12 1c 5c 1e 1f af 15 f9 2b ce f3 1d d8 03 a6 98 > 0324d0 e4 1d b5 6d da fd 34 b3 b4 3e cd 8c ad 9f 10 fe > 0324e0 a5 12 7f 49 8e 4c 94 b8 d1 10 2a 67 05 61 e2 b9 > 0324f0 d8 1f 12 f1 4b 43 fc fd eb 9e 22 7d ef 29 00 29 33278c33278 < 0827f0 5a 7c 34 e2 97 fe fd 10 f3 a3 36 3c 89 73 fa 74 --- > 0827f0 5a 7c 97 fe fd 10 f3 a3 36 3c 89 73 fa 74 00 74 65996,65998c65996,65998 < 1024d0 f3 10 5a af 44 06 85 b7 c5 93 25 0f 61 db b9 f2 < 1024e0 10 5a 7b b4 7f f4 86 f5 9f ea 3c 84 09 9e 51 b4 < 1024f0 36 a5 f2 10 16 ee 69 09 d8 79 08 45 f7 d4 3c 84 --- > 1024d0 f3 10 5a af 44 06 85 b7 c5 93 25 0f b9 f2 10 5a > 1024e0 7b b4 7f f4 86 f5 9f ea 3c 84 09 9e 51 b4 36 a5 > 1024f0 f2 10 16 ee 69 09 d8 79 08 45 f7 d4 3c 84 00 84 ...... |
Таких строчек много, но в общем-то видно, что иногда проскакивают явно лишний символы, смещая тем самым весь бинарный код.
При этом итоговый размер файла не меняется.
$ ll total 43608 -rw-r--r-- 1 22274468 Mar 18 15:45 c7200p-js-mz.122-31.SB12.bad.bin -rw-r--r-- 1 22274468 Oct 5 07:26 c7200p-js-mz.122-31.SB12.bin |