Обычно во встроенных проектах я настраивал SD-карту со следующей структурой:

  • boot: FAT32 (не смонтирован)
  • rootfs: ext4 (монтируется в ro)
  • home: ext4 (установлен в rw)

(В текущем проекте используется RPi 3 - на всякий случай нам нужно поговорить несколько конкретнее.)

Разделы boot и rootfs сохраняются как можно меньше. Вместо этого домашний раздел занимает все доступное пространство на SD-карте (максимум 32 ГБ).

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

Чтобы предоставить пользователю доступ к его собственным файлам, я настроил общий ресурс Samba в определенных папках.

Теперь у меня новый запрос: сделать домашний раздел FAT32. Таким образом (он говорит) было бы проще обновлять файлы даже без сетевого подключения, просто вставив SD-карту в ПК с Windows.

Несколько вопросов:

  • как насчет использования раздела VFAT для точки монтирования /home ?
  • Как уже говорилось, этот раздел содержит также исполняемые файлы и символическую ссылку на некоторые файлы конфигурации, такие как /etc/network/interfaces и подобные. Любые предостережения здесь? Я боюсь, что отсутствие поддержки GID/UID.
  • Любое предложение о том, как управлять разделом пользователя / данных во встроенной системе (без головы), чтобы конечный пользователь мог легко получить доступ к файлам?

2 ответа2

1

Имейте в виду, что Windows будет монтировать только первый указанный раздел на любом съемном диске. Я не уверен , является ли это первое из них всех или первых с файловой системой Windows , может понять. В любом случае это будет /boot в вашей текущей настройке, я думаю.

Я не знаю, можете ли вы создать свой раздел /boot как второй или более; или изменить свою файловую систему. Я имею в виду: я думаю, что это возможно с Linux и GRUB, но у меня есть некоторый опыт работы с Raspbian на RPi, и он не использует GRUB.

Так что, вероятно, все решено. А может и нет. Прочтите этот ответ о том, как скрыть раздел от Windows, он также должен работать с FAT32.


Если вам удалось преодолеть вышеуказанную проблему, есть другие:

Я боюсь, что отсутствие поддержки GID/UID.

И ты прав.

  • Если более одного пользователя, пользователи смогут читать чужие файлы. Но похоже, что есть только один пользователь, верно? Я так полагаю.
  • Сравните это и это. Проверка подлинности на основе ключей SSH не будет работать.
  • Другие программы могут быть затронуты аналогичным образом.

Этот ответ говорит, что он может работать с NTFS. Я думаю, что поддержка NTFS в Linux осуществляется с помощью FUSE. Прочитайте эти проблемы безопасности.

Также:

  • FAT32 разработан без учета регистра. Некоторые программы могут полагаться на чувствительность к регистру файловой системы (например, программа использует как A_file и a_file).
  • Насколько я знаю, в FAT32 нет журналирования.

Любое предложение о том, как управлять разделом пользователя / данных во встроенной системе (без головы), чтобы конечный пользователь мог легко получить доступ к файлам?

Должен ли пользователь редактировать "файлы приложения" в Windows? Рассматривайте vfat только для «мультимедиа, значков или любого другого файла, принадлежащего пользователю». Это будет установлено отдельно в месте, отличном от /home . С другой стороны, в настоящее время 32 ГБ не так много, и вы можете не захотеть делить его дальше.


Есть еще одно решение: пусть конечный пользователь использует Linux.

1

Легко попробовать, вы не можете сделать символическую ссылку в разделе vfat. ln -s говорит " операция не разрешена ". Так что VFAT, кажется, для / дома. Однако у вас может быть дополнительный раздел VFAT и ссылки на файлы / каталоги из обычной файловой системы ext4.

Если у вас есть доступ по SSH, вы можете использовать SFTP для управления файлами на RPi, поэтому не составит труда найти клиентов (т. Е. Исследователей файлов с поддержкой SFTP). Вам просто нужно настроить ключ SSH, но это тривиально (и не допустит $ prankster, кто будет иметь доступ к вашему RPi).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .