yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] [NUT]:
Well... it doesn't ... it craps out on the first sector it seems, but even if i skip the first sector it still doesn't want to go, probably because the partition size was wrong in the first place, but it's strange anyway.

Building a new testkernel with 1048448k@0k which is one less in size, if 0 counts as the first, the last probably didn't exist :p

EDIT: nope, that one didn't fly either... dunno why, dd isn't very elaborate on it's errors :p
[Android Software/Hacking General [Developers Only]] CosmicDan:
I think that beginning part is "read-protected" in userspace, I'm not sure. I will def. like to try this but my linux machine is awaiting repairs, I want to see if I can write to the amss (SBL) partition. Probably not though :p
[Android Software/Hacking General [Developers Only]] [NUT]:
I would agree with you, except if I skip the first 92 Mb of the NAND with dd it still doesn't read... maybe the 'read-protection' foils that plan as well... I don't know ...
[Android Software/Hacking General [Developers Only]] CosmicDan:
Did you try with bs=4096 as I said? Or maybe it's 8192, can't remember. The mkbootimg needs a pagesize of 8192 (otherwise you need to guess around with that ramdisk filler crap) so 8192 should work. I've dd'd from boot partition (@80MB offset) many times with success, but you just can't write to it.
[Android Software/Hacking General [Developers Only]] [NUT]:
I did try with the 4k bs, will try again with 8k :rolleyes:
[Android Software/Hacking General [Developers Only]] CosmicDan:
Ah I remember now, you can't dd from the block device - only from raw mtd device. Example:

dd if=/dev/mtd/mtd3 of=/sdcard/boot.img bs=8192

Of course with dd the size will be exact partition capacity, the null data after the actual data is either 00 or FF. And I have no idea if this is infact a valid .img file (I think it is, because I extracted a ramdisk from a stock ROM like this once).
[Android Software/Hacking General [Developers Only]] [NUT]:
if i skip the first 80mb it will read using that /dev/mtd devices... all my previous attempts failed... but that makes perfect sense now :rolleyes:

---------- Post added at 11:13 PM ---------- Previous post was at 10:36 PM ----------

Heh, i also ran into the realisation, because i could not read boot i/o error free that we are forgetting to add 1k to each offset, it otherwise will overlap at all times, it's only 1k or a part of that, but they do overlap.

kernel.sin: boot 64 @ 280 12800 @ 81921 12Mb
system.sin: system 9C4 @ 2E4 320000 @ 94722 312Mb
userdata.sin: userdata BE0 @ CA8 389120 @ 414723 380Mb
vendor.sin: vendor 42C @ 1888 136704 @ 803844 133Mb
cache 330 @ 1CB4 104448 @ 940549 102Mb
EOD: 1044997 1020Mb

Like this it should work just fine...

I'm currently building a kernel with the following settings, i'll see if i can read boot errorfree now:

# kernel.sin: boot 64 @ 280 12800 @ 81921 12Mb
# system C00 @ 2E4 393216 @ 94722 384Mb
# userdata EF8 @ EE4 548864 @ 487939 536Mb
# cache 40 @ 1FA0 11771 @ 1036804 11Mb
# TESTING PARTITION: disk 2000 @ 0 1048575 @ 0 1024Mb

If i am correct, the cache partition will now fill up everything left on the NAND chip, counting 1048576 blocks of 1k starting from 0 (and including that 0 as first block) would make the NAND end at 1048575.

Lets see if i'm right :)
[Android Software/Hacking General [Developers Only]] CosmicDan:
Hey NUT,

The reason why ayame, iyokan, and maybe some others (I've downloaded all HDPI FTF's and am decoding them) have 1022MiB instead of 1020MiB allocated is because there is 2048KiB unallocated between boot and system... lol! Sony made a mistake I guess!

It seems all Xperia 2011 devices have cache sitting right at the end of NAND. So the offset + size of cache should = 1024MiB (instead of 1020/1022MB). Let me know how the extend cache goes and if you can dd to and from it fully without I/O errors at the end.

P.S. I wonder if we can write to fota0 and fota1? I want to try it, I have no idea what they are for (Firmware OTA code?). Worst case scenario is a soft-brick requiring an FTF flash. Also, I wonder if we can mount amss_fs? FS suggests it's a filesystem of some sort....

EDIT:

