דוגמאות להגדרות

בהמשך מפורטות דוגמאות להגדרות של אחסון חיצוני לסוגים שונים של מכשירים. רק החלקים הרלוונטיים של קובצי התצורה נכללים.

בגלל שינויים בהגדרות ב-Android 6.0 (כמו הסרת שכבת-העל של המשאב storage_list.xml), דוגמאות ההגדרה מחולקות לשתי קטגוריות.

Android מגרסה 5.x ואילך

ראשי פיזי בלבד

זוהי הגדרה אופיינית למכשיר עם התקן אחסון חיצוני יחיד שהוא כרטיס SD פיזי, כמו Nexus One.

קודם צריך לטעון את המכשיר הפיזי הגולמי בתיקייה /mnt/media_rw, שבה רק למערכת ול-daemon של FUSE יש גישה אליו. לאחר מכן, vold ינהל את השירות fuse_sdcard0 כשמדיה תוכנס או תוסר.

fstab.hardware

[physical device node]  auto  vfat  defaults  voldmanaged=sdcard0:auto,noemulatedsd

init.hardware.rc

on init
    mkdir /mnt/media_rw/sdcard0 0700 media_rw media_rw
    mkdir /storage/sdcard0 0700 root root
    export EXTERNAL_STORAGE /storage/sdcard0
service fuse_sdcard0 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard0 /storage/sdcard0
    class late_start
    disabled

storage_list.xml

<storage
    android:mountPoint="/storage/sdcard0"
    android:storageDescription="@string/storage_sd_card"
    android:removable="true"
    android:primary="true"
    android:maxFileSize="4096" />

ראשי משויך בלבד

זוהי הגדרה אופיינית למכשיר עם התקן אחסון חיצוני יחיד שמגובים באחסון פנימי במכשיר, כמו Nexus 4.

init.hardware.rc

on init
    mkdir /mnt/shell/emulated 0700 shell shell
    mkdir /storage/emulated 0555 root root
    export EXTERNAL_STORAGE /storage/emulated/legacy
    export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
    export EMULATED_STORAGE_TARGET /storage/emulated
on fs
    setprop ro.crypto.fuse_sdcard true
service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
    class late_start

storage_list.xml

<storage
    android:storageDescription="@string/storage_internal"
    android:emulated="true"
    android:mtpReserve="100" />

ראשי מומר, משני פיזי

זוהי הגדרה אופיינית למכשיר עם כמה התקני אחסון חיצוניים, שבהם המכשיר הראשי מגובה באחסון פנימי במכשיר, והמכשיר המשני הוא כרטיס SD פיזי, כמו Xoom.

קודם צריך לטעון את המכשיר הפיזי הגולמי בתיקייה /mnt/media_rw, כך שרק למערכת ולדימון של FUSE תהיה גישה אליו. לאחר מכן, vold ינהל את השירות fuse_sdcard1 כשמדיה תוכנס או תוסר.

fstab.hardware

[physical device node]  auto  vfat  defaults  voldmanaged=sdcard1:auto

init.hardware.rc

on init
    mkdir /mnt/shell/emulated 0700 shell shell
    mkdir /storage/emulated 0555 root root
    mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
    mkdir /storage/sdcard1 0700 root root
    export EXTERNAL_STORAGE /storage/emulated/legacy
    export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
    export EMULATED_STORAGE_TARGET /storage/emulated
    export SECONDARY_STORAGE /storage/sdcard1
on fs
    setprop ro.crypto.fuse_sdcard true
service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
    class late_start
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
    class late_start
    disabled

storage_list.xml

<storage
    android:storageDescription="@string/storage_internal"
    android:emulated="true"
    android:mtpReserve="100" />
<storage
    android:mountPoint="/storage/sdcard1"
    android:storageDescription="@string/storage_sd_card"
    android:removable="true"
    android:maxFileSize="4096" />

Android 6.0

ראשי פיזי בלבד

זוהי הגדרה אופיינית למכשיר עם התקן אחסון חיצוני יחיד, שהוא כרטיס SD פיזי, כמו Android One המקורי. אין אחסון משותף משני והמכשיר לא תומך במספר משתמשים.

fstab.device

/devices/platform/mtk-msdc.1/mmc_host*         auto        auto       defaults
voldmanaged=sdcard0:auto,encryptable=userdata,noemulatedsd

init.device.rc

on init
    # By default, primary storage is physical
    setprop ro.vold.primary_physical 1

ראשי ממולא בלבד

זוהי הגדרה אופיינית למכשיר עם התקן אחסון חיצוני אחד שמגובה באחסון פנימי במכשיר, כמו Nexus 6.

  • האחסון השיתופי הראשי (/sdcard) הוא הדמיה של האחסון הפנימי.
  • אין אחסון משני בכרטיס SD.
  • יש תמיכה בהתקני אחסון USB OTG.
  • תמיכה בכמה משתמשים.

fstab.device

/devices/*/xhci-hcd.0.auto/usb*             auto            auto    defaults
                                                    voldmanaged=usb:auto

ראשי מומר, משני פיזי

זוהי הגדרה אופיינית למכשיר עם כמה התקני אחסון חיצוניים, שבהם המכשיר הראשי מגובה באחסון הפנימי של המכשיר, והמכשיר המשני הוא כרטיס SD פיזי, כמו Xoom.

  • האחסון השיתופי הראשי (/sdcard) הוא הדמיה של האחסון הפנימי.
  • אחסון משני הוא חריץ פיזי לכרטיס SD שאפשר לאמץ.
  • תמיכה בכמה משתמשים.

fstab.device

/devices/platform/mtk-msdc.1/mmc_host*           auto      auto     defaults
voldmanaged=sdcard1:auto,encryptable=userdata