• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root Proposal/Theory for External SD storage solution on F6

@Frogggy
Did you use the zips from #309 or #319?
After you repartitioned, were you able to mount the partition(s)? In TWRP, Mount->check both External SDcard and SD-Ext. Does TWRP complain? If so, did you skip the "make_ext4fs" command?
Does TWRP show any other error message when you flash the zips?

If the problem is still with the partitions and file systems on the SD card, don't bother going through the previous steps again. I've made a zip. Based on your previous post, I guess you want your ext4 partition to be 15,000 MiB. I made the zip do exactly that. It's just a simple script that does the exact partitioning steps in my previous posts. If you need it, flash it first with TWRP. Then -copy.zip. If no errors, then -install.zip. Remember it will wipe your SD card. Once you get it or decide you don't need it, let me know so I can remove the file. If you want different sizes for the partitions, I can accommodate, but I want to know whether the zip works and solves your problem.

If the failure to copy is with your data files, then it will take more to troubleshoot. Let me not go there for now.

Edit: file removed.
 
Last edited:
Well sorry but i'm lost.
I use TWRP, but not sure if i'm doing the right thing. Everytime i try to install the -copy.zip or even the partition.zip. i get that it failed

Updating partition details ...
Installing 'sdcard/DataOnSD-copy.zip' ...
Checking for MD5 file ...
SkippingMD5 check: no MD5 file found.
Copying data for DataOnSD ...
Failed.
Updating partition details ...


That is what i get for the -copy.zip and the partition15000.zip

I don't mean to sound like a noob, but could you please start from the top with eactly what to do?
I believe i have the partitions set out correct, can i still use the adb shell even tho i have TWRP?( i love the command line).
First i would check if they are mounted correctly, then i could start the installation, show me it step by step, that way i can understand what is being done so i can better explain if i have any errors.

BTW: i have a 32GB sd card
 
Okay, since you like the command line, you can do everything there. I've been assuming you are running LG's stock firmware or a JB rom. Starting from the top, we want to:
  1. Create partitions (both primary) and file systems (1st=fat32, 2nd=ext4).
    • (Optional) Check partitions are mountable.
  2. Install the hack using my installer.sh script. If you're truly hardcore, it's possible to do this manually on the command line without a script.
    • (Optional) Check files are installed correctly.
  3. Reboot to apply changes and begin file copying.
  4. (Optional) Clean up script used for file copying (as it's no longer needed, but it shouldn't interfere if left alone) or troubleshoot.