Oh and about the 1K overlap thing - no, that's not right. Try to visualize it - we are specifying OFFSET@SIZE. If something have an offset of 10 and a size of 20, then the next free block is at 30 and not 31 - because 0 is a number too. (That is - the 20KB size at offset 10KB starts allocating at the first 10KB, so the last bit of data for that map is at 29KB). Make sense?
[Android Software/Hacking General [Developers Only]] $aNek011:
CosmicDan

On SE Live with walkman size@offset multiply on 256=only errors , cwm once loading and then bootloop

<6>[ 0.000000] Partition (from atag) system -- Offset:182 Size:640
<6>[ 0.000000] Partition (from atag) appslog -- Offset:7c2 Size:18
<6>[ 0.000000] Partition (from atag) cache -- Offset:7da Size:196
<6>[ 0.000000] Partition (from atag) userdata -- Offset:970 Size:690
size@offset in Partition Info do not match dmesg.....

/boot - Size = 32 - Offset = 148
# Decimal values
/system - 1600@386
/appslog - 24@1794
/cache - 406@1792
/data -1680@2416
/boot - 50@328

# Multiply in 256
/system - 409600@98816
/appslog - 6144@459264
/cache - 103936@458752
/data - 430080@618496
/boot - 12800@83968

Sorry for my english :D
[Android Software/Hacking General [Developers Only]] CosmicDan:
You calculated wrong maybe. Did you format all partitions and reinstall a ROM after changing partitions?
[Android Software/Hacking General [Developers Only]] CosmicDan:
Hey nut, with the Arc S FTF, is cache mtdblock1 or mtdblock2? I assume mtdblock2 like other Xperia 2011 devices, but the actual partition is located between system and userdata so it's odd and I want to be sure.

EDIT: Google says mtdblock2 is cache on Arc S, OK nevermind.
[Android Software/Hacking General [Developers Only]] [NUT]:
:D

It does, thanks :)

---------- Post added at 08:53 AM ---------- Previous post was at 08:15 AM ----------

Can you (or cosmicdan) explain why you calculated with 256 instead of 128 as explained by the OP :confused:
[Android Software/Hacking General [Developers Only]] CosmicDan:
Exactly. Your sizes and offsets are 2x what they should be, where did you get 256 from :eek:

And ATAG info is always the safest and best way to calculate. They cannot be modified unless you flash a new SBL (which is not possible on Xperia 2011 devices).
[Android Software/Hacking General [Developers Only]] $aNek011:
I format system , userdata , via fastboot , and format cache via cwm

If I multiply on 128 - size incorrect

If on 256 - correct
[Android Software/Hacking General [Developers Only]] CosmicDan:
You are right, that is strange. Partition info looks fine, but I don't know. Doublecheck calculations. You can't enter recovery at all?

Sent from Xperia Play (R800a) with Tapatalk
[Android Software/Hacking General [Developers Only]] CosmicDan:
Heya NUT, I allocated the full 1024MB on zeus (added the unallocated 4MB to userdata, moved cache up to 1016-1024MiB) and it seems to work fine :)

~ # dd if=/dev/mtd/mtd2 of=/sdcard/cache.img bs=4096
dd if=/dev/mtd/mtd2 of=/sdcard/cache.img bs=4096
2048+0 records in
2048+0 records out
8388608 bytes (8.0MB) copied, 2.732208 seconds, 2.9MB/s
~ # cat /proc/mtd
cat /proc/mtd
dev: size erasesize name
mtd0: 13600000 00020000 "system"
mtd1: 26580000 00020000 "userdata"
mtd2: 00800000 00020000 "cache"
mtd3: 01c80000 00020000 "amss"
mtd4: 00d00000 00020000 "amss_fs"
mtd5: 00d80000 00020000 "adsp"
mtd6: 00b80000 00020000 "fota0"
mtd7: 00b80000 00020000 "fota1"
mtd8: 00c80000 00020000 "boot"
~ #
[Android Software/Hacking General [Developers Only]] [NUT]:
nice :highfive:

Can you give me the layout you used to work from then, i'll have a go at it on anzu too :)
[Android Software/Hacking General [Developers Only]] CosmicDan:
Sure, here it is. System = 310MiB, cache = 8MiB, rest is userdata.
[Android Software/Hacking General [Developers Only]] [NUT]:
thanks :)

EDIT:

Done a new config and build, baking a backup now, gonna test it next :)

Edit2:

