я написал следующий скрипт:Как монтировать раздел ext4 на внешний диск на андроид и сделать его RW доступным для всех приложений
alias mount='/system/xbin/busybox mount'
set -e
set -x
MNT=sda1
function mkdir_ext() {
if [ ! -d $1 ]; then
mkdir -p $1
fi
chown $2 $1
chmod $3 $1
}
mkdir_ext /storage/emulated/$MNT root:media_rw 777
mount -t ext4 /dev/block/$MNT /storage/emulated/$MNT
mkdir_ext /data/media/$MNT root:media_rw 777
sdcard -u 1023 -g 1023 /storage/emulated/$MNT /data/media/$MNT
После выполнения команды выше, установите отчеты:
[email protected]:/sdcard # mount|grep sda
/dev/block/sda1 /storage/emulated/sda1 ext4 rw,seclabel,relatime,data=ordered 0 0
/dev/fuse /data/media/sda1 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
Я работаю через ssh удаленно, используя rooted ssh/sftp daemon, и во время входа в систему под управлением пользователя я могу указать файлы в /storage/emulated/sda1
.
Из того, что я понимаю, андроид не зависит от регистра в отношении файловых систем по дизайну, поэтому файловая система должна быть сплавлена.
Проблема в том, что я вижу пустой каталог в /data/media/sda1
. Даже незнакомцем является то, что, если я перейду к /storage/emulated/sda1
с устройства с правами root с помощью bash shell X, я также вижу пустой каталог.
Я пробовал другие другие приложения, и я попытался также использовать sdcard_rw
вместо media_rw
(с uid/gid 1015 вместо 1023), ничего не работает.
Как получить ext4 для работы для всех приложений на основе Minix NEO X8-H? Использование чего-либо, кроме ext4, не является опцией, накопитель 4TB уже содержит важные данные. В качестве примечания стороны, sda1
представляет собой небольшой раздел размером 1 ГБ.
Ни Android, ни ext4 не чувствительна к регистру, хотя некоторые другие файловые системы и схемы эмуляции, которые он использует для таких вещей, как «внешнее запоминающее устройство» может быть так. Возможно, вы сталкиваетесь с тем, что каждый родословный процесс на Android имеет уникальный набор монтировок - поэтому то, что вы делаете в процессе setuid, опускающемся из одного приложения, не обязательно должно отражаться в другом или в adb. –
Вы говорите, что доступ к внешнему USB-накопителю из всех приложений невозможен? – Flavius
Не обязательно, но больше того, что вы, возможно, до сих пор не смогли установить для всех. Что означает «mount» в качестве вывода в оболочках, где он недоступен? –