1. Refer to post #396 and #399. I'll list the complete step-by-step commands without the output. Before changing the partitions, go into Settings and Storage and unmount the SD card.
Code:
adb push <parted file location on your PC> /data/local/tmp
adb shell
su
cd /data/local/tmp
chmod 777 parted
./parted /dev/block/mmcblk1
unit MiB
rm 1
rm 2
mkpart primary fat32 1 2
mkpart primary ext4 -15000MiB -1s
rm 1
mkpart primary fat32 4MiB -15000MiB
quit
newfs_msdos -F 32 /dev/block/mmcblk1p1
make_ext4fs /dev/block/mmcblk1p2
rm /data/local/tmp/parted
(Optional checking) See post #338.
Code:
ls -l /dev/block/mmcblk1p*
mkdir /mnt/asec/temp1
mkdir /mnt/asec/temp2
mount -t vfat /dev/block/mmcblk1p1 /mnt/asec/temp1
mount -t ext4 -o nosuid,nodev /dev/block/mmcblk1p2 /mnt/asec/temp2
ls -la /mnt/asec/temp1
ls -la /mnt/asec/temp2
umount /mnt/asec/temp1
umount /mnt/asec/temp2
Code:
exit
exit
2. At this point, partitions on the SD card are empty. I don't remember whether Android mounts the fat32 partition automatically. If it doesn't, go into Settings, Storage and mount the SD card. Unzip the zip from post #251. Copy the installation folder/files (DataOnSD) to the SD card. Then see post #353.
Code:
adb shell
su
cd /storage/external_SD/
touch LGF6DataOnSD_INIT
cd DataOnSD
sh installer.sh both
(Optional checking) Post #353.
Code:
ls -l /system/bin/vold*
ls -l /system/etc/DataOnSD
ls -l /storage/external_SD/LGF6DataOnSD*
Code:
exit
exit
3. Fingers crossed.
4. (Optional) To delete the script used for file copying, just uninstall the hack and reinstall it with binary only.
Code:
adb shell
su
cd /storage/external_SD/DataOnSD
sh installer.sh uninstall
sh installer.sh binary
exit
exit
If file copying was mysteriously aborted, the script might have left behind a folder which will prevent further attempts to copy again. If so, delete the folder (post #338) and investigate the cause of failure.
Code:
adb shell
su
ls -ld /cache/DataOnSD
rmdir /cache/DataOnSD/vfat
rmdir /cache/DataOnSD/ext4
rmdir /cache/DataOnSD
exit
exit
 
Okay, since you like the command line, you can do everything there. I've been assuming you are running LG's stock firmware or a JB rom. Starting from the top, we want to:
  1. Create partitions (both primary) and file systems (1st=fat32, 2nd=ext4).
    • (Optional) Check partitions are mountable.
  2. Install the hack using my installer.sh script. If you're truly hardcore, it's possible to do this manually on the command line without a script.
    • (Optional) Check files are installed correctly.
  3. Reboot to apply changes and begin file copying.
  4. (Optional) Clean up script used for file copying (as it's no longer needed, but it shouldn't interfere if left alone) or troubleshoot.
1. Refer to post #396 and #399. I'll list the complete step-by-step commands without the output. Before changing the partitions, go into Settings and Storage and unmount the SD card.
Code:
adb push <parted file location on your PC> /data/local/tmp
adb shell
su
cd /data/local/tmp
chmod 777 parted
./parted /dev/block/mmcblk1
unit MiB
rm 1
rm 2
mkpart primary fat32 1 2
mkpart primary ext4 -15000MiB -1s
rm 1
mkpart primary fat32 4MiB -15000MiB
quit
newfs_msdos -F 32 /dev/block/mmcblk1p1
make_ext4fs /dev/block/mmcblk1p2
rm /data/local/tmp/parted
(Optional checking) See post #338.
Code:
ls -l /dev/block/mmcblk1p*
mkdir /mnt/asec/temp1
mkdir /mnt/asec/temp2
mount -t vfat /dev/block/mmcblk1p1 /mnt/asec/temp1
mount -t ext4 -o nosuid,nodev /dev/block/mmcblk1p2 /mnt/asec/temp2
ls -la /mnt/asec/temp1
ls -la /mnt/asec/temp2
umount /mnt/asec/temp1
umount /mnt/asec/temp2
Code:
exit
exit
2. At this point, partitions on the SD card are empty. I don't remember whether Android mounts the fat32 partition automatically. If it doesn't, go into Settings, Storage and mount the SD card. Unzip the zip from post #251. Copy the installation folder/files (DataOnSD) to the SD card. Then see post #353.
Code:
adb shell
su
cd /storage/external_SD/
touch LGF6DataOnSD_INIT
cd DataOnSD
sh installer.sh both
(Optional checking) Post #353.
Code:
ls -l /system/bin/vold*
ls -l /system/etc/DataOnSD
ls -l /storage/external_SD/LGF6DataOnSD*
Code:
exit
exit
3. Fingers crossed.
4. (Optional) To delete the script used for file copying, just uninstall the hack and reinstall it with binary only.
Code:
adb shell
su
cd /storage/external_SD/DataOnSD
sh installer.sh uninstall
sh installer.sh binary
exit
exit
If file copying was mysteriously aborted, the script might have left behind a folder which will prevent further attempts to copy again. If so, delete the folder (post #338) and investigate the cause of failure.
Code:
adb shell
su
ls -ld /cache/DataOnSD
rmdir /cache/DataOnSD/vfat
rmdir /cache/DataOnSD/ext4
rmdir /cache/DataOnSD
exit
exit
Not trying yet, just woke and on way to work, will try when i get home this afternoon. I was running stock, but after not working i installed TWRP. With this installed would the command line you referenced still work or do i have to uninstall TWRP?
 
tried and got stuck at checking if partitions are mountable
fat partition works but gives "Device or resource busy" and the ext4 giving error "No CSI structure availible"
Is this as result of TWRP?
 
No, TWRP wouldn't have an effect. TWRP is a recovery environment. When the system is running, TWRP or CWM is not active. One of its purposes is to update system files while the system is not running, like the factory recovery software on laptops or a Windows repair disk.

So it's still the same problem -- "no CSI structure." One more thing to try is to rewrite the partition table of the SD card. I don't know if that's relevant, but I'm running out of ideas. So far the indication is that you're unable to mount an ext4 partition on the SD even though you are able to format it. Beyond that, we''re looking at potential system software issues, or worse, hardware issues like bad SD or bad SD reader.

If you can, perhaps you should show me the response of each command. Or, maybe later or tomorrow, I can do all the steps on my phone from a Windows system just to get the exact output you should see at each step.

In the meantime, you could try to partition using TWRP. This is the simplest installation method some people have used. We can repartition for alignment later if TWRP's built-in software works. Also, let me know some other info like which model (D500 or MS500), which firmware version (10i, 12b, etc.), which TWRP version (2.6.3.0 or 2.8.x.x), and whether you have installed busybox.

Edit:
OK, I made a script that tries to create a new partition table, make some new partitions, format them, and attempt to mount them. Try it and let me know the result. Note that this will wipe the entire SD card again. Put the contents of the attached zip (wipe_test.sh & parted) in your adb folder. This is everything I typed into the adb window, including clean-up commands:
Code:
adb push .\wipe_test.sh /data/local/tmp
adb push .\parted /data/local/tmp
adb shell
su
sh /data/local/tmp/wipe_test.sh
rm /data/local/tmp/wipe_test.sh
rm /data/local/tmp/parted
exit
exit
del wipe_test.sh
del parted
My adb folder is "C:\adb", and you can see the exact output of my test:
Code:
C:\adb>adb push .\wipe_test.sh /data/local/tmp
1 KB/s (1343 bytes in 1.000s)
C:\adb>adb push .\parted /data/local/tmp
3611 KB/s (346680 bytes in 0.093s)
C:\adb>adb shell
shell@android:/ $ su
su
shell@android:/ # sh /data/local/tmp/wipe_test.sh
sh /data/local/tmp/wipe_test.sh
+ cd /data/local/tmp
+ chmod 777 parted
+ ./parted -s /dev/block/mmcblk1 -- mklabel msdos
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 1MiB 2MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 2MiB 3MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 3000MiB -1s
+ ./parted -s /dev/block/mmcblk1 -- rm 2
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext4 1000MiB 3000MiB
+ ./parted -s /dev/block/mmcblk1 -- rm 1 rm 3
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary fat32 4MiB 1000MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext4 -2000MiB -1s
+ newfs_msdos -F 32 /dev/block/mmcblk1p1
newfs_msdos: warning, /dev/block/mmcblk1p1 is not a character device
newfs_msdos: Skipping mount checks
/dev/block/mmcblk1p1: 2038752 sectors in 63711 FAT32 clusters (16384 bytes/clust
er)
bps=512 spc=32 res=32 nft=2 mid=0xf0 spt=16 hds=4 hid=0 bsec=2039808 bspf=498 rd
cl=2 infs=1 bkbs=2
+ make_ext4fs /dev/block/mmcblk1p2
Creating filesystem with parameters:
  Size: 2097152000
  Block size: 4096
  Blocks per group: 32768
  Inodes per group: 8000
  Inode size: 256
  Journal blocks: 8000
  Label:
  Blocks: 512000
  Block groups: 16
  Reserved block group size: 127
Created filesystem with 11/128000 inodes and 16809/512000 blocks
+ make_ext4fs /dev/block/mmcblk1p3
Creating filesystem with parameters:
  Size: 2097152000
  Block size: 4096
  Blocks per group: 32768
  Inodes per group: 8000
  Inode size: 256
  Journal blocks: 8000
  Label:
  Blocks: 512000
  Block groups: 16
  Reserved block group size: 127
Created filesystem with 11/128000 inodes and 16809/512000 blocks
+ ./parted -s /dev/block/mmcblk1 -- unit s print
Model: SD SU08G (sd/mmc)
Disk /dev/block/mmcblk1: 15523840s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start  End  Size  Type  File system  Flags
1  8192s  2047999s  2039808s  primary  fat32  lba
2  2048000s  6143999s  4096000s  primary  ext4
3  11427840s  15523839s  4096000s  primary  ext4
+ e2fsck /dev/block/mmcblk1p2
e2fsck 1.41.14 (22-Dec-2010)
/dev/block/mmcblk1p2: clean, 11/128000 files, 16809/512000 blocks
+ e2fsck /dev/block/mmcblk1p3
e2fsck 1.41.14 (22-Dec-2010)
/dev/block/mmcblk1p3: clean, 11/128000 files, 16809/512000 blocks
+ mkdir /mnt/asec/temp1
+ mount -t vfat /dev/block/mmcblk1p1 /mnt/asec/temp1
+ umount /mnt/asec/temp1
+ rmdir /mnt/asec/temp1
+ mkdir /mnt/asec/temp2
+ mount -t ext4 -o nosuid,nodev /dev/block/mmcblk1p2 /mnt/asec/temp2
+ umount /mnt/asec/temp2
+ rmdir /mnt/asec/temp2
+ mkdir /mnt/asec/temp3
+ mount -t ext4 -o nosuid,nodev /dev/block/mmcblk1p3 /mnt/asec/temp3
+ umount /mnt/asec/temp3
+ rmdir /mnt/asec/temp3
+ echo Done.
Done.
shell@android:/ # rm /data/local/tmp/wipe_test.sh
rm /data/local/tmp/wipe_test.sh
shell@android:/ # rm /data/local/tmp/parted
rm /data/local/tmp/parted
shell@android:/ # exit
exit
shell@android:/ $ exit
exit
C:\adb>del wipe_test.sh
C:\adb>del parted
C:\adb>
My test card is only 8GB, so your numbers will be different. If all commands in the script are successful, you should see a "Done." Otherwise, let me know what you get if you run it.

Edit: file removed.
 
Last edited:
Ms500 :
No, TWRP wouldn't have an effect. TWRP is a recovery environment. When the system is running, TWRP or CWM is not active. One of its purposes is to update system files while the system is not running, like the factory recovery software on laptops or a Windows repair disk.

So it's still the same problem -- "no CSI structure." One more thing to try is to rewrite the partition table of the SD card. I don't know if that's relevant, but I'm running out of ideas. So far the indication is that you're unable to mount an ext4 partition on the SD even though you are able to format it. Beyond that, we''re looking at potential system software issues, or worse, hardware issues like bad SD or bad SD reader.

If you can, perhaps you should show me the response of each command. Or, maybe later or tomorrow, I can do all the steps on my phone from a Windows system just to get the exact output you should see at each step.

In the meantime, you could try to partition using TWRP. This is the simplest installation method some people have used. We can repartition for alignment later if TWRP's built-in software works. Also, let me know some other info like which model (D500 or MS500), which firmware version (10i, 12b, etc.), which TWRP version (2.6.3.0 or 2.8.x.x), and whether you have installed busybox.

Edit:
OK, I made a script that tries to create a new partition table, make some new partitions, format them, and attempt to mount them. Try it and let me know the result. Note that this will wipe the entire SD card again. Put the contents of the attached zip (wipe_test.sh & parted) in your adb folder. This is everything I typed into the adb window, including clean-up commands:
Code:
adb push .\wipe_test.sh /data/local/tmp
adb push .\parted /data/local/tmp
adb shell
su
sh /data/local/tmp/wipe_test.sh
rm /data/local/tmp/wipe_test.sh
rm /data/local/tmp/parted
exit
exit
del wipe_test.sh
del parted
My adb folder is "C:\adb", and you can see the exact output of my test:
Code:
C:\adb>adb push .\wipe_test.sh /data/local/tmp
1 KB/s (1343 bytes in 1.000s)
C:\adb>adb push .\parted /data/local/tmp
3611 KB/s (346680 bytes in 0.093s)
C:\adb>adb shell
shell@android:/ $ su
su
shell@android:/ # sh /data/local/tmp/wipe_test.sh
sh /data/local/tmp/wipe_test.sh
+ cd /data/local/tmp
+ chmod 777 parted
+ ./parted -s /dev/block/mmcblk1 -- mklabel msdos
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 1MiB 2MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 2MiB 3MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 3000MiB -1s
+ ./parted -s /dev/block/mmcblk1 -- rm 2
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext4 1000MiB 3000MiB
+ ./parted -s /dev/block/mmcblk1 -- rm 1 rm 3
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary fat32 4MiB 1000MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext4 -2000MiB -1s
+ newfs_msdos -F 32 /dev/block/mmcblk1p1
newfs_msdos: warning, /dev/block/mmcblk1p1 is not a character device
newfs_msdos: Skipping mount checks
/dev/block/mmcblk1p1: 2038752 sectors in 63711 FAT32 clusters (16384 bytes/clust
er)
bps=512 spc=32 res=32 nft=2 mid=0xf0 spt=16 hds=4 hid=0 bsec=2039808 bspf=498 rd
cl=2 infs=1 bkbs=2
+ make_ext4fs /dev/block/mmcblk1p2
Creating filesystem with parameters:
  Size: 2097152000
  Block size: 4096
  Blocks per group: 32768
  Inodes per group: 8000
  Inode size: 256
  Journal blocks: 8000
  Label:
  Blocks: 512000
  Block groups: 16
  Reserved block group size: 127
Created filesystem with 11/128000 inodes and 16809/512000 blocks
+ make_ext4fs /dev/block/mmcblk1p3
Creating filesystem with parameters:
  Size: 2097152000
  Block size: 4096
  Blocks per group: 32768
  Inodes per group: 8000
  Inode size: 256
  Journal blocks: 8000
  Label:
  Blocks: 512000
  Block groups: 16
  Reserved block group size: 127
Created filesystem with 11/128000 inodes and 16809/512000 blocks
+ ./parted -s /dev/block/mmcblk1 -- unit s print
Model: SD SU08G (sd/mmc)
Disk /dev/block/mmcblk1: 15523840s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start  End  Size  Type  File system  Flags
1  8192s  2047999s  2039808s  primary  fat32  lba
2  2048000s  6143999s  4096000s  primary  ext4
3  11427840s  15523839s  4096000s  primary  ext4
+ e2fsck /dev/block/mmcblk1p2
e2fsck 1.41.14 (22-Dec-2010)
/dev/block/mmcblk1p2: clean, 11/128000 files, 16809/512000 blocks
+ e2fsck /dev/block/mmcblk1p3
e2fsck 1.41.14 (22-Dec-2010)
/dev/block/mmcblk1p3: clean, 11/128000 files, 16809/512000 blocks
+ mkdir /mnt/asec/temp1
+ mount -t vfat /dev/block/mmcblk1p1 /mnt/asec/temp1
+ umount /mnt/asec/temp1
+ rmdir /mnt/asec/temp1
+ mkdir /mnt/asec/temp2
+ mount -t ext4 -o nosuid,nodev /dev/block/mmcblk1p2 /mnt/asec/temp2
+ umount /mnt/asec/temp2
+ rmdir /mnt/asec/temp2
+ mkdir /mnt/asec/temp3
+ mount -t ext4 -o nosuid,nodev /dev/block/mmcblk1p3 /mnt/asec/temp3
+ umount /mnt/asec/temp3
+ rmdir /mnt/asec/temp3
+ echo Done.
Done.
shell@android:/ # rm /data/local/tmp/wipe_test.sh
rm /data/local/tmp/wipe_test.sh
shell@android:/ # rm /data/local/tmp/parted
rm /data/local/tmp/parted
shell@android:/ # exit
exit
shell@android:/ $ exit
exit
C:\adb>del wipe_test.sh
C:\adb>del parted
C:\adb>
My test card is only 8GB, so your numbers will be different. If all commands in the script are successful, you should see a "Done." Otherwise, let me know what you get if you run it.

Didnt see "Done" next is my command line results.


C:\ADB Files>adb push .\wipe_test.sh /data/local/tmp
16 KB/s (1343 bytes in 0.078s)

C:\ADB Files>adb push .\parted /data/local/tmp
1808 KB/s (346680 bytes in 0.187s)

C:\ADB Files>adb shell
shell@android:/ $ su
su
root@android:/ # sh /data/local/tmp/wipe_test.sh
sh /data/local/tmp/wipe_test.sh
+ cd /data/local/tmp
+ chmod 777 parted
+ ./parted -s /dev/block/mmcblk1 -- mklabel msdos
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 1MiB 2MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 2MiB 3MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext2 3000MiB -1s
+ ./parted -s /dev/block/mmcblk1 -- rm 2
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext4 1000MiB 3000MiB
+ ./parted -s /dev/block/mmcblk1 -- rm 1 rm 3
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary fat32 4MiB 1000MiB
+ ./parted -s /dev/block/mmcblk1 -- mkpart primary ext4 -2000MiB -1s
+ newfs_msdos -F 32 /dev/block/mmcblk1p1
newfs_msdos: warning, /dev/block/mmcblk1p1 is not a character device
newfs_msdos: Skipping mount checks
/dev/block/mmcblk1p1: 2038752 sectors in 63711 FAT32 clusters (16384 bytes/clust
er)
bps=512 spc=32 res=32 nft=2 mid=0xf0 spt=16 hds=4 hid=0 bsec=2039808 bspf=498 rd
cl=2 infs=1 bkbs=2
+ make_ext4fs /dev/block/mmcblk1p2
Creating filesystem with parameters:
Size: 2097152000
Block size: 4096
Blocks per group: 32768
Inodes per group: 8000
Inode size: 256
Journal blocks: 8000
Label:
Blocks: 512000
Block groups: 16
Reserved block group size: 127
Created filesystem with 11/128000 inodes and 16809/512000 blocks
+ make_ext4fs /dev/block/mmcblk1p3
Creating filesystem with parameters:
Size: 2097152000
Block size: 4096
Blocks per group: 32768
Inodes per group: 8000
Inode size: 256
Journal blocks: 8000
Label:
Blocks: 512000
Block groups: 16
Reserved block group size: 127
Created filesystem with 11/128000 inodes and 16809/512000 blocks
+ ./parted -s /dev/block/mmcblk1 -- unit s print
Model: SD APPSD (sd/mmc)
Disk /dev/block/mmcblk1: 65538048s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 8192s 2047999s 2039808s primary fat32 lba
2 2048000s 6143999s 4096000s primary ext4
3 61442048s 65538047s 4096000s primary

+ e2fsck /dev/block/mmcblk1p2
ping: unknown host /dev/block/mmcblk1p2
2|root@android:/ # rm /data/local/tmp/wipe_test.sh
rm /data/local/tmp/wipe_test.sh
root@android:/ # rm /data/local/tmp/parted
rm /data/local/tmp/parted
root@android:/ # exit
exit
shell@android:/ $ exit
exit

C:\ADB Files>del wipe_test.sh

C:\ADB Files>del parted

C:\ADB Files>

Running a LGMS500, V12b, TWRP2.8.0, no busybox. I have a 32GB cars i want to give 16GB to internal and 16GB to external. Thanks
 
Last edited:
+ e2fsck /dev/block/mmcblk1p2
ping: unknown host /dev/block/mmcblk1p2
OK, this looks suspicious. "e2fsck" is a program that checks the integrity of an ext2/3/4 file system. "ping" is a program that checks connectivity to a host on a network. Invoking e2fsck should not cause ping to run. On my rooted but stock 12b firmware, e2fsck works as expected. And based on its file date, it looks like it came installed from factory. To see what's going on, I'd like to know the content of your /system/bin folder.

Anyway, the stock firmware has another copy of e2fsck somewhere else. I modified the wipe_test script to use that instead. So if you can, try to do the test again with the new script. I also added another script (partition.sh) in the zip that should create the partitions that you can eventually use. Based on your SD's info, I am not sure of your card's erase block size. So I made the partitions aligned to 12MiB boundary to cover most possible choices. You lose a bit of space in the beginning, but it should be insignificant in a 32GB card. Similar to #406, but with some additional commands:
Code:
adb push .\wipe_test.sh /data/local/tmp
adb push .\partition.sh /data/local/tmp
adb push .\parted /data/local/tmp
adb shell
su
sh /data/local/tmp/wipe_test.sh
ls -la /system/bin
Send me output up to this point. The output may be quite long, so if you want to put it in a text file and attach that, that's fine. Then continue with partitioning and cleaning up:
Code:
rm /data/local/tmp/wipe_test.sh
sh /data/local/tmp/partition.sh
rm /data/local/tmp/partition.sh
rm /data/local/tmp/parted
exit
exit
del wipe_test.sh
del partition.sh
del parted
If all commands complete, then you can go ahead with installation of the hack using whichever method you prefer.

As for using TWRP, you use the TWRP app to reboot into recovery. If your SD is already partitioned properly, install the -copy.zip (post #309). If the message says "Done", you then flash -install.zip. Reboot into system. That's it. But the problem is you said -copy.zip failed for you. I'm trying to figure out the cause of failure in your rather unique case.

Edit: File removed.
 
Last edited:
+ /sbin/e2fsck_static -f /dev/block/mmcblk1p2
e2fsck 1.41.14 (22-Dec-2010)
Pass 1: Checking inodes, blocks, and sizes
Inode 8001 is in use, but has dtime set. Fix<y>?

seems like the inodes have extra size to fix
trying to fix all...

... currently at Inode 14948, i got my Enter button held down cause the fix always coming up for next Inode, and the fixing continues...
 
Last edited:
Are you seeing a lot of errors? You can try to abort with Ctrl-C. The file system is newly created; there shouldn't be errors. I try to force-check in the newer script to see if there's anything weird going on. There's an option to do automatic repairs, but I didn't enable that because I didn't expect errors. I'd suggest putting the card in the PC and doing a surface scan.
 
Based on what we've done, I would think so, but I don't know what's causing the errors. Can you do a read/write test on your card in Windows? I don't know what utility you can use for that; I don't use Windows regularly these days. Perhaps start with a simple test like copying a big file and then compare the copy with the original. And if you have another microSD card, you can try that. It doesn't mean the problem is with the card though. We haven't eliminated the possibility that system files are misbehaving.
 
Based on what we've done, I would think so, but I don't know what's causing the errors. Can you do a read/write test on your card in Windows? I don't know what utility you can use for that; I don't use Windows regularly these days. Perhaps start with a simple test like copying a big file and then compare the copy with the original. And if you have another microSD card, you can try that. It doesn't mean the problem is with the card though. We haven't eliminated the possibility that system files are misbehaving.

To eliminate the possibility of system errors doing crap, would full stock recovery make a difference.
 
Well, the normal OS and the recovery are supposedly two separate environments. You seem to have observed problems in both. I suggested using TWRP to partition because TWRP uses its own files to do the task. Then doing the -copy.zip should in theory work. The e2fsck/ping thing is peculiar, but could be an unrelated issue.
 
Just tried at Apps to SD after i installed i got the error " The device does not have a real primary external storage, or the primary external storage is emulated. Moving app to SD function cannot be supported by this device." Any new revelations?
 
@Frogggy
I see in the TWRP-2.8 thread the new version is missing the partitioning function. So I can't trust the new TWRP until I can check whether its environment is compatible. And since it's possible your system is not getting the expected result, I'll have to assume your system files are unreliable. So I made another wipe_test. This time I'm including an extra file so that the script is supposedly not relying on potentially untrustworthy binaries in your /system/bin folder. I also removed the e2fsck command so it won't be stuck asking you to fix errors.

So, like before, unmount the SD in Settings, Storage. Put contents of the attached zip (4 files) in the adb folder. Commands:
Code:
adb push .\wipe_test.sh /data/local/tmp
adb push .\partition.sh /data/local/tmp
adb push .\parted /data/local/tmp
adb push .\busybox /data/local/tmp
adb shell
su
cd /data/local/tmp
sh wipe_test.sh
rm wipe_test.sh
ls -la /system/bin
Let me know the output up to this point. It'll be long. Put it in a file if you want. Then continue:
Code:
sh partition.sh
rm partition.sh
rm parted
rm busybox
exit
exit
del wipe_test.sh
del partition.sh
del parted
del busybox
Let's see if this works.

Edit: file removed.
 
Last edited:
Back
Top Bottom