Works a charm :D
[Android Software/Hacking General [Developers Only]] djsubtronic:
Is there any way to adapt this for the HTC One S, to claim some extra GBs from /system and /data and move them to /sdcard?
[Android Software/Hacking General [Developers Only]] CosmicDan:
Is it a NAND device with MTD layout? If so, yes. Follow the guide. If its an EMMC device like SGS, then no.

Sent from Xperia Play (R800a) with Tapatalk
[Android Software/Hacking General [Developers Only]] djsubtronic:
How can I confirm which one it is? It's the HTC One S S4 (z520e ville).
[Android Software/Hacking General [Developers Only]] CosmicDan:
Kmesg on startup will tell you if it has MTD partitions after ATAG. Read the OP.

Sent from Xperia Play (R800a) with Tapatalk
[Android Software/Hacking General [Developers Only]] Daniel_GT:
I've done a study on the Xperia Ray (urushi) for your project which seems quite different;

<6>Initializing cgroup subsys cpu
<5>Linux version 2.6.32.9-FXP (danielgt@danielgt-linux) (gcc version 4.4.3 (GCC) ) #1 PREEMPT Mon Feb 18 19:29:04 GMT 2013
<4>CPU: ARMv7 Processor [511f00f2] revision 2 (ARMv7), cr=10c53c7f
<4>CPU: VIPT nonaliasing data cache, VIVT ASID tagged instruction cache
<4>Machine: mogami
<6>Partition (from atag) system -- Offset:182 Size:640
<6>Partition (from atag) appslog -- Offset:7c2 Size:18
<6>Partition (from atag) cache -- Offset:7da Size:196
<6>Partition (from atag) userdata -- Offset:970 Size:690
<4>Memory policy: ECC disabled, Data cache writeback

Again, calculating with a multiplier of 256, this maps out as;

Ray (urushi)	Size@Offset
hex output	(dec*256)=KB	MB
LOADER???	4096@0???	4@0???
amss	72@10	29184@4096	28.5@4
amss_fs	34@82	13312@33280	13@32.5
adsp	36@B6	13824@46592	13.5@45.5
fota0	2E@EC	11776@60416	11.5@59
fota1	2E@11A	11776@72192	11.5@70.5
boot	32@148	12800@83968	12.5@82
GAP???	2048@96768???	2@94.5???
system	640@182	409600@98816	400@96.5
appslog	18@7C2	6144@508416	6@496.5
cache	196@7DA	103936@514560	101.5@502.5
userdata	690@970	430080@618496	420@604

|gap| other | boot |gap| /system |appslog| /cache | /data |
|4MB| 78MB | 12.5MB|2MB| 400MB | 6MB | 101.5MB | 420MB |

|----82MB---|--------------------- 942MB -----------------------------|
[Android Software/Hacking General [Developers Only]] [NUT]:
The first 4Mb is your primary bootloader... the 2Mb gap seems to be an error on Sony's part, ARC S had the same gap :)
[Android Software/Hacking General [Developers Only]] CosmicDan:
Yeah, I did get the Ray FTF but did not list the partitions because they are so odd. I wont be developing Turbo Kernel nor MIUI5 for it because the kernel partition is too small, and we can't resize that.

Edit: Wait, the boot partition *is* 12.5MB because it also uses a pagesize of 256....? Ah......

Sent from Xperia Play (R800a) with Tapatalk
[Android Software/Hacking General [Developers Only]] 8zabi:
Xperia mini pro SK17i

hi

partition info for Xperia mini pro SK17i

ATAG:

[SIZE="2"]
<6>Initializing cgroup subsys cpu
<5>Linux version 2.6.32.9-LuPuS-CM9 (dds@singh_dd93) (gcc version 4.6.2 20111004 (prerelease) (Linaro GCC 4.6-2011.10) ) #32 PREEMPT Wed Jan 2 18:56:37 IST 2013
<4>CPU: ARMv7 Processor [511f00f2] revision 2 (ARMv7), cr=10c53c7f
<4>CPU: VIPT nonaliasing data cache, VIVT ASID tagged instruction cache
<4>Machine: mogami
<6>Partition (from atag) system -- Offset:2f4 Size:c80
<6>Partition (from atag) appslog -- Offset:f74 Size:30
<6>Partition (from atag) cache -- Offset:fa4 Size:32c
<6>Partition (from atag) userdata -- Offset:12d0 Size:d20
<4>Memory policy: ECC disabled, Data cache writeback
[/SIZE]

from .sin files:

apps_log.sin, cache.sin and loader.sin are showing the value of "00" in flashtool

[SIZE="2"]
size offset
adsp.sin | 0000006C | 0000015C | 13824 | 44544
amss.sin | 000000E4 | 00000010 | 29184 | 2048
amss_fs_mango.sin | 00000068 | 000000F4 | 13312 | 31232
fota0.sin | 0000005C | 000001C8 | 11776 | 58368
fota1.sin | 0000005C | 00000224 | 11776 | 70144
kernel.sin | 00000064 | 00000280 | 12800 | 81920
system.sin | 00000C80 | 000002F4 | 409600 | 96768
userdata.sin | 00000D20 | 000012D0 | 430080 | 616448
[/SIZE]

in order:

[SIZE="2"]
01. bootloader 0-2 MiB (2 MiB)
02. amss.sin 2-30,5 MiB (28,5 MiB)
03. amss_fs_mango.sin 30,5-43,5 MiB (13 MiB)
04. adsp.sin 43,5-57 MiB (13,5 MiB)
05. fota0.sin 57-68,5 MiB (11,5 MiB)
06. fota1.sin 68,5-80 MiB (11,5 MiB)
07. kernel.sin 80-92,5 MiB (12,5 MiB)
08. empty space? 92,5-94,5 MiB (2 MiB)
09. system.sin 94,5-494,5 MiB (400 MiB)
10. apps_log.sin 494,5-500,5 MiB (6 MiB)
11. cache.sin 500,5-602 MiB (101,5 MiB)
12. userdata.sin 602-1022 MiB (420 MiB)
13. empty space? 1022-1024 MiB (2 MiB)

total 1 GiB
[/SIZE]
[Android Software/Hacking General [Developers Only]] Daniel_GT:
I have built two similar kernels, one with the partition mapping untouched and the other with half the original /cache and around 15% of /userdata given over to /system. I format /system, /cache and /data in CWM and both boot into system (vanilla Cyanogenmod CM10) without a problem. Checking with "Manage Apps" returns the expected /userdata sizes for each, however installing gapps and a keyboard into the modified system via CWM kills it (process android, android keyboard and probably every other error if it didn't loop!).

1) Do I need to flash the stock ftf and start from there? I admit I haven't tried that but don't see any reason why that should make a difference.

2) I am using the same ramdisk with both zImages - might that be the problem?

3) It seems to me that trying to write to the revised /userdata partition, and/or a significantly smaller /cache, could be causing it to crash. Are there any limits to the functional re-mapped sizes, or am I not formatting the partitions properly at the outset? Again, if the ROM starts up I don't see that causing it.

I've got too close to it now, and can't see the wood for the trees any more... Suggestions?
[Android Software/Hacking General [Developers Only]] CosmicDan:
Make sure the size + offset of the first partition (system) matches the offset of the second partition (userdata). If all boundaries are correct, my only guess is that system is running out space.
[Android Software/Hacking General [Developers Only]] Daniel_GT:
I'll quadruple check my calculations, though I'm sure they are correct. My phone's (Ray) mtdblocks are in a different order to the model in the OP mind, /userdata is "last", and I've allowed for this... I wonder if that has something to do with it? Ummm...
[Android Software/Hacking General [Developers Only]] CosmicDan:
Could be the appslog partition is "locked".

Sent from Xperia Play (R800a) with Tapatalk
[Android Software/Hacking General [Developers Only]] Daniel_GT:
I think you're onto something there. With the unmodified kernel I:

1) Ran the following to confirm mtd numbers

shell@android:/ $ cat /proc/mtd
dev: size erasesize name
mtd0: 19000000 00040000 "system"
mtd1: 00600000 00040000 "appslog"
mtd2: 06580000 00040000 "cache"
mtd3: 1a400000 00040000 "userdata

2) and selected highlights of dmesg from a completed boot cycle

