[Motorola Droid 3] dove0rz:
(sorry for my bad english and i still cant post link now)

According to http:// xdaforums.com/showpost.php?p=20976390&postcount=294 ,

I think it may work to redirect partition into SD card, so that safestrap will work on non-VZW-phones.

Safestrap uses /preinstall as a new /system partition to install 2nd ROM on it,

We can make a new partition on SD card to replace "/preinstall".

Here is my steps:

backup your SD card and make partitions

boot to safestrap recovery with usb connected to your PC

plug to PC first, then boot to safestrap recovery mode,

now you can use adb shell to control your system.

1.1 make partitions on your SD Card (ref: http:// xdaforums.com/showthread.php?t=534714)

SD card is /dev/block/mmcblk0 so use parted to modify it

~ # [B]parted /dev/block/mmcblk0[/B]
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) [B]print[/B]
Model: SD SU08G (sd/mmc)
Disk /dev/block/mmcblk0: 7948MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.3kB 7946MB 7946MB primary fat32 lba

(parted)

as you can see i have a 8G SD card, fullly used as fat32 partition,

we use rm and mkpartfs to modify our SD card partition, make sure you have backuped your SD card.

for compatibility i choose to make fat32 partition first,

(512mb/1G for new system size is enough, but i want my 2nd system partiton bigger)

rm 1
mkpartfs primay fat32 0 6G
mkpartfs primay ext2 6G 100%

after done all the things you can see your partition by print,

e.g.

(parted) [B]print[/B]
Model: SD SU08G (sd/mmc)
Disk /dev/block/mmcblk0: 7948MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.3kB 5996MB 5996MB primary fat32 lba
2 5996MB 7946MB 1949MB primary ext2

(parted) [B]quit[/B]

1.2 format fat32 partitions

busybox mkdosfs /dev/block/mmcblk0p1

1.3 make ext2 -> ext3

sometimes you have to mount /dev/block/mmcblk0p2 first, depends on the tune2fs version

tune2fs -j /dev/block/mmcblk0p2

or you can do ext3 -> ext4 by typing (i never tried, dont know if safestrap support ext4 ??)

tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p2
e2fsck -fpDC0 /dev/block/mmcblk0p2

Modify safestrap to use our new partition as 2nd system partition

after you install safetrap 1.08, you have some files in your original system,

we have to modify the /preinstall partition (/dev/block/mmcblk1p23) to our new partition (/dev/block/mmcblk0p2 as example here):

2.1 modify /system/bin/logwrapper

find /dev/block/mmcblk1p23, replace to your new partition

# mount preinstall and move /preinstall/etc/rootfs/* to /
/sbin/busybox mount -t ext3 [B]/dev/block/mmcblk0p2[/B] /preinstall

2.2 modify fixboot.sh in /system/etc/safestrap/2nd-init.zip

find /dev/block/mmcblk1p23, replace to your new partition

/sbin/busybox ln -s [B]/dev/block/mmcblk0p2[/B] system

2.3 modify etc/recovery.fstab in /system/etc/safestrap/recovery.zip

find /dev/block/mmcblk1p23, replace to your new partition

/system ext3 [B]/dev/block/mmcblk0p2[/B]

reboot for reloading settings

safestrap need to reload settings, we need reboot.

modify your 2nd ROM to make sure everything works

safestrap loads etc/rootfs from your new partition,

we need to modify /dev/block/mmcblk1p23 to our partition.

you can modify the ROM (.zip) file directly or edit them after installing ROM

just find /dev/block/mmcblk1p23 and replace them to your new partition (e.g. /dev/block/mmcblk0p2 here)

Special thanks to hashcode.

Enjoy safestrap on non-VZW-phones !