Я использую релиз yocto morty для создания своего собственного linux образа.
В моем build-sdcard.bbclass я определил две функции my_mkimg_fat16 и my_mkimg_ext4 для форматирования заданных разделов с соответствующей файловой системой.
Чтобы сделать мой код более обобщенным c Я бы хотел выбрать соответствующую функцию, создав вызов функции в зависимости от выбранной файловой системы раздела:
my_mkimg _ $ (find_fs_type "persistfs") , который, например, выбирает определенную файловую систему для раздела persistfs. Функция find_fs_type уже возвращает правильный тип ext4 или fat16.
Но вот моя проблема:
my_mkimg_$(find_fs_type "persistfs")
Сбой bitbake с сообщением об ошибке "my_mkimg_fat16: не найдено "
Итак, очевидно, что конструкция работает, но bitbake не может найти функцию.
Но вызов сконструированной функции работает, если я добавлю явный вызов функции my_mkimg_fat16 раньше:
my_mkimg_fat16 "persistfs" ${SDIMG_CONFIG_DIR} ${persistfs_min_size}
my_mkimg_$(find_fs_type "persistfs") "persistfs" ${SDIMG_CONFIG_DIR} ${persistfs_min_size}
Битбэйк "оптимизирует" функцию my_mkimg_fat16, если я не вызываю ее по полному имени в рецепте?
Что мне нужно сделать, чтобы использовать
my_mkimg _ $ (find_fs_type "persistfs")
в моем коде?
Спасибо за вашу помощь