[Q&A] Mounts2SD - Storage & Memory Management

Search This thread

mandayugana

Senior Member
Jan 17, 2012
263
89
In my phone, sd-ext failed to mount.
Log file:
V/Setting up the script enviroment
V/Using the shell environment '/data/local/busybox sh'
V/Using the busybox binary located at '/data/local/busybox'
V/Collecting MMC partition information
V/The external MMC was located at '/dev/block/mmcblk0'
V/Located the 'system' partition at '/dev/stl12'
V/Located the 'data' partition at '/dev/stl13'
V/Located the 'cache' partition at '/dev/stl14'
V/Optimizing MMC devices and partitions
V/Setting optimized mount parameters on '/dev/stl12'
V/Setting optimized mount parameters on '/dev/stl13'
V/Setting optimized mount parameters on '/dev/stl14'
D/Running an S-On protection test on '/system'
V/Linking system content to the '/system' location
D/Linking content from '/data/app-system' to '/system/app'
D/The finalizing sub-process has been started
D/The storage threshold option is disabled, skipping
D/The finalizing sub-process has been stopped
D/The script was executed in 5 seconds

It seems failed when checking /dev/block/mmcblk0p2 as block special.
...
if $_test -b ${mmcDevice}p$i; then
...

init.d support is manually added to init.rc by adding "exec /system/bin/sysinit" before "class_start default". Here is my init.rc.


on emmc

mkdir /system
mkdir /data 0771 system system
mkdir /persist 0771 system system
devwait /dev/block/mmcblk0p12
#mount ext3 /dev/block/mmcblk0p12 /system ro
mount ext3 /dev/block/mmcblk0p12 /system ro relatime
devwait /dev/block/mmcblk0p13
exec /system/bin/e2fsck -p /dev/block/mmcblk0p13
mount ext3 /dev/block/mmcblk0p13 /data nosuid nodev relatime
#devwait /dev/block/mmcblk0p14
#mount ext3 /dev/block/mmcblk0p14 /persist nosuid nodev

on nand

mkdir /system
mkdir /data 0771 system system
mkdir /persist 0771 system system
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount yaffs2 mtd@system /system relatime
# chown root root /system/bin/brcm_dutMode
# chmod 6777 /system/bin/brcm_dutMode
#mount yaffs2 mtd@system /system ro remount
mount yaffs2 mtd@userdata /data nosuid nodev relatime
mount yaffs2 mtd@persist /persist nosuid nodev

write /sys/block/stl12/queue/read_ahead_kb 4
write /sys/block/stl13/queue/read_ahead_kb 4
write /sys/block/stl14/queue/read_ahead_kb 4
write /sys/devices/virtual/block/stl12/queue/read_ahead_kb 4
write /sys/devices/virtual/block/stl13/queue/read_ahead_kb 4
write /sys/devices/virtual/block/stl14/queue/read_ahead_kb 4

on init

sysclktz 0

loglevel 3

# setup the global environment
export PATH /sbin:/system/sbin:/system/bin:/system/xbin
export LD_LIBRARY_PATH /system/lib
export ANDROID_BOOTLOGO 1
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
export EXTERNAL_STORAGE /mnt/sdcard
export ASEC_MOUNTPOINT /mnt/asec
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar

# insmod fsr/rfs modules
insmod /lib/modules/fsr.ko
insmod /lib/modules/fsr_stl.ko
insmod /lib/modules/rfs_glue.ko
insmod /lib/modules/rfs_fat.ko
insmod /lib/modules/sec_param.ko

# Backward compatibility
symlink /system/etc /etc
symlink /sys/kernel/debug /d
# backward capabilites are resolved by "symlink /mnt/sdcard /sdcard"
# mkdir /sdcard 0000 system system

# create mountpoints
mkdir /mnt 0775 root system
mkdir /mnt/sdcard 0000 system system

# Create cgroup mount point for cpu accounting
mkdir /acct
mount cgroup none /acct cpuacct
mkdir /acct/uid

# Backwards Compat - XXX: Going away in G*
symlink /mnt/sdcard /sdcard

mkdir /cache 0770 system cache
mkdir /config 0500 root root

# Directory for putting things only root should see.
mkdir /mnt/secure 0700 root root

# Directory for staging bindmounts
mkdir /mnt/secure/staging 0700 root root

# Directory-target for where the secure container
# imagefile directory will be bind-mounted
mkdir /mnt/secure/asec 0700 root root

# Secure container public mount points.
mkdir /mnt/asec 0700 root system
mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000

mount rootfs rootfs / ro remount

write /proc/sys/kernel/panic_on_oops 1
write /proc/sys/kernel/hung_task_timeout_secs 0
write /proc/cpu/alignment 4
write /proc/sys/kernel/sched_latency_ns 10000000
write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
write /proc/sys/kernel/sched_compat_yield 1
write /proc/sys/kernel/sched_child_runs_first 0

# mount mtd partitions
# Mounting of /cache
mount ext4 /dev/stl14 /cache nosuid nodev
mount rfs /dev/stl14 /cache nosuid nodev check=no

# Mounting of system/userdata is moved to 'on emmc' and 'on nand' sections
# We chown/chmod /data again so because mount is run as root + defaults
mount ext4 /dev/stl13 /data nosuid nodev
mount rfs /dev/stl13 /data nosuid nodev check=no
chown system system /data
chmod 0771 /data

# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount ext4 /dev/stl12 /system ro
mount rfs /dev/stl12 /system ro check=no

chmod 0770 /dev/stl9
chmod 0770 /dev/stl10
chmod 0770 /dev/stl11
chmod 0770 /dev/stl12
chmod 0770 /dev/stl13
chmod 0770 /dev/stl14
chmod 0770 /dev/stl15

chmod 0770 /dev/bml9
chmod 0770 /dev/bml10
chmod 0770 /dev/bml11
chmod 0770 /dev/bml12
chmod 0770 /dev/bml13
chmod 0770 /dev/bml14
chmod 0770 /dev/bml15
# Create cgroup mount points for process groups
mkdir /dev/cpuctl
mount cgroup none /dev/cpuctl cpu
chown system system /dev/cpuctl
chown system system /dev/cpuctl/tasks
chmod 0777 /dev/cpuctl/tasks
write /dev/cpuctl/cpu.shares 1024

mkdir /dev/cpuctl/fg_boost
chown system system /dev/cpuctl/fg_boost/tasks
chmod 0777 /dev/cpuctl/fg_boost/tasks
write /dev/cpuctl/fg_boost/cpu.shares 1024

mkdir /dev/cpuctl/bg_non_interactive
chown system system /dev/cpuctl/bg_non_interactive/tasks
chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
# 5.0 %
write /dev/cpuctl/bg_non_interactive/cpu.shares 52

# mount mtd partitions
# Mounting of system/userdata is moved to 'on emmc' and 'on nand' sections
# We chown/chmod /data again so because mount is run as root + defaults
chown system system /data
chmod 0771 /data

# Mounting of persist is moved to 'on emmc' and 'on nand' sections
# We chown/chmod /persist again so because mount is run as root + defaults
chown system system /persist
chmod 0771 /persist

# Create dump dir and collect dumps.
# Do this before we mount cache so eventually we can use cache for
# storing dumps on platforms which do not have a dedicated dump partition.

mkdir /data/dontpanic
chown root log /data/dontpanic
chmod 0750 /data/dontpanic

# Collect apanic data, free resources and re-arm trigger
copy /proc/apanic_console /data/dontpanic/apanic_console
chown root log /data/dontpanic/apanic_console
chmod 0640 /data/dontpanic/apanic_console

copy /proc/apanic_threads /data/dontpanic/apanic_threads
chown root log /data/dontpanic/apanic_threads
chmod 0640 /data/dontpanic/apanic_threads

write /proc/apanic_console 1

# Collect ramconsole data
copy /proc/last_kmsg /data/dontpanic/last_kmsg
chown root log /data/dontpanic/last_kmsg
chmod 0640 /data/dontpanic/last_kmsg
# Same reason as /data above
mount yaffs2 mtd@cache /cache nosuid nodev
chown system cache /cache
chmod 0770 /cache

# This may have been created by the recovery system with odd permissions
chown system cache /cache/recovery
chmod 0770 /cache/recovery

#change permissions on vmallocinfo so we can grab it from bugreports
chown root log /proc/vmallocinfo
chmod 0440 /proc/vmallocinfo

#change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
chown root system /proc/kmsg
chmod 0440 /proc/kmsg
chown root system /proc/sysrq-trigger
chmod 0220 /proc/sysrq-trigger

# create basic filesystem structure
mkdir /data/misc 01771 system misc
mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
mkdir /data/misc/bluetooth 0770 system system
mkdir /data/misc/keystore 0700 keystore keystore
mkdir /data/misc/vpn 0770 system system
mkdir /data/misc/systemkeys 0700 system system
mkdir /data/misc/vpn/profiles 0770 system system
# give system access to wpa_supplicant.conf for backup and restore
mkdir /data/misc/wifi 0770 wifi wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
chmod 0660 /data/misc/wifi/wpa_supplicant.conf
mkdir /data/misc/dhcp 0770 dhcp dhcp
mkdir /data/misc/wifi/hostapd 0770 wifi wifi
chown system system /sys/devices/platform/msm_sdcc.1/detect_change
chown system system /sys/devices/platform/msm_sdcc.2/detect_change
chown system system /sys/devices/platform/msm_sdcc.3/detect_change
chown system system /sys/devices/platform/msm_sdcc.4/detect_change
mkdir /data/local 0771 shell shell
mkdir /data/local/tmp 0771 shell shell
mkdir /data/data 0771 system system
mkdir /data/app-private 0771 system system
mkdir /data/app 0771 system system
mkdir /data/property 0700 root root
mkdir /data/radio 0770 radio radio
mkdir /data/misc/radio 0770 radio radio
mkdir /data/misc/sensors 0777 system misc

# create log system
mkdir /data/log 0777 root root
chmod 0777 /data/log

# anr mode chage
mkdir /data/anr 0777 system system
chmod 0777 /data/anr

chmod 0662 /dev/log/system
chmod 0662 /dev/log/radio
chmod 0662 /dev/log/events
chmod 0662 /dev/log/main

# create dalvik-cache and double-check the perms
mkdir /data/dalvik-cache 0771 system system
chown system system /data/dalvik-cache
chmod 0771 /data/dalvik-cache

# create the lost+found directories, so as to enforce our permissions
mkdir /data/lost+found 0770
mkdir /cache/lost+found 0770

# double check the perms, in case lost+found already exists, and set owner
chown root root /data/lost+found
chmod 0770 /data/lost+found
chown root root /cache/lost+found
chmod 0770 /cache/lost+found

mkdir /data/data/.drm/ 0777

# change the permissionsensor chips

chown root system /dev/mmc31xx
chown root system /dev/bma_accel
chown root system /dev/ecompass_ctrl
chown root system /dev/proximity
chown root system /dev/ledflash

chmod 0660 /dev/mmc31xx
chmod 0660 /dev/bma_accel
chmod 0660 /dev/ecompass_ctrl
chmod 0660 /dev/proximity

chmod 0660 /data/misc/sensors/ecs_nvm
chmod 0660 /data/misc/sensors/accel_offset

# create ledflash cdev file for factory test
chmod 0660 /dev/ledflash

chown system system /sys/class/input/input3/enable
chown system system /sys/class/input/input3/poll_delay
chmod 0660 /sys/class/input/input3/enable
chmod 0660 /sys/class/input/input3/poll_delay

on boot
# basic network init
ifup lo
hostname localhost
domainname localdomain

# set RLIMIT_NICE to allow priorities from 19 to -20
setrlimit 13 40 40

# bootsnd
setprop audioflinger.bootsnd 1
# end of bootsnd

# Define the oom_adj values for the classes of processes that can be
# killed by the kernel. These are used in ActivityManagerService.
setprop ro.FOREGROUND_APP_ADJ 0
setprop ro.VISIBLE_APP_ADJ 1
setprop ro.SECONDARY_SERVER_ADJ 2
setprop ro.BACKUP_APP_ADJ 2
setprop ro.HOME_APP_ADJ 4
setprop ro.HIDDEN_APP_MIN_ADJ 7
setprop ro.CONTENT_PROVIDER_ADJ 14
setprop ro.EMPTY_APP_ADJ 15

# Define the memory thresholds at which the above process classes will
# be killed. These numbers are in pages (4k).
setprop ro.FOREGROUND_APP_MEM 1536
setprop ro.VISIBLE_APP_MEM 2048
setprop ro.SECONDARY_SERVER_MEM 4096
setprop ro.BACKUP_APP_MEM 4096
setprop ro.HOME_APP_MEM 4096
setprop ro.HIDDEN_APP_MEM 5120
#setprop ro.CONTENT_PROVIDER_MEM 5632
#setprop ro.EMPTY_APP_MEM 6144
setprop ro.CONTENT_PROVIDER_MEM 6144
setprop ro.EMPTY_APP_MEM 8960
setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bt_addr"

# Write value must be consistent with the above properties.
# Note that the driver only supports 6 slots, so we have HOME_APP at the
# same memory level as services.
write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15

write /proc/sys/vm/overcommit_memory 1
write /proc/sys/vm/min_free_order_shift 4
#write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144
#write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,6144,8960
write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,6144,8192,12288,15360

# Set init its forked children's oom_adj.
write /proc/1/oom_adj -16

# Tweak background writeout
write /proc/sys/vm/dirty_expire_centisecs 200
write /proc/sys/vm/dirty_background_ratio 5

# Adjust socket buffer to enlarge TCP receive window for high bandwidth
write /proc/sys/net/ipv4/tcp_adv_win_scale 1

# Permissions for System Server and daemons.
chown radio system /sys/android_power/state
chown radio system /sys/android_power/request_state
chown radio system /sys/android_power/acquire_full_wake_lock
chown radio system /sys/android_power/acquire_partial_wake_lock
chown radio system /sys/android_power/release_wake_lock
chown radio system /sys/power/state
chown radio system /sys/power/wake_lock
chown radio system /sys/power/wake_unlock
chmod 0660 /sys/power/state
chmod 0660 /sys/power/wake_lock
chmod 0660 /sys/power/wake_unlock
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/class/leds/keyboard-backlight/brightness
chown system system /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/leds/button-backlight/brightness
chown system system /sys/class/leds/jogball-backlight/brightness
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/module/sco/parameters/disable_esco
chown system system /sys/module/g_android/parameters/product_id
chown system system /sys/kernel/ipv4/tcp_wmem_min
chown system system /sys/kernel/ipv4/tcp_wmem_def
chown system system /sys/kernel/ipv4/tcp_wmem_max
chown system system /sys/kernel/ipv4/tcp_rmem_min
chown system system /sys/kernel/ipv4/tcp_rmem_def
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root radio /proc/cmdline

# for silent reset
chown system system /proc/dump_enable
chown system system /proc/silent

# for multi csc
chown radio radio /proc/LinuStoreIII/efs_info
chmod 0664 /proc/LinuStoreIII/efs_info
# for protecting key string
chown radio radio /proc/LinuStoreIII/keystr
chmod 0664 /proc/LinuStoreIII/keystr
# for ril_prop
chown radio radio /proc/LinuStoreIII/ril_prop
chmod 0664 /proc/LinuStoreIII/ril_prop

# sound text data file
chmod 0777 /data/soundbooster.txt
chmod 0777 /data/aeqcoe.txt
chmod 0777 /data/lmfilter.txt
chmod 0777 /data/eqfilter.txt
chmod 0777 /data/situation.txt
chmod 0777 /data/stream_headset.txt
chmod 0777 /data/stream_speaker.txt
chmod 0777 /data/srstunning.txt

# for Dump On/Off
chmod 0777 /data/dump_enable

# Permissions for qmuxd
chown radio radio /dev/smdcntl0
chown radio radio /dev/smdcntl1
chown radio radio /dev/smdcntl2

# +++++++++++++++++++++++++++++++++++++++++++
# for Bluetooth
chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
chown bluetooth bluetooth /proc/bluetooth/sleep/proto
chown system system /sys/module/sco/parameters/disable_esco
chmod 0660 /sys/module/bluetooth_power/parameters/power
chmod 0660 /proc/bluetooth/sleep/proto

chown bluetooth bluetooth /dev/uinput
chmod 0660 /dev/uinput
chown bluetooth bluetooth /dev/ttyHS0
chmod 0660 /dev/ttyHS0
chmod 0660 /dev/ttySMD0

chmod 0770 /sys/class/rfkill/rfkill0/state
chmod 0770 /sys/class/rfkill/rfkill1/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill1/state

chown root root /system/bin/brcm_dutMode
chmod 6777 /system/bin/brcm_dutMode

# jhlee 2010.12.23
setprop service.brcm.bt.srv_active 0
setprop service.brcm.bt.hcid_active 0
setprop service.brcm.fm.activation 0

# ihryu 2010.07.19
setprop ro.rfkilldisabled 0

#class_start default
# +++++++++++++++++++++++++++++++++++++++++++

chown system system /sys/devices/platform/msm_sdcc.1/polling
chown system system /sys/devices/platform/msm_sdcc.2/polling
chown system system /sys/devices/platform/msm_sdcc.3/polling
chown system system /sys/devices/platform/msm_sdcc.4/polling
chown system system /sys/devices/platform/android_usb/composition
chown system system /sys/devices/platform/android_usb/remote_wakeup
# MAX8899 headset detect
chown radio system /sys/class/switch/h2w/state

# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,196608,4096,16384,110208
setprop net.tcp.buffersize.wifi 4095,87380,393216,4096,16384,110208
setprop net.tcp.buffersize.umts 4094,87380,196608,4096,16384,110208
setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680

# for datarouter
chown system system /dev/ttygs0
chown system system /dev/dun

# Invoke /system/etc/init.d
exec /system/bin/sysinit

class_start default

# for Wi-Fi
setprop wifi.interface wlan0
insmod /system/wifi/ar6000.ko "ifname=wlan0"
setprop wlan.driver.apmode "unloaded"

## Daemon processes to be run by init.
##
service console /system/bin/sh
console

# adbd is controlled by the persist.service.adb.enable system property
service adbd /sbin/adbd
group shell log
disabled

# adbd on at boot in emulator
on property:ro.kernel.qemu=1
start adbd

on property:persist.service.adb.enable=1
start adbd
write /sys/module/g_android/parameters/product_id 9017

on property:persist.service.adb.enable=0
stop adbd

service playsound /system/bin/playsound
user root
disabled
oneshot

service playlogo /system/bin/playlogo
user root
oneshot

service servicemanager /system/bin/servicemanager
user system
critical
onrestart restart zygote
onrestart restart media

service vold /system/bin/vold
socket vold stream 0660 root mount
ioprio be 2

service netd /system/bin/netd
socket netd stream 0660 root system

service debuggerd /system/bin/debuggerd

service qmuxd /system/bin/qmuxd
user radio
group system radio inet

service ril-daemon /system/bin/rild
socket rild stream 660 root radio
socket rild-debug stream 660 radio system
user root
group radio cache inet misc audio qcom_oncrpc diag log

#service port-bridge /system/bin/port-bridge /dev/smd0 /dev/ttyGS0

service DR-daemon /system/bin/drexe
user root
group system radio inet net_raw

service mobex-daemon /system/bin/npsmobex
user system
group system inet

service cnd /system/bin/cnd
socket cnd stream 660 root radio
socket cne stream 660 root radio

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
socket zygote stream 666
onrestart write /sys/android_power/request_state wake
onrestart write /sys/power/state on
onrestart restart media

service media /system/bin/mediaserver
user media
group system audio camera graphics inet net_bt net_bt_admin net_raw
ioprio rt 4

#service bootanim /system/bin/bootanimation
# user graphics
# group graphics
# disabled
# oneshot

service samsungloop /system/bin/samsungloop
user graphics
group graphics
disabled
oneshot


# Start Bluetooth =========================================================================
service dbus /system/bin/dbus-daemon --system --nofork
socket dbus stream 660 bluetooth bluetooth
user bluetooth
group bluetooth net_bt_admin

