Я использую 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).