wiki:SamsungGalaxyXcover2

Version 5 (modified by Rick van der Zwet, 9 years ago) ( diff )

--

Modify Internal SDcard storage to External SDcard

The Samsung Galaxy XCover2 (S7710) has only roughly 500MB left on emulated internal storage which is not enough these days if you like to install a lot of applications. There are many tricks around to move data/cache/applications to the external SD card, but all of them has it quirks. Since large SDcard these days are fast and cheap enough having I think this could be done better, by simply discarding the internal /data storage and use an sdcard partition instead.

Requirements

What I will do is modify the /fstab.samsungskomer to change the mount of the ext4 /data of the internal location /dev/block/mmcblk0p25 to the second partition of the external SDCard /dev/block/mmcblk1p2. Technically speaking you do not even need to root your device, but by flashing firmware you will need to do some pretty advanced stuff.

Steps

Format SD Card

Format 32GB class 10 or higher SDcard with two partitions:

  1. 20GB vfat partition, this will serve as the normal extSdCard
  2. 12GB ext4 partition, this will serve as the new /data partition (make sure it is the second and last partition)

Compile Android Tools

 $ git clone https://android.googlesource.com/platform/system/core
 $ cd core
 $ git checkout android-4.2.1_r1

 $ cd libmincrypt
 $ gcc -c *.c -I../include
 $ ar rcs libmincrypt.a *.o
 $ cd ../mkbootimg
 $ gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a

 $ cd ../mkbootfs
 $ gcc mkbootfs.c  -o mkbootfs -I../include


 $ cd ../libsparse
 $ gcc -o simg2img -Iinclude -lz simg2img.c sparse_crc32.c backed_block.c output_file.c sparse.c sparse_err.c sparse_read.c

Modify stock kernel

I assume you have a stock kernel laying around if not download it from the links below.

 $ ./split_bootimg.pl boot.img

 $ mkdir ramdisk; cd ramdisk
 $ gzip -dc ../boot.img-ramdisk.gz | cpio -i

 # Alter {{{ fstab.samsungskomer }}} and change /data mountpoint from {{{/dev/block/mmcblk0p25}}} to {{{/dev/block/mmcblk1p2}}} 
 $ vim fstab.samsungskomer

 $ cd ..
 $ mkbootfs ./ramdisk | gzip > ramdisk-new.gz
 $ mkbootimg --cmdline 'no_console_suspend=1 console=null' \
  	    --kernel boot.img-kernel \
	    --ramdisk ramdisk-new.gz \
            -o boot-new.img

Upload kernel

  1. Put device in download mode (VolumeDown+Home+Power) on power-on.
  2. $ sudo heimdall flash --pit S7710.pit --Kernel ./boot-new.img # FYI: Pit file retrieval below

Enjoy your new device

The phone will need to be rebooted a few times and it will be complaining about corruption and encryption, just go will the flow and acknowledge the notifications. Ones completed enjoy your improved Samsung Galaxy XCover 2 (S7710).

Misc

Retrieve PIT file

  1. Put device in download mode (VolumeDown+Home+Power) on power-on.
  2. $ sudo heimdall download-pit --output S7710.pit
  3. Reboot device to perform other heimdall actions as other actions will fail after this.

References

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.