service btld /system/bin/logwrapper /system/bin/btld -hb 3000000 -hp /dev/ttyHS0 -lpm 1
# init.rc does not yet support applying capabilities, so run as root and
# let btld drop uid to bluetooth with the right linux capabilities
group bluetooth net_bt_admin
disabled
oneshot

service obexd /system/bin/logwrapper /system/bin/obexd
#socket bluetooth stream 660 bluetooth bluetooth
#socket dbus_bluetooth stream 660 bluetooth bluetooth
# init.rc does not yet support applying capabilities, so run as root and
# let obexd drop uid to bluetooth with the right linux capabilities
user root
group bluetooth net_bt_admin
disabled
oneshot

service bluetoothd /system/bin/logwrapper /system/bin/bluetoothd -n -d
socket bluetooth stream 660 bluetooth bluetooth
socket dbus_bluetooth stream 660 bluetooth bluetooth
# init.rc does not yet support applying capabilities, so run as root and
# let bluetoothd drop uid to bluetooth with the right linux capabilities
group bluetooth net_bt_admin misc
disabled

service hfag /system/bin/sdptool add --channel=10 HFAG
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot

service hsag /system/bin/sdptool add --channel=11 HSAG
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot

service opush /system/bin/sdptool add --channel=12 OPUSH
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot

service pbap /system/bin/sdptool add --channel=19 PBAP
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot
# End of Bluetooth =========================================================================

#HCI_ENABLE_BT_DEV_UNDER_TEST_MODE
service bt_dut_cmd /system/bin/brcm_dutMode
user root
group bluetooth net_bt_admin
disabled
oneshot

#for WiFi MFG(TestMode)
service mfgloader /system/bin/mfgloader
user system
disabled
oneshot

service wlandutservice /system/bin/wlandutservice
user system
group inet
disabled
oneshot

service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
disabled
oneshot

service hostapd /system/bin/hostapd /data/misc/wifi/hostapd.conf
socket hostapd_wlan1 dgram 660 system wifi
user system
group wifi net_raw net_admin system inet
oneshot
disabled

service dhcpcd /system/bin/dhcpcd wlan0
disabled
oneshot

service wlan_mac /system/bin/wlan_mac
user system
group system net_raw net_admin inet
oneshot

service wlan_tool /system/bin/wlan_tool
disabled
oneshot

service abtfilt /system/bin/abtfilt -d -z -n -v -b -s
user bluetooth
group system bluetooth net_bt_admin inet
disabled
oneshot

# end of wifi

service installd /system/bin/installd
socket installd stream 600 system system

service flash_recovery /system/etc/install-recovery.sh
oneshot


service racoon /system/bin/racoon
socket racoon stream 600 system system
# racoon will setuid to vpn after getting necessary resources.
group net_admin
disabled
oneshot

service mtpd /system/bin/mtpd
socket mtpd stream 600 system system
user vpn
group vpn net_admin net_raw
disabled
oneshot

service keystore /system/bin/keystore /data/misc/keystore
user keystore
group keystore
socket keystore stream 666

service dumpstate /system/bin/dumpstate -s
socket dumpstate stream 0660 shell log
disabled
oneshot

service qcom-post-boot /system/bin/sh /init.qcom.post_boot.sh
user root
disabled
oneshot

on property:dev.bootdone=1
start qcom-post-boot

#service dhcp-service /system/bin/netcfg eth0 dhcp
# oneshot
#
on property:dev.bootcomplete=1
stop dhcp-service
start dhcp-service

service memsicd /system/bin/memsicd
user system
group system
oneshot

And here is my /system/bin/sysinit.

#!/system/bin/sh

export PATH=/sbin:/system/sbin:/system/bin:/system/xbin
/system/bin/logwrapper /system/xbin/run-parts /system/etc/init.d

My Device is Samsung Galaxy Ace GT-S5830, Froyo 2.2.1.

What could be wrong? Should I enable init.d using service instead? Proper init.d and shared standard
 
Last edited:

kitu34

Senior Member
Oct 21, 2012
268
18
New Delhi,INDIA
Only applications are linked

But I read it links data, dex etc also but there is green dot in front of apps only.