<6>Initializing cgroup subsys cpu
<5>Linux version 2.6.32.9-FXP (danielgt@danielgt-linux) (gcc version 4.6.2 20111004 (prerelease) (Linaro GCC 4.6-2011.10) ) #3 PREEMPT Sun Feb 24 19:31:29 GMT 2013
<4>CPU: ARMv7 Processor [511f00f2] revision 2 (ARMv7), cr=10c53c7f
<4>CPU: VIPT nonaliasing data cache, VIVT ASID tagged instruction cache
<4>Machine: mogami
<6>Partition (from atag) system -- Offset:182 Size:640
<6>Partition (from atag) appslog -- Offset:7c2 Size:18
<6>Partition (from atag) cache -- Offset:7da Size:196
<6>Partition (from atag) userdata -- Offset:970 Size:690
.
..
...
<5>Creating 4 MTD partitions on "msm_nand":
<5>0x000006080000-0x00001f080000 : "system"
<5>0x00001f080000-0x00001f680000 : "appslog"
<5>0x00001f680000-0x000025c00000 : "cache"
<5>0x000025c00000-0x000040000000 : "userdata"
.
..
...
[B]<6>yaffs: dev is 32505856 name is "mtdblock0" rw
<6>yaffs: passed flags ""
<7>yaffs: yaffs: Attempting MTD mount of 31.0,"mtdblock0"
<7>yaffs: yaffs_read_super: is_checkpointed 1
<6>yaffs: dev is 32505859 name is "mtdblock3" rw
<6>yaffs: passed flags ""
<7>yaffs: yaffs: Attempting MTD mount of 31.3,"mtdblock3"
<7>yaffs: yaffs_read_super: is_checkpointed 1
<6>yaffs: dev is 32505858 name is "mtdblock2" rw
<6>yaffs: passed flags ""
<7>yaffs: yaffs: Attempting MTD mount of 31.2,"mtdblock2"
<7>yaffs: yaffs_read_super: is_checkpointed 1[/B]

Therefore, mtdblock1 = /appslog = not mounted rw (or anyhow from what I can determine). This might suggest that for this device (Ray, or perhaps others with /appslog at mtd1) someone has parked a thumping great 6MB bus smack in the middle of the partition table, restricting any tinkering with the maps to the /cache and /userdata areas?
[Android Software/Hacking General [Developers Only]] CosmicDan:
Play has locked vendor partition but can be unlocked with Neo L SIN file since it matches partition info exactly. I have no idea what you can try, this is why I don't support that device with Turbo kernel....

Sent from Xperia Play (R800a) with Tapatalk
[Android Software/Hacking General [Developers Only]] dzingga:
hi cosmicdan...

do you think this partitions can be customize with the tutorial? I've execute command from shell after reboot but can't find any information about my partitions. I want to increase my RAM if it could...
[Android Software/Hacking General [Developers Only]] dzingga:
and this is that show up after I type dmesg:

Next....
[Android Software/Hacking General [Developers Only]] dzingga:
Next...

---------- Post added at 11:13 PM ---------- Previous post was at 11:09 PM ----------

