Diskussion: Bästa sättet att använda det externa SD-kortet till app-data m.m.

Diskussion i 'Galaxy S3 - ROM-filer och utveckling' startad av Pekz0r, 20 jun 2012.

  1. Pekz0r

    Pekz0r Kid Droid Medlem

    Blev medlem:
    13 apr 2010
    Inlägg:
    96
    Mottagna gillanden:
    10

    MINA ENHETER

    Hej!

    Jag skulle vilja göra så att alla appar sparar all data på det externa SD-kortet istället för det interna.

    Jag försökte gå i telefonen med SSH för att skapa en symlink från /mnt/sdcard till /mnt/extSdCard. Men det gick inte.

    Kod:
    root@android:/mnt/sdcard # ln -s /mnt/extSdCard/ SD-redirect
    link failed Function not implemented
    Vad jag förstår är detta för att filsystemet(FUSE?) på det interna SD-kortet inte har stöd för symlinks. "mount" get följande
    Kod:
    /dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
    Vilket är det bästa och enklaste sättet att göra detta eller något annat med ett likvärdigt reslutat?
    Jag har root, men jag vill helst göra detta utan att byta ROM. Går det? Kan man formatera om det interna SD-kortet eller kan man göra en symlink på något annat sätt?

    Väldigt tacksam för svar som kan peka mig i rätt riktning här.
     
  2. kallt_kaffe

    kallt_kaffe Professional Droid Medlem

    Blev medlem:
    2 aug 2010
    Inlägg:
    2 682
    Mottagna gillanden:
    1 685
    Operatör:
    Comviq
    Telefon:
    Xiaomi Mi Note 10

    MINA ENHETER

    Operatör:
    Comviq
    Telefon:
    Xiaomi Mi Note 10
    Jag har inte testat men /mnt/extSdCard är ju en monteringspiunkt. Kanske fungera bättre med en underkatalog? ln -s /mnt/extSdCard/delad_katalog /mnt/sdcard/delad_katalog.

    Annars kanske det går att ändra i /system/etc/vold.fstab så att externa sdkortet monteras direkt på en monteringspunkt under /mnt/sdcard/?

    Ett tredje alternativ att testa är mount --bind. Det brukar jag använda om jag vill "byta ut" en fil på ett readonly filsystem. Du behöver nog busybox versionen av mount för att det skall fungera. Jag har använt det för att "byta ut" filer på /system utan att behöva montera om i read-write och det har fungerat.
     
  3. Pekz0r

    Pekz0r Kid Droid Medlem

    Blev medlem:
    13 apr 2010
    Inlägg:
    96
    Mottagna gillanden:
    10

    MINA ENHETER

    Tack så mycket för svaret!
    Fungerade inte. Samma fel som ovan. Tror det beror på filsystemet som inte har stöd som sagt.
    Ja, detta skulle kunna vara ett alternativ. Jag var inne och tittade där men jag har ingen koll på vad kan göra där och jag vill helst inte testa mig fram och jag skulle fucka upp något... Har du någon aning om vad man kan göra där och hur?

    Detta gick tyvärr inte heller :(
    mount verkar vara väldigt begränsat här. --bind / -b fungerar inte utan det ger ger mig följande felmeddelande:
    Kod:
    unknown option -- bmount: invalid option -b
    Tack så mycket för svaret i alla fall. Jag ska försöka luska lite i det här till helgen och återkommer om jag hittar en lösning.
     
  4. kallt_kaffe

    kallt_kaffe Professional Droid Medlem

    Blev medlem:
    2 aug 2010
    Inlägg:
    2 682
    Mottagna gillanden:
    1 685
    Operatör:
    Comviq
    Telefon:
    Xiaomi Mi Note 10

    MINA ENHETER

    Operatör:
    Comviq
    Telefon:
    Xiaomi Mi Note 10
    Gör en kopia på originalfilen (eller kanske ännu hellre, backa hela systemet från clockwork).

    Ändra sedan:

    dev_mount sdcard /mnt/extSdCard auto /devices/platform/s3c-sdhci.2/mmc_host/mmc1/

    till (t.ex.):
    dev_mount sdcard /mnt/sdcard/extSdCard auto /devices/platform/s3c-sdhci.2/mmc_host/mmc1/

    Se också till att katalogen /mnt/sdcard/extSdCard existerar.

    Med tanke på att inget annat verkar fungera så är det väl högst tveksamt om detta kommer att göra det men man vet ju aldrig. Då måste säkerligen starta om telefonen för att det skall få effekt.
     
  5. Pekz0r

    Pekz0r Kid Droid Medlem

    Blev medlem:
    13 apr 2010
    Inlägg:
    96
    Mottagna gillanden:
    10

    MINA ENHETER

    Återigen, Tack så mycket!

    Det där borde fungera eftersom det inte är beroende av funktionalitet i filsystemet eller kommandon som finns i andorid.

    Detta monterar det externa SD-kortet i /mnt/sdcard/extSdCard om jag fattar det rätt. Det är tyvärr inte riktigt vad jag vill. Jag vill att allt som sparas i /mnt/sdcard ska hamna på det externa SD-kortet och inte belasta telefonens inbyggda minne.
    Då antar jag att jag först måste avmontera det interna sdcar-minnet ifrån /mnt/sdcard och sedan ersätta det med något i stil med:
    Kod:
    dev_mount sdcard /mnt/sdcard auto /devices/platform/s3c-sdhci.2/mmc_host/mmc1/
     
    Last edited: 21 jun 2012
  6. kallt_kaffe

    kallt_kaffe Professional Droid Medlem

    Blev medlem:
    2 aug 2010
    Inlägg:
    2 682
    Mottagna gillanden:
    1 685
    Operatör:
    Comviq
    Telefon:
    Xiaomi Mi Note 10

    MINA ENHETER

    Operatör:
    Comviq
    Telefon:
    Xiaomi Mi Note 10
    Från init.smdk4x12.rc:
    Kod:
    # create virtual SD card at /mnt/sdcard, based on the /data/media directory
    # daemon will drop to user/group system/media_rw after initializing
    # underlying files in /data/media wil be created with user and group media_rw (1023)
    service sdcard /system/bin/sdcard /data/media 1023 1023
        class late_start
    Det finns alltså en service som mappar /data/media till /mnt/sdcard. Dvs det som ligger på det "interna" /mnt/sdcard/ är egentligen innehållet i /data/media katalogen på /data partitionen.

    Undrar just vad som händer om man skulle montera externa sdkortet till /data/media. Skulle kunna bli det resultat du är ute efter.
     
  7. Mattofsweden

    Mattofsweden Kid Droid Medlem

    Blev medlem:
    2 jun 2010
    Inlägg:
    75
    Mottagna gillanden:
    5

    MINA ENHETER

  8. Pekz0r

    Pekz0r Kid Droid Medlem

    Blev medlem:
    13 apr 2010
    Inlägg:
    96
    Mottagna gillanden:
    10

    MINA ENHETER

    Tack så mycket för svaren.

    Jag klarar mig bra utan så det är inte superviktigt att få till detta. Om det inte finns någon hyfsat snabb och enkel fix för detta skippar jag det nog.

    Hade ju varit väldigt fint om det bara hade gått att länka om med en vanlig symlink. Hade det bara varit några ändringar i en konfigurationsfil eller flasha in en liten stabil uppdatering så hade det varit okej, men mer krångel och risk än så känns det inte som att det är värt...