*Phone has become extremely slow even though it shows I have good enough space, even then I removed two apps, cleared cache and dalvik but no results.
This site is not active I guess.

Oh God hahaha there was tick mark against everything so I thought it's pre-selected but accidentally now I hit one of them and it turned green. Now I'll check. But it's not user friendly like link2sd. Even in the start I couldn't make out..,eventually rebooted and apps disappeared, then I powered off and started to get the apps back
 
Last edited:

kitu34

Senior Member
Oct 21, 2012
268
18
New Delhi,INDIA
Nope. Everything linked but very slow. Black screen always comes before any app starts, mostly crashes.
Till yesterday I was using link2sd free version but hardly faced such a problem.
If anybody did something which helped please do share.
Thank you

Sent from my LG-P500 using XDA Free mobile app
 

RicardoCervera

New member
Jan 25, 2011
4
0
Hi.
I am not sure if I am asking a new question regarding Mounts2SD or Replying to somebody else's question here...

I am desperately trying to increase the system storage of any android phone to use ONLY as mp3 player, before i get a bunch of questions why!?... every android base mp3 player app only lets you add library from either internal or sd storage, SOME apps might let you play a track if you open file explorer app in the phone navigate to an usb storage and select 1 track at the time for the music app to play, you can not import a whole folder into the app nor get access from the music app to reach the usb storage to import multiple mp3 files, the only way this can be achieve is IF all the files are with in the android system storage...
No!, Using a sd card is not an option, I have 10tb of music and my "most played tracks" is just under 2tb.

So I need to figure out, if i can use a usb ssd connected to the phone over otg, and use Mounts2SD to use that ssd as system storage then move all the tracks to the storage?...

Thanks.
 

daniel_m

Senior Member
Oct 7, 2012
680
294
Hi.
I am not sure if I am asking a new question regarding Mounts2SD or Replying to somebody else's question here...
...
So I need to figure out, if i can use a usb ssd connected to the phone over otg, and use Mounts2SD to use that ssd as system storage then move all the tracks to the storage?...
Maybe the Magisk module fbind would do the trick? I mount an image file on my SD-card to /data/data/ of an app that only accepts /data as its storage space.

https://xdaforums.com/t/fbind.3621814/
 

