Перейти к содержанию

Раздел для прошивки

Оборудование имеет 2 раздела прошивки, с обозначениями 0 и 1, один из разделов является активным второй неактивным, такая схема предназначена для безопасности при обновлении если по какой-то причине обновляемый раздел не сможет запуститься или обновиться то оборудование автоматически переходит на неактивный раздел.

Принцип работы

Описание механизма работы для двух вариантов, нормальный и с ошибкой. Для примера текущее программное обеспечение на оборудовании установлено V1, будем обновляться V2.

Обновление прошивки никогда не заменяет активный раздел

Нормальное обновление

БЫЛО

Активный раздел 0: прошивка V1

Неактивный раздел 1: прошивка V1

Запускаем процесс обновления прошивки, в результате прошивка V2 перезаписывает неактивный раздел 1 после этого он становится активным разделом а раздел 0 становится резервным.

СТАЛО

Неактивный раздел 0: прошивка V1

Активный раздел 1: прошивка V2

После обновления оборудование загружается чуть дольше обычного, проверяем версию программного обеспечения она будет соответствовать V2.

Ошибка обновления

БЫЛО

Активный раздел 0: прошивка V1

Неактивный раздел 1: прошивка V1

Запускаем процесс обновления прошивки, в результате прошивка V2 перезаписывает неактивный раздел 1 после этого он становится активным разделом а раздел 0 становится резервным.

СТАЛО

Неактивный раздел 0: прошивка V1

Активный раздел 1: прошивка V2

После обновления прошивка не запускается, после определённого количества попыток запуститься оборудование автоматически выявит аномалию и переключит текущий активный раздел на неактивный и загрузится в штатном режиме, проверяем версию программного обеспечения она будет соответствовать V1, это означает что при прошивке произошёл сбой, файл прошивки повреждён, прошивка не соответствует оборудованию.

Команды

Используте в telnet

Проверить активный раздел

nv getenv sw_commit

Сменить активный раздел

sw_commit=0
nv setenv sw_commit 1
nv setenv sw_active 1
reboot
sw_commit=1
nv setenv sw_commit 0
nv setenv sw_active 0
reboot