Burada ext4 biçimli bir SD kart oluşturmanın bazı belirtilerini görüyorum, ancak kılavuz yok. Bu yakından alakalı soru, bunu yapmanın bir yolu olmadığını gösteriyor, ancak sorumun telefonumun köklü olması farklı.
Kartımı ext4 (GUID bölümleme tablosu) olarak biçimlendirdim; Cyanogenmod telefonum onu monte etti /mnt/fuse/sdcard1. Aşağıdaki komut dosyasını oluşturarak kartı takmak için buradaki talimatları /storage/sdcard1uyguladım./data/local/userinit.sh
#!/system/bin/sh
REALMNT=/mnt/fuse/sdcard1_real
if ! [ -d "$REALMNT" ]; then
mkdir "$REALMNT" || exit 1
fi
mount -t ext4 /dev/block/mmcblk1p1 "$REALMNT"
sdcard "$REALMNT" /storage/sdcard1 1023 1023 &
Yeniden başlattım ve bir dosyayı (ES Dosya Gezgini'ni kullanarak) kopyalamaya ve başarısız olan üst dizinine yapıştırmaya çalışıyorum:
/storage/sdcard1/foo/bar.mp3: open failed: EACCES (Permission denied).
Aslında dosyayı gayet iyi oynatabiliyorum, bu yüzden açabiliyorum . FWIW, orijinal bağlama noktasından ( /mnt/fuse/sdcard1) kopyalamayı denediğimde , biraz farklı bir hata alıyorum:
Failed to copy the file bar.mp3
Cyanogenmod 10.2.0-i9300 ile bir Samsung Galaxy S3 kullanıyorum.
== DÜZENLEME ==
su
ls -l /mnt/fuse
drwxrwxr-x media_rw media_rw 2014-03-04 22:08 sdcard1
Hepsi buydu. sdcard1_realBu dizinde yok , bu yüzden betiğin başarısız olduğunu varsayalım?
== EDIT2 ==
Sorun gidermek için komut dosyasını değiştirmeyi denedim. Komut dosyası iyi başlıyor, ancak mkdir "$REALMNT"hatayla başarısız oluyor /data/local/userinit.sh[6]: : not found.
== EDIT3 ==
Betiğin çalışmadığını biliyorum, bu yüzden düzeltmek sorumu çözebilir, ancak aşağıdakilerin ilginç olduğunu düşündüm. SD kartımı Linux bilgisayarımda biçimlendirdim ve bazı dosyaları ona aktardım. İşin garibi, izin hataları yalnızca oluşturduğum alt dizinlerde oluşuyor. Bölümün kökünde (üzerinden /storage/sdcard1) zaten yazma iznim var.
sukök almak için, terminal içinde. İlk kez yapıyorsanız, telefonda izin verdiğinizi onaylamanız gerekebilir.
echo Script executed > /mnt/fuse/sdcard1/test.log, bazı hata ayıklama çıktıları eklemek ve çalışıp çalışmadığını kontrol etmek isteyebilirsiniz. Öyleyse, bir önceki son satırı yapın mount -t ext4 /dev/block/mmcblk1p1 "$REALMNT" 2> /mnt/fuse/sdcard1/test.logve hata mesajını kontrol edin. Veya görmek elle komut dosyasını çalıştırın: su /data/local/userinit.sh.
touchbetiğin çalıştığını gösterir. Komut dosyasını el ile yürütmeyi denedim su /data/local/userinit.sh, ancak bu başarısız oldu. Ben de denedim su echo foove benzer bir hata alıyorum: Unknown id: echo.
echoher komutu çalıştırmadan önce çıktı almak için kullanarak daha fazla hata ayıklama bilgisi eklemenizi ve hata çıktısını 2>>.
ls -l /mnt/fuse/vels -l /mnt/fuse/sdcard1_real. Ardından , sonuçları dahil etmek için sorunuzu düzenleyin . Benim tahminim "yanlış dosya izinleri" - ya mount için yafoo/da karttaki dizin için. Unutmayın, ext4 tam * nix dosya izinlerini destekler. kullanıcı ve gruplar.