См. Раздел руководства разработчика. Скрипты после установки : С недавним Yocto (> = 2.7) вы можете использовать pkg_postinst_ontarget_${PN}()
, когда вы знаете, что ваш скрипт всегда должен выполняться на цели при первой загрузке, а не во время поколение rootfs.
В более старой версии Yocto вы можете просто делать то, что pkg_postinst_ontarget _ $ {PN} делает вручную в вашей функции pkg_postinst_${PN}()
:
if [ -n "$D" ]; then
echo "Delaying until first boot"
exit 1
fi
# actual post install script here
$ D будет определено во время генерации rootfs, поэтому скрипт postinstall завершится с ошибкой. Это означает, что скрипт будет запущен снова во время первой загрузки на целевом устройстве.
Лучшим вариантом по-прежнему является исправление сценария postinstall, чтобы он работал во время генерации rootfs - иногда это, конечно, невозможно.