SWUpdate несколько разделов Bootenv - PullRequest
0 голосов
/ 25 февраля 2019

Я использую SWUpdate для обновления различных версий оборудования одного и того же устройства с помощью стратегии двойного копирования.Окружение загрузчика всех этих выглядит очень похоже.Тем не менее, я должен установить mmc-раздел для загрузки в зависимости от активной копии и boot_file в зависимости от версии оборудования.Чтобы сохранить sw-description-файл как можно более полным и облегчить его обслуживание, я хотел бы установить «базовую» загрузочную среду для всех устройств на первом шаге и на втором шаге перезаписать некоторые переменные в зависимости от аппаратного обеспечения.редакция и активная копия:

software =
{
    version = "1.1";
    hardware-compatibility = ["0.1","1.0"];

    device1=
    {
    copy-1:
    {
        images:
        (
            {
                filename = "rootfs.ext3.gz";
                device   = "/dev/mmcblk0p3";
                compressed = true;
            },
            {
                filename = "u-boot-env-base"; #basic boot environment
                type     = "uboot";
            }
        );
        bootenv:      #  device-specific boot variables
        (
            {
                name = "boot_file"
                value = "uImage1"
            },
            {
                name    = "mmcpart";
                value   = "3";
            }
        );
    }
    }
}

При синтаксическом анализе сообщается о обеих средах загрузчика, но применяется только одна или обе, но в неправильном порядке, потому что при проверке через fw_printenv "u-boot-env-base "не изменяется.

Я использую

SWUpdate v2018.11.0

U-Boot 2018.09.

Я чувствую, что у меня это работало в более старой установке (SWUpdate 2016).

1 Ответ

0 голосов
/ 04 марта 2019

Я обратился к списку рассылки с этим вопросом. Stefano Babic , SWUpdate разработчик и сопровождающий ответил на мой вопрос. Я просто пытаюсь обобщить его здесь.

То, что я описал, - это желаемое поведение.Не предусмотрено устанавливать переменные загрузчика дважды во время обновления.Переменные u-boot, определенные в файле, имеют приоритет над парами имя-значение u-boot в разделе bootenv , поскольку файл обрабатывается в самом конце обновления.Решение в моем случае - установить переменные only в секции bootenv .

...