Top Liked Posts

  • There are no posts matching your filters.
  • 276
    Mounts2SD - Storage & Memory Management

    The Opening Post (OP) has been moved to a new DevDB Section

    This Thread has been assigned as an Q&A.
    You should see a new pane above where you can navigate this project.
    16
    About dalvik-cache? It remains in phone memory?

    dalvik-cache remains, so does all of the app related data. Only the APK's is moved.

    Hi I cant understand How to use it ! any guide ?!

    First of all you need a custom rom. If you have a stock rom it will not work since you need a rom that will allow custom scripts during boot.

    You will also need to know how to use ADB (An android tool for communicating with your phone. It is used to enter the android shell and also to transfer files to and from the phone, among other things).

    And last, you will need at least 2 or 3 partitions on your sdcard (Otherwise it's a waste of time, although the script is build to adapt for these scenarios). One as a regular fat32 sdcard partition, one for the sd-ext and one for the cache. (Use ext2 for the last two. ext3 will eat your card to fast)

    Here is the steps (You need to have ADB working on your computer).

    1. Copy/Paste the script content into a file editor and safe the file with the name "99mounts2sd"
    2. Plug your phone to your computer using a usb cable (Select charge only on your phone))
    3. Open a terminal on your computer (In windows use "run" and type "cmd")
    4. Type in shell: "adb shell mount -o remount,rw /system"
    5. Type in shell: "adb push <path to script> /system/etc/init.d/"
    6. Type in shell: "adb shell chmod a+x /system/etc/init.d/99mounts2sd"
    7. Reboot your phone

    The first time you boot your phone using the script it will take some time, because the script needs to copy all of your APK's from internal storage to the sd-ext partition.
    13
    Within a week or so, I will release a new major update of Mounts2SD, which will contain


    1. New Re-written script with additional new option
      1. Seperate option for app libraries (Android 4.x)
      2. New option to move /data/media (The new type of internal sdcard used on Samsung among others)
      3. Ability to enable ZRAM
      4. Ability to set preferred scheduler on external and internal MMC
      5. Ability to also set readahead on internal MMC
      6. Ability to set preferred storage threshold, or disable it (Instead of hard coded value)
      7. The finalising part has been added to a sub-process which is started by the app itself. This is no longer depended on the app to execute it after boot
      8. Default values will be configured based on the device and it's abilities
      9. And more....
    2. New Re-written app
      1. Live overview (No more pre-defined onboot status properties)
      2. New layout
        1. 3 different layout's for small phones screens, normal phone screens and tablet screens (And of cause different landscape/portrait layouts for each of them)
      3. Only allow the owner to control the script (Android 4.2 multi-user)
      4. New Re-written RootFW (Spazedog Root Framework)
      5. New and better extended AsyncTask for background loading
      6. Overview and Configure will now adapt to the abilities available on the device (For an example, SWAP will not be displayed at all on devices without SWAP suppport)
      7. And more...


    However, before this is finished, I would like it very much if someone could provide me with a version of /system/etc/recovery.sh after Link2SD has added whatever content it adds to this file, so that I can update the auto sd-ext deletion script to better remove Link2SD from a device. I have tried installing Link2SD on two of my test devices, but on neither was anything added to this file. So for now I have just update the deletion script to also include the Link2SD app, which should take care of most of the problems when migrating from this.
    9
    Test Package Available

    I have added a test package to the OP under the category "Testing Downloads" containing a preview of the upcoming version. This package is NOT a recovery package. It is just an archive containing the app and the script, you will have to manually copy the script to the init.d location (Not yet implemented in the app) and you will have to manually configure the script using the /data/property/m2sd.* files (also, not yet implemented in the app). There are two APK's in the package which uses two different themes (will be changeable in the app when it is done).

    The script should be finished, I have used it myself for the past month, but some more test devices would not hurt. The app however still have some work to be done. The overview is working fine, but I have yet to add some persistent storage for the configurations, so there will be a lot of loading each time you open it. Also there is still no configurations, no log viewer and no app settings for script installation, theme changer and so fourth.

    This is only meant for some early testing, mostly to test the script. It is not a finished product, so don't provide bug reports about missing app features, extensive app loading, missing Aroma installer and so on. All will be available soon. At this point I am only interested in script issues and possible issues with the app overview screen.

    The Script

    • Move Applications, Application Data, Application Libraries, Dalvik-cache and Data Media (Internal Storage) to sd-ext
    • Supports any file system type supported by the kernel
    • Handles Unix Lost+Found folder content to avoid having it take up to much disk usage
    • Supports SWAP and ZRAM (If kernel supports it)
    • Move the main cache partition to data or sd-ext, depending on available space
    • Change storage threshold to minimize the Android low storage market issue
    • Set Readahead and Scheduler for both internal and external MMC
    • Sets optimized mount parameters on the internal partitions
    • Safe-mode and new alternative work-around for service implemented init.d ROM's
    • Compares content with available disk space before moving content around to avoid corrupted data
    • More than a half dozen mount operations to ensure successful sd-ext mount, despite possible issues
    • File system check and repair
    • Enable/Disable ext4 journal
    • Supports storing system applications on /data and /sd-ext
    • A large number of different safe guards to avoid all kinds of thinkable issues
    • Fully adapts to different shell environments
    • 100% functional programming structure (Much better code overview)
    • Properly more...

    The APP

    • Fully working live overview (No more comparing static status properties)
    • Uses my TaskManager project (Handles background work much better)
    • Uses my latest RootFW from the development branch
    • Contains 5 different tab layouts which will be used depending on screen size and rotation
    • Contains both a light and dark theme
    9
    New release is out, and Play Store is finally updated as well. Just missing the recovery package, which I will have ready during the weekend.

    One notice about this release.
    I have added an additional tab entry with the feature of converting apps into system apps. This feature is a paid one, as this seamed like a good way of adding some donations. And because this is only more or less meant as a donation, the downloads on XDA is fully unlocked. Just note that if you install or update from Play Store, you will get a locked version without this additional feature.

    Also, the current feature is only a small start. I am going to add more individual application features to this tab.