Skip to content

Commit 407842a

Browse files
committed
Switch to Nexus style data layout and allow exporting data components to external sdcard
Use internal data as in Nexus devices (sdcard0 is emulated). External sdcard now called sdcard1. Optional second partition of external sdcard (data1) can be used to store selected data components such as: app, data, media and dalvik-cache. To do so, one must create a folder with a name of the component/s on data1. We register sdcard1 as secondary storage allowing built-in asec mechanism to be used to move apps to it. We also add misc recovery related settings and coresponding changes to TWRP in order to support above and backup of emulated internal sdcard and apps in asac container. To summarize, this patch allows user to encrypt device including sdcard0 and place selected data components on external sdcard. Change-Id: Ib52086347eb1f8fc9fd11031428f2c49bdda9afb
1 parent 968a880 commit 407842a

10 files changed

Lines changed: 138 additions & 88 deletions

File tree

BoardConfig.mk

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include
2929

3030
BOARD_VENDOR := htc
3131

32-
3332
# Bootloader
3433
TARGET_NO_BOOTLOADER := true
3534

@@ -79,14 +78,14 @@ AUDIO_FEATURE_ENABLED_FM := true
7978
TARGET_GPS_HAL_PATH := $(LOCAL_PATH)/gps
8079
BOARD_VENDOR_QCOM_GPS_LOC_API_AMSS_VERSION := 50000
8180

82-
8381
# Graphics
8482
USE_OPENGL_RENDERER := true
8583
TARGET_DISPLAY_USE_RETIRE_FENCE := true
8684
TARGET_USES_C2D_COMPOSITION := true
8785
TARGET_USES_ION := true
8886
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
8987
TARGET_DISPLAY_INSECURE_MM_HEAP := true
88+
DEVICE_RESOLUTION := 540x960
9089

9190
# Media
9291
TARGET_NO_ADAPTIVE_PLAYBACK := true
@@ -112,11 +111,14 @@ BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x01400000
112111
TARGET_KERNEL_CONFIG := pyramid_defconfig
113112
TARGET_KERNEL_SOURCE := kernel/htc/pyramid
114113

114+
# Recovery
115+
TARGET_RECOVERY_DEVICE_MODULES += chargeled
115116
TARGET_RECOVERY_FSTAB := device/htc/pyramid/rootdir/etc/fstab.pyramid
116117
RECOVERY_FSTAB_VERSION := 2
117118
TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
118119
RECOVERY_GRAPHICS_USE_LINELENGTH := true
119120
TARGET_RECOVERY_DEVICE_DIRS += device/htc/pyramid
121+
RECOVERY_SDCARD_ON_DATA := true
120122

121123
# Required for Sensors
122124
COMMON_GLOBAL_CFLAGS += -DNEEDS_VECTORIMPL_SYMBOLS
@@ -148,9 +150,6 @@ BOARD_SUPPRESS_EMMC_WIPE := true
148150
# Use dlmalloc
149151
MALLOC_IMPL := dlmalloc
150152

151-
# Recovery
152-
TARGET_RECOVERY_DEVICE_MODULES += chargeled
153-
154153
# SELinux
155154
-include device/qcom/sepolicy/sepolicy.mk
156155

@@ -173,7 +172,7 @@ BOARD_SYSTEMIMAGE_PARTITION_SIZE := 838859776
173172
BOARD_USERDATAIMAGE_PARTITION_SIZE := 1252770816
174173
BOARD_FLASH_BLOCK_SIZE := 262144
175174

176-
# Twrp
175+
# TWRP
177176
TW_THEME := portrait_mdpi
178177
TW_INCLUDE_CRYPTO := true
179178
TW_NO_SCREEN_BLANK := true
@@ -183,3 +182,7 @@ TW_NEW_ION_HEAP := true
183182
TW_INCLUDE_NTFS_3G := true
184183
TW_BRIGHTNESS_PATH := "/sys/class/leds/lcd-backlight/brightness"
185184
TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/platform/msm_hsusb/gadget/lun0/file"
185+
TW_BACKUP_DATA_MEDIA := true
186+
TW_INTERNAL_STORAGE_PATH := /sdcard
187+
TW_EXTERNAL_STORAGE_PATH := /sdcard1
188+
TW_INCLUDE_L_CRYPTO := true

