Настройка возможностей Linux в Yocto ext4 Image - PullRequest
0 голосов
/ 16 мая 2018

Я намерен установить некоторые возможности для двоичных файлов, включенных в образ Yocto, с помощью «setcap».По какой-то причине упомянутые здесь решения не сработали: Возможности Linux с yocto .Я проверил это, запустив getcap для моего двоичного файла в каталоге создания rootfs:

getcap ${IMAGE_ROOTFS}/usr/bin/mybinary

ничего не возвращает.Также я не нахожу возможности в окончательно работающем образе sdcard.

Затем я попробовал подход, используя IMAGE_PREPROCESS_COMMAND.Я обернул команды setcap в небольшие функции оболочки, такие как:

my_setcap_function() {
    sudo setcap cap_ipc_owner+ep ${IMAGE_ROOTFS}/usr/bin/mybinary
}

и добавил имена функций в IMAGE_PREPROCESS_COMMAND.Это работает до такой степени, что при запуске getcap для моего двоичного файла в каталоге {IMAGE_ROOTFS} действительно отображается правильный набор заглавных букв.Однако я все еще не получаю возможности в окончательно работающем образе SDCard.

Также, если я монтирую rootfs ext4 (который используется для создания окончательного образа SDCard) в каталоге, используя цикл -o, я неувидеть возможности моего двоичного файла.Мне кажется, что возможности каким-то образом теряются, когда ext4 создается с использованием mkfs.ext4.

Мне пришлось присоединить sudo к setcap, потому что в противном случае он жалуется, говоря: «невозможно установить эффективную возможность CAP_SETFCAP: операция не разрешена»,Хотя я понимаю, что команды IMAGE_PREPROCESS_COMMAND выполняются с использованием fakeroot, поэтому это sudo не требуется.

Итак, чтобы подвести итог моего вопроса:

  1. Как получить возможности на SD-картеИзображение сделано с использованием ext4 rootfs image?
  2. Я хочу использовать способ, который не требует использования "sudo".

Я использую Yocto Krogoth и в настоящее время не могу его обновить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...