that i type immediately after reboot. so where i can find value of offset partition?? :(
[Android Software/Hacking General [Developers Only]] darkmash:
Im trying to get loopys tp unlocked bootloader allowed no , so no fastboot. To work on se xmp2 aka sk17i, I need to edit laser sintool to build for sk17i

Is the info above what I need

Google "bootloader allowed no/no fastboot" and have read loopys success on tp unlocked bootloader allowed no rtf custom kenerl flash build and method , im trying to test the method on as many devices as pos
[Android Software/Hacking General [Developers Only]] darkmash:
Im trying to get loopys. R800 trick working on other devices,I think this is the correct info but do I enter it in reverse, and which ones do I use

---------- Post added at 02:10 AM ---------- Previous post was at 01:46 AM ----------

Is this the correct info I need , can any help me edit the cmd file , which ones to use , and do u enter it into the cmd file reversed ? Thanks in advance , this all I need to test loopys play trick on mango then the few other mdpi and hdpi devices ive found after, this could great way for some many of the xperia range,great find loopy

---------- Post added at 02:25 AM ---------- Previous post was at 02:10 AM ----------

I think this is the correct info but can any help explain how to edit the cmd file with info , and which ones to use and do you reverse it when u edit it , I got a few more models info aswell for further testing ,great find loopy
[Android Software/Hacking General [Developers Only]] darkmash:
I think this is the correct info I need to start test loopys trick , I have this info for most of hdpi and mdpi device , I just dont understand what to do next the number look weird to me do u reverse me , please can anyone help

---------- Post added at 12:28 PM ---------- Previous post was at 12:19 PM ----------

Im trying to get loopys tp unlocked bootloader allowed no , so no fastboot. To work on se xmp2 aka sk17i, I need to edit laser sintool to build for sk17i

Is the info above what I need

Google "bootloader allowed no/no fastboot" and have read loopys success on tp unlocked bootloader allowed no rtf custom kenerl flash build and method , im trying to test the method on as many devices as pos
[Android Software/Hacking General [Developers Only]] zegoo:
Hi

I would like to know if it is possible or not to modify partition on sk17i ?
[Android Software/Hacking General [Developers Only]] puppet13th:
I just found this thread, it was very interesting. :D

I have collections of all Xperia 2011 ftf,I could provide partition info from the ftf if needed.

From my experience, Xperia 2011 have only 2 partition layout.

1. 320mb --> system

Apply to

Arc/Neo/Neo V/Play/Pro

2. 400mb --> system

Apply to

Arc S/Ray/Mini/Mini Pro/Active/Live With Walkman

Some simlocked/branded phone have different partition order but still have same size.
[Android Software/Hacking General [Developers Only]] mikeioannina:
Hi,

Can you provide the partition info from all ftfs please?

I need to tweak the partition layout in my kitkat builds.
[Android Software/Hacking General [Developers Only]] puppet13th:
Sure mike,i'm working on it. :D

Edit : almost finished,need some cleanup and recheck the calculation. :D
[Android Software/Hacking General [Developers Only]] CosmicDan:
Partition order is just as important as the sizes; if I recall correctly the MTD order determines the mmcblk # - so if they're wrong then something that expects userdata might return system instead. The main problem I can imagine is with update install scripts that use hard-coded block devices to format/mount partitions (most of them do) instead of letting fstab handle it. But yeah the order is pretty important and should be the same for all unbranded/generic firmwares of a specific model.

[MENTION=4579634]dzingga[/MENTION] - your device is either not-MTD based or does not announce/use ATAG in the kernel, so I don't know what else you can try. Each platform is different, I'm mostly familiar with MTK devices these days (which are not MTD/NAND but eMMC instead so these devices to not work with this guide). You also mention that you want more "RAM", changing partition maps will never get you more RAM - this is all about storage memory.
[Android Software/Hacking General [Developers Only]] puppet13th:
Just finished gathering all info of Xperia 2011 Partition(missing Neo V and Play as i don't have ftf for these devices)

From the info that i gathered,all Xperia 2011 only have 3 partition layout:

1. LT15i - MT15i (maybe R800 can be included in these category)

2. LT18i - SK17i - MK17i (may be MT11i can be inclued in these category as MT11i was newer device)

3. ST15i - ST17i - ST18i - WT18i

detailed partition info can be found on my dropbox folder

Partition table size maybe exact as i stated before but the partition order may be different.

if i remember correctly stock kernel mount partition using MTD label something like

mount system@mtd /system

These 2 Arc S have different partition ordering:

http://xdaforums.com/showpost.php?p=24660037&postcount=224

<6>[ 0.000000] Partition (from atag) cache -- Offset:fa4 Size:32c
<6>[ 0.000000] Partition (from atag) appslog -- Offset:f74 Size:30
<6>[ 0.000000] Partition (from atag) system -- Offset:2f4 Size:c80
<6>[ 0.000000] Partition (from atag) userdata -- Offset:12d0 Size:d20

dev: size erasesize name
mtd0: 06580000 00020000 "cache"
mtd1: 00600000 00020000 "appslog"
mtd2: 19000000 00020000 "system"
mtd3: 1a400000 00020000 "userdata"

http://xdaforums.com/showpost.php?p=26923437&postcount=245

dev: size erasesize name
mtd0: 00600000 00020000 "appslog"
mtd1: 06580000 00020000 "cache"
mtd2: 19000000 00020000 "system"
mtd3: 1a400000 00020000 "userdata"
[Android Software/Hacking General [Developers Only]] CosmicDan:
I stand corrected, order doesn't matter. But yes I do remember now more of Xperia, vaguely so don't hold me to it. Actually some Xperia Play (maybe R800a only, maybe all released before x date) do not have a vendor partition at all, but about 50MB of unallocated space that must be initialized via Neo L FTF (in fact just adding vendor.sin from Neo L is enough). The Arc S firmware maybe did change the order and sizes from gingerbread to ICS or something, I do recall this. The device specific forums would have more info.

Using a most recent official FTF would be the most logical choice.