На petalinux не работает lsmod

lsof всегда пытается получить некоторую базовую информацию обо всех файловых системах, даже если аргументы случайно предполагают, что результат не будет получен от конкретной файловой системы. Если она не может получить доступ к файловой системе (в частности, вызвать stat в точке монтирования, как говорится в сообщении), она жалуется.

С правами суперпользователя у вас обычно есть разрешение на доступ к файловой системе. Однако, из-за внутренней работы FUSE, root автоматически не имеет всех прав на файловую систему FUSE. Это не функция безопасности (root может стать пользователем, которому принадлежит файловая система, и получить доступ таким образом), это техническое ограничение.

GVFS-FUSE - это интерфейс FUSE к GVFS, который представляет собой механизм, позволяющий приложениям Gnome получать доступ к виртуальным файловым системам, реализованным плагинами Gnome: GVFS предоставляет приложениям, не входящим в Gnome, доступ к этим виртуальным файловым системам через обычный интерфейс файловой системы.

0
07.03.2014, 01:20
3 ответа

Как и большинство Unix-команд, lsmod(8) молчит, когда ему нечего сообщить. В вашем случае это означает, что у вас не загружены никакие модули.

  • Ядро Linux может сконфигурировать многие части в виде модулей (для загрузки/выгрузки во время выполнения) или сборки. Большинство дистрибутивов настраивают как можно больше модулей, это крошечный штраф за производительность, но огромная победа в гибкости. Конечно, можно настроить ядро под конкретную машину, не имея модулей. Возможно, имеет смысл полностью отключить загрузку модулей, так как способы загрузки иностранного кода создают риск безопасности.
  • Почему это так в вашем конкретном случае, с этим дистрибутивом, зависит от политики дистрибутива (я не знаю) и вашей точной настройки.

    .
  • 1
    28.01.2020, 02:37
    [112353] Если выходные данные из [112757]lsmod[112758] и [112759]/proc/modules[112760] ничего не показывают, то вероятным выводом будет то, что ваш дистрибутив потенциально собирался со всеми модулями, скомпилированными в кернеле, и поэтому нет никаких модулей, которые можно было бы посмотреть.

    Я бы посоветовал вам заглянуть на сайт PetaLinux, который является частью сайта Xilinx, есть [112761]FAQ[112762], который имеет следующую тему: "Как мне добавить модули ядра в мою корневую файловую систему PetaLinux?". Ответ на этот FAQ, [112763]Answer Record 55997[112764].

    Этот ответ показывает, как загрузить готовые модули ядра для вашей конкретной целевой архитектуры (Microblaze, ARM и т.д.).[112358].

    1
    28.01.2020, 02:37

    Обе команды /proc/modules и lsmod считываются с одних и тех же интерфейсов ядра. Наиболее распространенная причина загрязнения - загрузка модуля, который объявляет лицензию, отличную от GPL. Все официальные модули ядра имеют лицензию GPL.

    Я думаю, что причина, по которой ваш вывод lsmod пуст, в том, что во время компиляции ядра вы ничего не компилировали с поддержкой модулей. Вы можете обратиться к /boot/config-$(uname -r). Я не думаю, что вы получите запись типа

    0
    28.01.2020, 02:37

    Теги

    Похожие вопросы