device_pyramid.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
149149
# Ramdisk
150150
PRODUCT_PACKAGES += \
151151
fstab.pyramid \
152+
init.pyramid.sh \
152153
init.pyramid.rc \
153154
init.pyramid.usb.rc \
154155
ueventd.pyramid.rc \
Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!--
33
**
4-
** Copyright 2011, The Android Open Source Project
4+
** Copyright 2013, The Android Open Source Project
55
**
66
** Licensed under the Apache License, Version 2.0 (the "License")
77
** you may not use this file except in compliance with the License.
@@ -17,30 +17,25 @@
1717
*/
1818
-->
1919

20-
<!-- The <device> element should contain one or more <storage> elements.
21-
Exactly one of these should have the attribute primary="true".
22-
This storage will be the primary external storage and should have path="/mnt/sdcard".
23-
Each storage should have both a path and description attribute set.
24-
The following boolean attributes are optional:
25-
26-
primary: this storage is the primary external storage
27-
removable: this is removable storage (for example, a real SD card)
28-
emulated: the storage is emulated via the FUSE sdcard daemon
29-
mtp-reserve: number of megabytes of storage MTP should reserve for free storage
30-
(used for emulated storage that is shared with system's data partition)
31-
32-
A storage should not have both emulated and removable set to true
33-
-->
20+
<!-- See storage config details at http://source.android.com/tech/storage/ -->
3421

3522
<StorageList xmlns:android="http://schemas.android.com/apk/res/android">
36-
<!-- removable is not set in nosdcard product -->
37-
<storage android:mountPoint="/storage/sdcard0"
38-
android:storageDescription="@string/storage_sd_card"
39-
android:primary="true"
40-
android:removable="true"
41-
android:allowMassStorage="true"
42-
android:maxFileSize="4096" />
23+
<!-- internal emulated storage -->
24+
<storage
25+
android:storageDescription="@string/storage_internal"
26+
android:emulated="true"
27+
android:primary="true"
28+
android:mtpReserve="100" />
29+
<!-- external sdcard (non-removable due to optional usage of second partition for data) -->
30+
<storage android:mountPoint="/storage/sdcard1"
31+
android:storageDescription="@string/storage_sd_card"
32+
android:primary="false"
33+
android:emulated="false"
34+
android:removable="false"
35+
android:allowMassStorage="false"
36+
android:maxFileSize="4096" />
37+
<!-- external USB OTG storage -->
4338
<storage android:mountPoint="/storage/usbdisk"
44-
android:storageDescription="@string/storage_usb"
45-
android:removable="true" />
39+
android:storageDescription="@string/storage_usb"
40+
android:removable="true" />
4641
</StorageList>

recovery.fstab

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
# mount point fstype device [device2] [length=]
1+
# mount point fstype device [device2] [length=]
22

3-
/recovery emmc /dev/block/mmcblk0p21
4-
/boot emmc /dev/block/mmcblk0p20
5-
/cache ext4 /dev/block/mmcblk0p24
6-
/data ext4 /dev/block/mmcblk0p23 length=-16384
7-
/sd-ext ext4 /dev/block/mmcblk1p2
8-
/sdcard vfat /dev/block/mmcblk1p1
3+
/boot emmc /dev/block/mmcblk0p20
4+
/recovery emmc /dev/block/mmcblk0p21
95
/system ext4 /dev/block/mmcblk0p22
6+
/data f2fs /dev/block/mmcblk0p23 length=-16384
7+
/cache f2fs /dev/block/mmcblk0p24
108
/misc emmc /dev/block/mmcblk0p31
9+
/sdcard1 vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="sdcard1";storage;wipeingui;removable
10+
/data1 f2fs /dev/block/mmcblk1p2 /dev/block/mmcblk1 flags=display="data1";wipeingui;removable
11+
/usbdisk vfat /dev/block/sda1 /dev/block/sda flags=display="usbdisk";storage;wipeingui;removable

recovery/root/etc/twrp.fstab

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
# mount point fstype device [device2] [length=]
2-
3-
/boot emmc /dev/block/mmcblk0p20
4-
/recovery emmc /dev/block/mmcblk0p21
5-
/system ext4 /dev/block/mmcblk0p22
6-
/data ext4 /dev/block/mmcblk0p23 length=-16384
7-
/cache ext4 /dev/block/mmcblk0p24
8-
/misc emmc /dev/block/mmcblk0p31
9-
/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="MicroSD card";storage;wipeingui;removable
10-
/sd-ext ext4 /dev/block/mmcblk1p2 flags=display="SD-Ext";wipeingui;removable
11-
#/usb-otg vfat /dev/block/sda1 /dev/block/sda flags=display="USB OTG";storage;wipeingui;removable
1+
# mount point fstype device [device2] [length=]
122

3+
/boot emmc /dev/block/mmcblk0p20
4+
/recovery emmc /dev/block/mmcblk0p21
5+
/system ext4 /dev/block/mmcblk0p22
6+
/data f2fs /dev/block/mmcblk0p23 length=-16384
7+
/cache f2fs /dev/block/mmcblk0p24
8+
/misc emmc /dev/block/mmcblk0p31
9+
/sdcard1 vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="sdcard1";andsec;storage;wipeingui;removable
10+
/data1 f2fs /dev/block/mmcblk1p2 /dev/block/mmcblk1 flags=display="data1";wipeingui;removable
11+
/usbdisk vfat /dev/block/sda1 /dev/block/sda flags=display="usbdisk";storage;wipeingui;removable

rootdir/Android.mk

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ LOCAL_SRC_FILES := etc/fstab.pyramid
88
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
99
include $(BUILD_PREBUILT)
1010

11+
include $(CLEAR_VARS)
12+
LOCAL_MODULE := init.pyramid.sh
13+
LOCAL_MODULE_TAGS := optional eng
14+
LOCAL_MODULE_CLASS := ETC
15+
LOCAL_SRC_FILES := etc/init.pyramid.sh
16+
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
17+
include $(BUILD_PREBUILT)
18+
1119
include $(CLEAR_VARS)
1220
LOCAL_MODULE := init.pyramid.rc
1321
LOCAL_MODULE_TAGS := optional eng

rootdir/etc/fstab.pyramid

100755100644
Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
# Android fstab file.
2-
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
3-
#/dev/block/platform/msm_sdcc.1/by-name/dsps /firmware_dsps vfat ro,shortname=lower wait
4-
/dev/block/platform/msm_sdcc.1/by-name/radio /firmware_radio vfat ro,shortname=lower,context=u:object_r:firmware_file:s0 wait
5-
/dev/block/platform/msm_sdcc.1/by-name/adsp /firmware_q6 vfat ro,shortname=lower,context=u:object_r:firmware_file:s0 wait
6-
#/dev/block/platform/msm_sdcc.1/by-name/wcnss /firmware_wcnss vfat ro,shortname=lower wait
7-
8-
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
9-
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
10-
/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
11-
/dev/block/platform/msm_sdcc.1/by-name/devlog /devlog ext4 noatime,nosuid,nodev,barrier=0 wait
12-
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw,noatime,barrier=0 wait
13-
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=0 wait
14-
/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check
15-
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,barrier=0 wait,encryptable=footer,length=-16384
16-
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check,encryptable=footer,length=-16384
2+
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
3+
#/dev/block/platform/msm_sdcc.1/by-name/dsps /firmware_dsps vfat ro,shortname=lower wait
4+
/dev/block/platform/msm_sdcc.1/by-name/radio /firmware_radio vfat ro,shortname=lower,context=u:object_r:firmware_file:s0 wait
5+
/dev/block/platform/msm_sdcc.1/by-name/adsp /firmware_q6 vfat ro,shortname=lower,context=u:object_r:firmware_file:s0 wait
6+
#/dev/block/platform/msm_sdcc.1/by-name/wcnss /firmware_wcnss vfat ro,shortname=lower wait
7+
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
8+
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
9+
/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
10+
/dev/block/platform/msm_sdcc.1/by-name/devlog /devlog ext4 noatime,nosuid,nodev,barrier=0 wait
11+
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,noatime,barrier=1 wait
12+
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
13+
/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check
14+
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check,encryptable=footer,length=-16384
15+
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs noatime,nodiratime,nosuid,nodev,inline_xattr,discard,rw wait,check,encryptable=footer,length=-16384
16+
/dev/block/platform/msm_sdcc.3/by-num/p2 /data1 ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
17+
/dev/block/platform/msm_sdcc.3/by-num/p2 /data1 f2fs noatime,nodiratime,nosuid,nodev,inline_xattr,discard,rw wait,check
1718

1819
# SD card
19-
/devices/platform/msm_sdcc.3/mmc_host/mmc1* auto vfat defaults voldmanaged=sdcard0:auto,noemulatedsd
20+
/devices/platform/msm_sdcc.3/mmc_host/mmc1* auto vfat defaults voldmanaged=sdcard1:auto,noemulatedsd
2021

2122
# USB storage
22-
/devices/platform/msm_hsusb_host.0/usb1* auto auto defaults voldmanaged=usbdisk:auto
23+
d* auto auto defaults voldmanaged=usbdisk:auto,noemulatedsd
2324

2425
# ZRAM
25-
/dev/block/zram0 none swap defaults zramsize=268435456
26+
/dev/block/zram0 none swap defaults zramsize=268435456

rootdir/etc/init.pyramid.rc

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,36 @@ on early-init
1111

1212
on init
1313
mkdir /devlog 0700 root root
14-
mkdir /mnt/media_rw/sdcard0 0700 media_rw media_rw
15-
mkdir /mnt/media_rw/usbdisk 0700 media_rw media_rw
1614

17-
mkdir /storage/sdcard0 0700 root root
18-
mkdir /storage/usbdisk 0700 root root
15+
# See storage config details at http://source.android.com/tech/storage/
16+
mkdir /mnt/shell/emulated 0700 shell shell
17+
mkdir /storage/emulated 0555 root root
1918

20-
# for backwards compatibility
21-
symlink /storage/sdcard0 /sdcard
22-
symlink /storage/sdcard0 /mnt/sdcard
23-
symlink /storage/usbdisk /usbdisk
24-
symlink /storage/usbdisk /mnt/usbdisk
19+
export EXTERNAL_STORAGE /storage/emulated/legacy
20+
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
21+
export EMULATED_STORAGE_TARGET /storage/emulated
22+
23+
# Secondary storage
24+
mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
25+
mkdir /storage/sdcard1 0700 root root
26+
export SECONDARY_STORAGE /storage/sdcard1
27+
28+
# Secondary data (optional)
29+
mkdir /data1 0771 root root
30+
31+
# Support legacy paths
32+
symlink /storage/emulated/legacy /sdcard
33+
symlink /storage/emulated/legacy /mnt/sdcard
34+
symlink /storage/emulated/legacy /storage/sdcard0
35+
symlink /mnt/shell/emulated/0 /storage/emulated/legacy
2536

2637
setprop ro.usb.idproduct.ums 0c86
2738
setprop ro.usb.idproduct.rndis 0c86
2839
setprop ro.usb.idproduct.mtp 0f87
2940
setprop ro.usb.idproduct.mtp_adb 0f87
3041
setprop ro.usb.idproduct.ptp 0f87
3142

32-
export EXTERNAL_STORAGE /storage/sdcard0
33-
export SECONDARY_STORAGE /storage/usbdisk
34-
3543
on fs
36-
3744
# create firmware mount points
3845
mkdir /firmware_radio 0771 system system
3946
mkdir /firmware_q6 0771 system system
@@ -51,20 +58,26 @@ on fs
5158
chmod 0644 /proc/cmdline
5259

5360
setprop ro.crypto.tmpfs_options size=128m,mode=0771,uid=1000,gid=1000
61+
setprop ro.crypto.fuse_sdcard true
5462

5563
# Force loading of modem and Q6 images
5664
write /dev/smd_pkt_loopback 1
5765

58-
# link widevine drm library path
66+
# link widevine drm library path
5967
symlink /system/vendor/lib /vendor/lib
6068

69+
# run device's script
70+
exec /init.pyramid.sh
71+
6172
mount_all /remount.pyramid
6273

6374
on post-fs-data
6475
# double check the perms and set owner
6576
chown root root /devlog
6677
chmod 0700 /devlog
6778

79+
mkdir /data/media 0770 media_rw media_rw
80+
6881
# Set indication (checked by vold) that we have finished this action
6982
setprop vold.post_fs_data_done 1
7083

@@ -262,13 +275,14 @@ service iprenew_wlan0 /system/bin/dhcpcd -n
262275
oneshot
263276
# wifi--
264277

265-
service fuse_sdcard0 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard0 /storage/sdcard0
266-
class late_start
267-
disabled
278+
# external sdcard daemon running as media_rw (1023)
279+
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
280+
class late_start
281+
disabled
268282

269-
service fuse_usbdisk /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/usbdisk /storage/usbdisk
270-
class late_start
271-
disabled
283+
# virtual sdcard daemon running as media_rw (1023)
284+
service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
285+
class late_start
272286

273287
on property:init.svc.bootanim=stopped
274288
start qcom-post-boot

rootdir/etc/init.pyramid.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/system/bin/sh
2+
3+
export PATH=${PATH}:/system/bin/:/system/xbin/
4+
5+
# Log related mounts and mount points before
6+
log -p i -t userinit "[${0}] Before"
7+
echo "[${0}] Before" >> /cache/${0}.log
8+
mount >> /cache/${0}.log
9+
ls -la /data/ >> /cache/${0}.log
10+
ls -la /data1/ >> /cache/${0}.log
11+
12+
# Attempt to link data content to secondary data (optional)
13+
# If we fail those locations will be used as usual
14+
# Ensure permissions are set correctly
15+
test -d /data1/app && chmod 0771 /data1/app && chown system:system /data1/app && rm -Rf /data/app && ln -s /data1/app /data/app && log -p i -t userinit "[${0}] Linked /data1/app" && echo "[${0}] Linked /data1/app" >> /cache/${0}.log
16+
#test -d /data1/app-asec && chmod 0700 /data1/app-asec && chown root:root /data1/app-asec && rm -Rf /data/app-asec && ln -s /data1/app-asec /data/app-asec && log -p i -t userinit "[${0}] Linked /data1/app-asec" && echo "[${0}] Linked /data1/app-asec" >> /cache/${0}.log
17+
#test -d /data1/app-lib && chmod 0771 /data1/app-lib && chown system:system /data1/app-lib && rm -Rf /data/app-lib && ln -s /data1/app-lib /data/app-lib && log -p i -t userinit "[${0}] Linked /data1/app-lib" && echo "[${0}] Linked /data1/app-lib" >> /cache/${0}.log
18+
#test -d /data1/app-private && chmod 0771 /data1/app-private && chown system:system /data1/app-private && rm -Rf /data/app-private && ln -s /data1/app-private /data/app-private && log -p i -t userinit "[${0}] Linked /data1/app-private" && echo "[${0}] Linked /data1/app-private" >> /cache/${0}.log
19+
test -d /data1/dalvik-cache && chmod 0771 /data1/dalvik-cache && chown root:root /data1/dalvik-cache && rm -Rf /data/dalvik-cache && ln -s /data1/dalvik-cache /data/dalvik-cache && log -p i -t userinit "[${0}] Linked /data1/dalvik-cache" && echo "[${0}] Linked /data1/dalvik-cache" >> /cache/${0}.log
20+
test -d /data1/data && chmod 0771 /data1/data && chown system:system /data1/data && rm -Rf /data/data && ln -s /data1/data /data/data && log -p i -t userinit "[${0}] Linked /data1/data" && echo "[${0}] Linked /data1/data" >> /cache/${0}.log
21+
test -d /data1/media && chmod 0770 /data1/media && chown media_rw:media_rw /data1/media && rm -Rf /data/media && ln -s /data1/media /data/media && log -p i -t userinit "[${0}] Linked /data1/media" && echo "[${0}] Linked /data1/media" >> /cache/${0}.log
22+
23+
# Log related mounts and mount points after
24+
log -p i -t userinit "[${0}] After"
25+
echo "[${0}] After" >> /cache/${0}.log
26+
mount >> /cache/${0}.log
27+
ls -la /data/ >> /cache/${0}.log
28+
ls -la /data1/ >> /cache/${0}.log

rootdir/etc/remount.pyramid

100755100644
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Android fstab file.
2-
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
3-
/dev/block/mmcblk0p22 /system ext4 remount,ro,noatime,barrier=0 wait
2+
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
3+
/dev/block/mmcblk0p22 /system ext4 remount,ro,noatime,barrier=0 wait

0 commit comments

Comments
 (0)