Команда установки Linux

В настоящее время я пишу рецепт Yocto. В функции do_install я вызываю команду установки. Но все работает не очень хорошо.

Папка, которую я пытаюсь установить, содержит несколько подпапок, и в каждой папке есть куча файлов.

Я не хочу писать сотни строк вроде:

install -d "path to target folder" install "path to source file" "path to target folder" ... 

Я также использовал циклы. Но он всегда терпит неудачу в первой вложенной папке.

редактировать :

Вот последний, который я использовал:

 install -d ${D}/root install -d ${D}/root/server install -d ${D}/root/video install -d ${D}/root/images install -Dm644 ${S}/server/* "${D}/root/server/" install -Dm644 ${S}/videos/* "${D}/root/videos/" install -Dm644 ${S}/images/* "${D}/root/images/" install ${S}/crash_kernel.sh "${D}/root/"" 

Ошибка говорит мне, что команда пропускает каталог, а затем сбой. Я уверен, что это из-за подпапок, но я не могу понять, как установить все с помощью команды установки: / (btw cp не является опцией в yocto: /)

  1. Взгляните на макроязык m4 и его использование в таких инструментах, как autoconf. Это может быть правильным решением для вас.

  2. Вы можете подготовить архив или каталог, затем распаковать его на этапе установки и после распаковки добавить недостающие вещи. (Я знаю, что это похоже на cp)