Dual Boot Galaxy Note 10.1 [01 May 2013] - Galaxy Note 10.1 Android Development

I just couldn’t resist… I dual-booted my wife’s new G-Note 8013 with…
Stock ROM: N8013UEUCMA3
ClockWorkMod Recovery 6.0.3.1
Ubuntu GParted (I did everything else from an Android-SDK-powered Windows machine)
Collective Edition v6 By BaDaB!ng505
To my knowledge, this is the first published attempt at dual booting ROMs on the G-Note 10.1. And I am sure there are easier ways. But I just got this thing a week or so ago and I’m still discovering how forgiving it is
Description:
Boot to CWM and Nandroid backup ROM1 (internal memory).
Boot to Ubuntu and run GParted to shrink my SD card's FAT32 partition and to create three new ext3 partitions for ROM2’s /system, /cache and /data filesystems.
In hindsight, I could have made the partitions smaller, but I wanted to make sure that ROM2 would fit.
On G-Note’s ROM1, I go to Settings > Developer options, slide switch to ON and check “USB debugging”. Then I enter “adb shell mount” from an Android-SDK-powered computer to view ROM1’s mounted filesystems (can also do this from G-Note via terminal emulator).
C:\Program Files\Android\android-sdk\platform-tools>adb shell mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p3 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered 0 0
/dev/block/mmcblk0p9 /system ext4 ro,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p8 /cache ext4 rw,nosuid,nodev,noatime,errors=panic,barrier=1,journal_async_commit,data=ordered 0 0
/dev/block/mmcblk0p10 /preload ext4 ro,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p12 /data ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered,noauto_da_alloc,discard 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/block/vold/179:17 /storage/extSdCard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,all
ow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
Click to expand...
Click to collapse
Note carefully the device names (/dev/block/mmcblk0p{n}) for /system, /cache and /data.
Also, when I boot to CWM and enter “edify”, it shows me CWM’S filesystem table. Note the device on which /boot resides.
C:\Program Files\Android\android-sdk\platform-tools>adb shell
~ # edify
recovery filesystem table
=========================
0 /tmp ramdisk (null) (null) 0
1 /efs ext4 /dev/block/mmcblk0p3 (null) 0
2 /boot emmc /dev/block/mmcblk0p5 (null) 0
3 /recovery emmc /dev/block/mmcblk0p6 (null) 0
4 /cache ext4 /dev/block/mmcblk0p8 (null) 0
5 /system ext4 /dev/block/mmcblk0p9 (null) 0
6 /data ext4 /dev/block/mmcblk0p12 (null) -16384
7 /preload ext4 /dev/block/mmcblk0p10 (null) 0
8 /modem emmc /dev/block/mmcblk0p7 (null) 0
9 /sdcard datamedia /dev/null (null) 0
10 /external_sd vfat /dev/block/mmcblk1p1 (null) 0
Click to expand...
Click to collapse
Now I select ROM2 to be: Collective Edition v6 By BaDaB!ng505.zip
I unzip ROM2 with 7-Zip and open: \META-INF\com\google\android\updater-script.
Then I modify two lines to redirect the /system format and mount from /dev/block/mmcblk0p9 to /dev/block/mmcblk1p2:
if file_getprop("/tmp/aroma-data/option.prop","selected") == "1" then
ui_print("Collective Edition for Samsung Galaxy Note 10.1...");
run_program("/sbin/mount", "/cache");
unmount("/system");
delete("/data/local");
package_extract_dir("data", "/data");
set_perm(2000, 2000, 0771, "/data/local");
format("ext4", "EMMC", "/dev/block/mmcblk1p2", "0");
mount("ext4", "EMMC", "/dev/block/mmcblk1p2", "/system");
package_extract_dir("theme/vrtheme", "/sdcard/vrtheme");
set_perm(0, 0, 0755, "/sdcard/vrtheme/installtheme.sh");
set_perm(0, 0, 0755, "/sdcard/vrtheme/zip");
set_perm(0, 0, 0755, "/sdcard/vrtheme/cleanup.sh");
set_perm(0, 0, 0755, "/sdcard/vrtheme/zipalign");
delete_recursive("/cache");
delete_recursive("/data/dalvik-cache");
show_progress(0.6,1380);
Click to expand...
Click to collapse
I also comment out the boot flash logic in updater-script (see below) to protect against soft-brick. That is because I have not yet modified ROM2’s boot image to recognize the three new SD ext3 partitions for /system, /cache and /data. Thus when I flash ROM2, my G-Note will still boot to ROM1 -- though now the SD card partition: /dev/block/mmcblk1p2 is populated with the Collective ROM system files.
##########################################################################################
# Collective Editon Aroma Script #
# Boot Option #
##########################################################################################
##### VAriant N8000 ###
#if file_getprop("/tmp/aroma-data/variant.prop","selected.0") == "1" then
#ui_print("Flashing Boot img for GN-8000 ...");
#assert(package_extract_file("bing/core/8000/boot.img", "/tmp/boot.img"),
#write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p5"),
#delete("/tmp/boot.img"));
#ui_print("Flashing modem ...");
#package_extract_file("bing/core/8000/flash_image", "/tmp/flash_image");
#set_perm(0, 0, 0777, "/tmp/flash_image");
#assert(package_extract_file("bing/core/8000/modem.bin", "/tmp/modem.bin"),
#run_program("/tmp/flash_image", "/dev/block/mmcblk0p7", "/tmp/modem.bin"),
#delete("/tmp/modem.bin"));
#delete("/tmp/flash_image");
#endif;
##### VAriant N8010 ###
#if file_getprop("/tmp/aroma-data/variant.prop","selected.0") == "2" then
#ui_print("Flashing boot img for GN-8010 ...");
#assert(package_extract_file("bing/core/8010/boot.img", "/tmp/boot.img"),
#write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p5"),
#delete("/tmp/boot.img"));
#endif;
##### VAriant N8013 ###
#if file_getprop("/tmp/aroma-data/variant.prop","selected.0") == "3" then
#ui_print("Flashing boot img for GN-8013 ...");
#assert(package_extract_file("bing/core/8013/boot.img", "/tmp/boot.img"),
#write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p5"),
#delete("/tmp/boot.img"));
#endif;
Click to expand...
Click to collapse
I unzip the directory contents to a new ROM zip file denoted “SD”: Collective Edition v6 By BaDaB!ng505-SD.zip
Next, I extract boot.img from bing/core/8013 and modify contents of the /ramdisk directory; specifically to replace:
/dev/block/mmcblk0p9 with /dev/block/mmcblk1p2 (for /system)
/dev/block/mmcblk0p8 with /dev/block/mmcblk1p3 (for /cache)
/dev/block/mmcblk0p12 with /dev/block/mmcblk1p4 (for /data)
Click to expand...
Click to collapse
BEFORE
http://www.mediafire.com/view/?6to8al6lrl80dje
AFTER
http://www.mediafire.com/view/?elv981g58f0q2b6
Then I repack the (modified) boot image and flash it with the Unix dd command from ADB:
dd if=boot-repack.img of=/dev/block/mmcblk0p5
Click to expand...
Click to collapse
Then reboot and voila, ROM2 boots off SD.
Here’s the adb shell mount dump with ROM2 running:
C:\Program Files\Android\android-sdk\platform-tools>adb shell mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p3 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered 0 0
/dev/block/mmcblk1p2 /system ext4 ro,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk1p3 /cache ext4 rw,nosuid,nodev,noatime,errors=panic,barrier=1,journal_async_commit,data=ordered 0 0
/dev/block/mmcblk0p10 /preload ext4 ro,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk1p4 /data ext4 rw,nosuid,nodev,noatime,errors=panic,barrier=1,journal_async_commit,data=ordered,noauto_da_alloc,discard 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/block/dm-0 /mnt/asec/com.speedsoftware.rootexplorer-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/vold/179:17 /storage/extSdCard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,all
ow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
Click to expand...
Click to collapse
To reboot to ROM1, I pull the boot.img from my CWM Nandroid backup (one-shot) and run the dd command from ADB:
dd if=boot.img of=/dev/block/mmcblk0p5
Click to expand...
Click to collapse
Of course this method is somewhat cumbersome, and G-Note doesn’t have fastboot . So I developed a “boot-switcher” toolset that can be launched on the fly from either ROM using Terminal Emulator:
A good script manager would be even better since it would allow us to customize and store shell commands. But I have not yet found a script manager that is compatible with G-Note. I imagine someone has already ported a dual-boot spinner app from the SGN7000 or similar device.
And of course you can run a virtual Linux box underneath your ROM: https://play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid&hl=en. It's an excellent app which has been around for a long time.
Blessings.
Credits:BaDaB!ng505 (Collective Edition v6 By BaDaB!ng505.zip)

definitely trying this out on the new CMD3 firmware...
Great job buddy

You are amazing had any one told you that , this is just what my note missing and now it's right here .

I've just read that you are looking for a script manager that is compatible with our note. Well, this one is https://play.google.com/store/apps/details?id=os.tools.scriptmanager&hl=de but not directly over the playstore. You need to download the .apk with another device, than grab it from data/app and than copy it to your note. (filename should be os.tools.scriptmanager-1.apk) After this, just install it as usual. It works fine for me. I ran the supercharger v6 script with it and had no issues.

OberstGrausam said:
I've just read that you are looking for a script manager that is compatible with our note. Well, this one is https://play.google.com/store/apps/details?id=os.tools.scriptmanager&hl=de but not directly over the playstore. You need to download the .apk with another device, than grab it from data/app and than copy it to your note. (filename should be os.tools.scriptmanager-1.apk) After this, just install it as usual. It works fine for me. I ran the supercharger v6 script with it and had no issues.
Click to expand...
Click to collapse
Ahhh yes, thanks. I had considered doing that yesterday since I use "SManager" (os.tools.scriptmanager-1.apk) for dual booting another device. But I pulled back after seeing Play Store's pop-up to the effect "This app is not compatible with your device."
We may need to check-box: Settings>Security>Unknown sources (allow installation of apps from sources other than Play Store).
[EDIT]And, as root: chmod 0644 /data/app/os.tools.scriptmanager-1.apk.
Or push it to /system/app (where apk's stay resident --- even after data wipe), then chmod & install as usual

Modified Collective ROM Boot Image for G-Note 8013
For those interested, here is the modified, repacked 8013 boot image to dual boot Collective V6 on SD: http://www.mediafire.com/view/?8lvkbtl5mf888f2
I think the easiest and safest thing to do is:
CWM-Nandroid backup ROM1 (just in case --- and because you need boot.img to reboot to ROM1)
Use Linux GParted (more user friendly) or CWM parted (less user friendly) to shrink SD card FAT32 and to create three new ext3 partitions as described in OP
Decompress Collective V6 updater-script using 7-Zip
Modify Collective's updater-script exactly as described in OP and re-zip with 7-Zip
Flash modified zip. This will push Collective’s /system files to the new ext3 partition: /dev/block/mmcblk1p2 on SD (you can still boot to ROM1 at this point)
Download repacked 8013 boot image linked above to your G-Note 8013
adb shell (as root) from an Android SDK-powered machine
dd if=boot-bing-core-8013-repack.img of=/dev/block/mmcblk0p5
Reboot G-Note
Be patient
Enjoy Collective v6 running on SD
I can add steps here as needed
Disclaimer: Standard disclaimers apply.

Sounds very cool! But which one do you mean by sdcard? Do you mean the "real" micro sd card or do you mean the internal sdcard which is built in by samsung?

diga1001 said:
Sounds very cool! But which one do you mean by sdcard? Do you mean the "real"Pmicro sd card or do you mean the internal sdcard which is built in by samsung?
Click to expand...
Click to collapse
The new partitions are created on the external card.

ubuntu flashable .zip + aroma installer dual-boot method
Can this ubuntu image be turned into a fully functional .zip file that can be flashed using a custom recovery such as cwm or twrp that will allow a user to run it natively?
That in itself would be awesome!
If so, it might be possible to use the aroma installer dual boot method to make everything super simple.
Here's a link to a video showcasing the aroma installer dual boot method.
http://m.youtube.com/?reload=9&rdm=ticq76ky#/watch?v=DpfWFUHSkoY&desktop_uri=/watch?v=DpfWFUHSkoY
This aroma installer is meant for the galaxy note phone but after a few modifications, it could work just fine for b our 10.1s
A few things that will need to be changed are
The amount of storage space allocated for the rom slot that will be used for ubuntu (aroma gives 3 gigs to each rom slot and ubuntu 12 full is around 5 gigs, if I'm not mistaken)
A different button or combination of buttons have to be set to initiate booting up the secondary rom since our 10.1s don't have physical home buttons like the galaxy note phone does. (this aroma lets you choose and switch which rom is the primary rom which is awesome!)
Had I been more savvy about all of this, I'd have joyfully taken on these tasks myself, but I'm not there yet.
Hopefully I have been helpful to some of you.
I can't wait until whole process is simplified because being able too right click using this tablet will make life a lot easier.

Thanx for your instructions.
I have now a dual boot with cm11 on extSdCard and gnabo rom5. Only the script is not working for me. I might typed something wrong. It says that it cannot find the Boot directory. But this not much of a problem.
I know this is a old post, but maybe someone else is trying to do it. If there are questions, I might be able to help.

Can you make us a video tuturiAL.THANKS in advance

I got one question. How can you wipe the system on the external sd Card? Using gparted and format or is there another way?

Great job. wow you dual booted note 10.1.
i would like to try it on my N8000 kitkat but the only thing is that i find it challenging, only if someone would make a step by step guide for all users.
BUT no pressure thanks

What about making directory:
/data/secondary
+ subdirectories:
/data/secondary/cache
/data/secondary/data
/data/secondary/system
Then instead of mounting data partition to /data, mount it to e.g. /userdata, then bind /userdata/secondary/cache to /cache, etc. and no need for external sdcard. Changing mountpoints will require modifying fstab which is as of KK part of boot.img so, kernel recompiling will be needed or make some standard that all kernels will use for fstab modification. Also modified recovery for managing secondary rom, but principle is simple.
EDIT: Kernel can be switched by flashing it with dd.

Snoop05 said:
What about making directory:
/data/secondary
+ subdirectories:
/data/secondary/cache
/data/secondary/data
/data/secondary/system
Then instead of mounting data partition to /data, mount it to e.g. /userdata, then bind /userdata/secondary/cache to /cache, etc. and no need for external sdcard. Changing mountpoints will require modifying fstab which is as of KK part of boot.img so, kernel recompiling will be needed or make some standard that all kernels will use for fstab modification. Also modified recovery for managing secondary rom, but principle is simple.
EDIT: Kernel can be switched by flashing it with dd.
Click to expand...
Click to collapse
this is the principal for TWRP Multi-rom, right i believe that the kernel for main rom need kexec hardboot patch

KuroKeita said:
this is the principal for TWRP Multi-rom, right i believe that the kernel for main rom need kexec hardboot patch
Click to expand...
Click to collapse
I've never used or checked MultiRom code. Just got this idea while i was on toilet

Snoop05 said:
I've never used or checked MultiRom code. Just got this idea while i was on toilet
Click to expand...
Click to collapse
wow, i must say you are pretty badass

can anyone explain more?
or you please make a video for us

Mian123456789 said:
can anyone explain more?
or you please make a video for us
Click to expand...
Click to collapse
Dont know who you is but .
Look at the dates OP 2013 last post 2015 .
Poster last on the forum 2015 .

Related

system dump

Hey guys,
Here's a dump of /system from the Google I/O GT10.1. Let me know if there's anything else you're interested in.
http://www.mediafire.com/?hmjy4w04u9cb4j4
smaskell said:
Hey guys,
Here's a dump of /system from the Google I/O GT10.1. Let me know if there's anything else you're interested in.
http://www.mediafire.com/?hmjy4w04u9cb4j4
Click to expand...
Click to collapse
EDIT: Haha fail wasn't even thinking.....
Thanks mate. Can you dump boot and recovery as well? Not even sure if you can, but...
I could if I knew where they were. Someone more knowledgeable than I would probably know where they usually are. Unfortunately, I cannot search the device because most standard commands are not available(find, grep, etc.)
smaskell said:
I could if I knew where they were. Someone more knowledgeable than I would probably know where they usually are. Unfortunately, I cannot search the device because most standard commands are not available(find, grep, etc.)
Click to expand...
Click to collapse
Cool. Thanks.
Have you tried adding busybox? Im surprised that the root 'package' didn't include them. I think Titanium Backup will add it for you but not the symlinks AFAIK so you need to prefix each command with busybox. eg:
Code:
busybox chmod +x <file>
it won't let me create a link to /system/bin/ because it's stuck at read only. I created a thread about this already, but does anyone know how to remount /system? I've tried the standard ways and they don't seem to work
This worked for me:
mount -o remount,rw /system
If all else fails, use Root Explorer to remount /system
Just thinking "out loud" here, but would it be fair to say that if someone could extract the boot and recovery images from these google 10.1's that they could be flashed onto a 10.1v with Odin or fastboot and allow the 10.1v to be rooted in the same way as the 10.1g?
That's what I'm hoping
Sent from my GT-P7100 using XDA Premium App
ObsidianX said:
This worked for me:
mount -o remount,rw /system
Click to expand...
Click to collapse
wow, that was stupid of me. I was trying
mount -o remount,rw /dev/block/mmcblk0p4 /system
but obviously that isn't needed.
Thanks
alright, so I have busybox working
but all the tutorials I've found have said to use
cat /proc/mtd
to find out what to pull but for me, it just returns
dev: size erasesize name
also, they say to use
cat /dev/mtd/mtdX > /sdcard/mtdX.img
but /dev/mtd doesn't exist on this device
any ideas what I could be doing wrong?
smaskell said:
alright, so I have busybox working
but all the tutorials I've found have said to use
cat /proc/mtd
to find out what to pull but for me, it just returns
dev: size erasesize name
also, they say to use
cat /dev/mtd/mtdX > /sdcard/mtdX.img
but /dev/mtd doesn't exist on this device
any ideas what I could be doing wrong?
Click to expand...
Click to collapse
Stupid question, but you did do a
Code:
su
before running these commands?
Sometimes it's the simple things
it certainly wouldn't be the first time I'd missed something as blatantly obvious as that, but no I did remember this time. That's not to say that I'm not missing something else that should be completely obvious, but I did at least remember to run it as root.
smaskell said:
it certainly wouldn't be the first time I'd missed something as blatantly obvious as that, but no I did remember this time.
Click to expand...
Click to collapse
Haha - yeah, Ive certainly been stumped by simpler things than that. Usually success if followed by a facepalm
Really appreciate your persistence with this!
Could you possibly post the output of:
Code:
adb shell mount
and
Code:
adb shell su ls -l /cache
You should see from this output which device is mounted as /cache and how the /cache/recovery is mounted/linked.
certainly
Code:
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p4 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p5 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p8 /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
Code:
drwxrwx--- root root 1969-12-31 16:00 lost+found
drwxrwx--- system cache 2011-05-11 23:38 recovery
in /cache/recovery/last_log, I see this(among other things)
Code:
recovery filesystem table
=========================
0 /tmp ramdisk (null) (null) '(null)' 0000 '(null)' 0
1 /efs ext4 /dev/block/mmcblk0p1 (null) '(null)' 0000 '(null)' 0
2 /recovery emmc /dev/block/mmcblk0p2 (null) '(null)' 0000 '(null)' 0
3 /boot emmc /dev/block/mmcblk0p3 (null) '(null)' 0000 '(null)' 0
4 /system ext4 /dev/block/mmcblk0p4 (null) '(null)' 0000 '(null)' 0
5 /cache ext4 /dev/block/mmcblk0p5 (null) '(null)' 0000 '(null)' 0
6 /data ext4 /dev/block/mmcblk0p8 (null) '(null)' 0000 '(null)' -16384
I'll try pulling mmcblk0p2 and 3
Edit: here they are. Hopefully this is what you were looking for
or not.. I tried uploading twice and both times it appeared to succeed but they're not showing up. let's try again.
still not working. let's try mediafire
http://www.mediafire.com/file/r37q8vluzshkdu8/boot.img
http://www.mediafire.com/file/bhi4q2wrqgl2ms5/recovery.img
Fantastic! Thanks again.
Downloading now although I just discovered I have blown my 120Gb/month allowance in 14 days so it may take a while to download at 256k
EDIT: smaskell, you are truly a champ! Recovery works on the 10.1v so I now have root!
Will be posting a guide here and asking all to thank smaskell
http://forum.xda-developers.com/showthread.php?t=1079781
smaskell said:
or not.. I tried uploading twice and both times it appeared to succeed but they're not showing up. let's try again.
still not working. let's try mediafire
http://www.mediafire.com/file/r37q8vluzshkdu8/boot.img
http://www.mediafire.com/file/bhi4q2wrqgl2ms5/recovery.img
Click to expand...
Click to collapse
You need to zip them. XDA only accepts ZIPs and media files for upload. Only discovered this myself yesterday
excellent! just glad I could help =]

[DEV]RECOVERY: CLOCKWORK MOD TOUCH RECOVERY for XL[5.8.0.9}

PLEASE PLEASE READ ALL BEFORE FLASHING
In my attempt to keep things up to date for our Sensation XL I approached Paul O'Brien of Modaco to compile a working unofficial mod of the Clockwork Touch Recovery for our devices. The image which he provided to me IS NOT FULLY FUNCTIONAL!!!!!! I have posted it here as dev to hopefully get someone who knows about recovery to get it working!!!!!!!!!!
COME ON GUYS SOMEONE MUST BE ABLE TO DO THIS.
WHAT WORKS:
- SCrolling and selection works. Can scroll up and down and select options
WHAT DOESNT WORK:
- Cant wipe data, cache or dalvik. error with mounting data or cache partitions
- Cant choose zip from sdcard. error cant mount sdcard
Basically none of the core functions are working and hopefully someone here can get this WORKING!
To flash is simple: From Bootloader screen as with previous recovery type
***** fastboot flash recovery r2xxxxxxx *****
ensure recovery is in fastboot folder. after typing r2 just just hit tab and it will auto fill the filename of the recovery without you having to type it in.
To revert back to normal recovery is basically similar but flash R1 instead from bootlaoder screen.
THANKS FOR READING GUYS!
****AS usual the normal disclaimers apply. If this harms your device in anyway I will not be held responsible! Flash at your own risk**********
All credits for this current recovery to Paul O'Brien. Sahme it is not fully functional as he doesnt actually own the device anymore!
Just had a thought as I flashed this after flashing a custom rom but Chinese boot.img does mess with partitions. Some with stock rom please try and report by that I mean someone who hasn't flashed a custom rom previously. I may actually relock my bootloader to flash a stock ruu and try it.
Sent from my GT-N7000 using xda premium
Will be really beneficial to get this working. Helps everyone in the forum so any help and contribution is welcome
Let's start making forward motions for this handset!
Stickied for the time being
I used Racer_kitchen_v2 to extract the img and make it bit readable and compared the mount points of a working version (r1) with the touch recovery (r2) but unfortunately they seem to be identical.
r1-recovery-clockwork-5.0.2.7-modaco-runnymede.img
r2-recovery-clockwork-5.8.0.9-modaco-runnymede.img
they both seem to contain:
Code:
/recovery emmc /dev/block/mmcblk0p21
/boot emmc /dev/block/mmcblk0p22
/cache ext4 /dev/block/mmcblk0p30 NULL ext3
/data ext4 /dev/block/mmcblk0p29 NULL ext3
/sdcard vfat /dev/block/mmcblk0p33 NULL
/system ext4 /dev/block/mmcblk0p25 NULL ext3
maybe I'm just looking for the wrong things at the wrong places. Well atleast I tried ^^.
I also used BeyondCompare to look for other differences but they're mostly unreadable.
If the chinese boot.img would mess with partitions etc then R1 wouldnt work either, I think..
hannemaster said:
I used Racer_kitchen_v2 to extract the img and make it bit readable and compared the mount points of a working version (r1) with the touch recovery (r2) but unfortunately they seem to be identical.
r1-recovery-clockwork-5.0.2.7-modaco-runnymede.img
r2-recovery-clockwork-5.8.0.9-modaco-runnymede.img
they both seem to contain:
Code:
/recovery emmc /dev/block/mmcblk0p21
/boot emmc /dev/block/mmcblk0p22
/cache ext4 /dev/block/mmcblk0p30 NULL ext3
/data ext4 /dev/block/mmcblk0p29 NULL ext3
/sdcard vfat /dev/block/mmcblk0p33 NULL
/system ext4 /dev/block/mmcblk0p25 NULL ext3
maybe I'm just looking for the wrong things at the wrong places. Well atleast I tried ^^.
I also used BeyondCompare to look for other differences but they're mostly unreadable.
If the chinese boot.img would mess with partitions etc then R1 wouldnt work either, I think..
Click to expand...
Click to collapse
thanks for feedback much appreciated mate. Remember the recovery is flashed prior to Chinese boot.img hence when I suggested that. Once we have flashed the Chinese boot.img and flashed a custom rom it changes the partitions. That why I suggested someone with stock rom and not flash any custom rom to try it and report. I am testing Ben's new rom but soon I will relock bootloader flash stock rom and try it
Sent from my GT-N7000 using xda premium
nice hope we get this working...if we can use aroma installer...for roms..
with kind regards
will to donate £20 to get this working. not much i know but its a small incentive towards helping this forum and device forward
shingers5 said:
will to donate £20 to get this working. not much i know but its a small incentive towards helping this forum and device forward
Click to expand...
Click to collapse
I pledge £20 as well please to any Dev that gets this working!
Sent from my HTC Sensation XL with Beats Audio X315e using Tapatalk 2 Beta-4
come on there must be someone out there.......................even if a new touch recovery is compiled my pledged amount still stands. WE NEED THIS! we are missing out on things especially AROMA installer. i tried this on Sensation and its definitely worth having!
for your information
I talked to madmaxx(developer of 4EXT touch recovery) asking him to support Sensation XL.
Hi,
Most probably yes.
But at the moment cannot give any eta.
BTW: Please upgrade to version 1.0.0.4 RC3
Have a nice day!
Click to expand...
Click to collapse
Thanks very much!
I'd indeed need someone to test
Will contact you once there's a little time I can spare on that. I think it shouldn't be too difficult to support the XL, since the hardware is not so different to other models already supported.
Click to expand...
Click to collapse
hannemaster said:
I talked to madmaxx(developer of 4EXT touch recovery) asking him to support Sensation XL.
Click to expand...
Click to collapse
ahhhh nice mate. thanks as you can see a few of us would donate to see this happen
Also want this.. also want to pay some euros but before.. want get s-off.. anyway.. @the moment i thibk we are on a good way.. and thx to you.. that you are working hard for this..to write to devs and answer all questions here..
Sent from my HTC Sensation XL with Beats Audio X315e using XDA
if that leads us to having our sxl aroma or miui....i m in with 25$ as well
Alex-V said:
Also want this.. also want to pay some euros but before.. want get s-off.. anyway.. @the moment i thibk we are on a good way.. and thx to you.. that you are working hard for this..to write to devs and answer all questions here..
Sent from my HTC Sensation XL with Beats Audio X315e using XDA
Click to expand...
Click to collapse
Its not a bother as things here was so dead it was only me and cappy lol and another guy nintendino. Its nice to see things picking up now and new devs trying to help our device
Sent from my HTC Sensation XL with Beats Audio X315e using xda premium
Here are some of the errors which stop it from working correctly. For people who know a bit more about this stuff than we do.
What we do know is that it has something to do with Partitions/Filesystems/mmcblocks.
failed to open /sys/class/android_usb/android0/state: No such file or directoryThat's right according to the list below it doesnt exist - also the recovery that is working doesn't call to this path...
Code:
/sys/class # ls
ls
adsp htc_portlist msm_vidc_enc scsi_generic
audlpa i2c-adapter msm_vidc_reg scsi_host
backlight input mtd sound
bdi lcd net spi_master
block leds oncrpc switch
bluetooth mem optical_sensors timed_output
diag misc power_supply tty
firmware mmc_host ppp usb_composite
gemini msm_camera rfkill usb_device
graphics msm_kgsl rtc video_output
gyro_sensors msm_mdp scsi_changer
htc_accessory msm_rotator scsi_device
htc_acoustic msm_vidc_dec scsi_disk
E: Unknown volume for path [/system]
E: Unknown volume for path [/cache]
E: Unknown volume for path [/data]
E: Unknown volume for path [/cache/recovery/log]
E: Unknown volume for path [/cache/recovery/last_log]
E: Unknown volume for path [/cache/recovery/command]
E:Can't mount /cache/recovery/log
E:Can't mount /cache/recovery/log
E:Can't mount /sdcard/
E:Can't open /cache/recovery/log
E:Can't open /cache/recovery/last_log
When android is loaded this is the partition information:
Code:
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mmcblk0p25 /system ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p29 /data ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/mmcblk0p30 /cache ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p31 /devlog ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /app-cache tmpfs rw,relatime,size=8192k,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
tmpfs /data/secure/data tmpfs rw,relatime,mode=755,gid=1000 0 0
htcfs /data/htcfs fuse.htcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0
/dev/block/vold/179:33 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0DxDrmServerIpc /data/DxDrm/fuse fuse.DxDrmServerIpc rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0
this is the recovery.fstab of the touch recovery:
Code:
# mount point fstype device [device2] fstype2
/recovery emmc /dev/block/mmcblk0p21
/boot emmc /dev/block/mmcblk0p22
/cache ext4 /dev/block/mmcblk0p30 NULL ext3
/data ext4 /dev/block/mmcblk0p29 NULL ext3
/sdcard vfat /dev/block/mmcblk0p33 NULL
/system cd senext4 /dev/block/mmcblk0p25 NULL ext3
unfortunately I can't run logcat when android is not booted. We need to know what commands are executed that return these errors.
for troubleshooting I first flashed "r1-recovery-clockwork-5.0.2.7-modaco-runnymede.img" and booted in recovery. than I opened an adb shell and executed the mount command that lists the currently mounted partitions. after that I did the same for "r2-recovery-clockwork-5.8.0.9-modaco-runnymede.img" and notice there is a difference. as you can see the R1 mounts the cache partition for some reason and R2 doesnt. see below.
Code:
[B]R1 (non touch - working)[/B]
E:\SensationXL\files>adb shell
~ # mount
mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
[COLOR="Red"]/dev/block/mmcblk0p30 on /cache type ext4 (rw,nodev,noatime,nodiratime,barrier=1,data=ordered)[/COLOR]
[B]R1 (touch - not working)[/B]
E:\SensationXL\files>adb shell
~ # mount
mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
@shingers5 - Have you tried relocking your device and going stock yet?
additional info gathered:
It seems while in recovery and using adb shell I can mount any partition except for the sdcard. It's seems kinda logic, to make a backup or restore you need the sdcard.
according to the partition table inside the recovery sdcard should be on address:
/dev/block/mmcblk0p33 /sdcard
when android is booted and I list mounted partitions it says:
/dev/block/vold/179:33 /mnt/sdcard
both addresses won't mount.
>> New info
using the following command I can mount the sdcard and access it(from adb shell, while phone is in touch recovery), allthough recovery keeps telling me it cant mount sdcard..
mount -t vfat /dev/block/mmcblk0p33 /sdcard -o rw,nodev,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022
So without the extra options (rw,nodev,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022) sdcard won't mount.
I'm feeling i'm getting closer to the point to where I'll give up and just sit and wait for a pro. ah well atleast I gained some knowledge about all this ^^
Guess we can't get this going..maybe someone else can compile one from source and see if it works
Sent from my HTC Sensation XL with Beats Audio X315e using xda premium
here‘s a touch recovery for HBOOT ver 1.28 or higher
wipe data/cache,install from sdcard,backup and restore all work
orginal posted on: http://bbs.anzhi.com/forum.php?mod=redirect&goto=findpost&ptid=5117313&pid=21055370
View attachment recovery_for_1.28.img
alfchin said:
here‘s a touch recovery for HBOOT ver 1.28 or higher
wipe data/cache,install from sdcard,backup and restore all work
orginal posted on: http://bbs.anzhi.com/forum.php?mod=redirect&goto=findpost&ptid=5117313&pid=21055370
View attachment 1041596
Click to expand...
Click to collapse
I get an Error: Can't mount /sdcard/
whenever I try to do something that requires the sdcard.
hannemaster said:
I get an Error: Can't mount /sdcard/
whenever I try to do something that requires the sdcard.
Click to expand...
Click to collapse
What hboot version you using?
Sent from my HTC Sensation XL with Beats Audio X315e using Tapatalk 2

[Q] Read-Only internal storage?

Hi All,
(I've read tons of Threads here, but not yet found a solution).
My Galaxy Tab 10.1 is useless right now as it cannot write to internal storage.
Lots of apps crashing on use and doing a factory reset from the recovery menu does not help (Tablet is in exact same state aon reboot).
So, I've been using adb
Code:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb remount
remount failed: Operation not permitted
Here's the mount information from shell
Code:
[email protected]:/mnt/asec $ mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p4 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p5 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p8 /data ext4 ro,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
So, I've tried to mount manually from adb shell:
Code:
[email protected]:/ $ mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mount: Operation not permitted
[email protected]:/ $
[email protected]:/ $ mount -o remount,rw -t rfs /dev/block/stl9 /system
mount -o remount,rw -t rfs /dev/block/stl9 /system
mount: Operation not permitted
But, I have no SU command:
Code:
[email protected]:/ $ su
su
/system/bin/sh: su: not found
I've got the su binary from downloading off this forum, but I cannot copy that up either (even to seemingly writable mount points)
Code:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb push su /cache
failed to copy 'su' to '/cache/su': Permission denied
Any hints to what I can do now?
Ro
Hey, this forum is for Samsung Galaxy Tab 7.
Here is link for SGT 10.1
http://forum.xda-developers.com/forumdisplay.php?f=1050
But looks like your device is not yet rooted correctly.
The easiest thing is to find pre-rooted kernel and flash them via odin.
Thanks for the reply, yappoe!
I was following a guide I found linked on a forum to get the Tablet Restocked to factory settings.
However, when I try to write via Odin, I get an error message on the tablet in Red
Code:
Bct_sync_Odin: Error to NvBuBctUpdate![err:0x140005]
DownloadPartition_Odin: Error to Bct_sync_Odin![err:0x140005]
Tegra_Nand_Write: Error to DownloadPartition![err:0x140005]
Obviously a write error, presumably as the File system is in Read-Only mode ?
Ro
Yes, because permission is not set correctly. You need root access to do that.
I really don't know much about G-Tab 10.1, and I don't know what you were trying to do or are trying to do.
But if you are trying to go back to stock firmware, you can follow this steps.. it works on most Samsung. (Note: Unless you are moving from Honeycomb to ICS or vice versa, you do NOT need to re-partition).
you can download any official firmware at http://fus.nanzen.se/
1. Download Fus Check Downloader 2.1 and downloaded a Firmware for your region. It will automatically decode the .enc2 file to.zip file
(or find your firmware at sammobile.com, you can skip step 2).
2. Extract the .zip file generated from decoding file to a folder and I got
tar.md 5 file.
3. Start Odin - put the .md5 to PDA and leave everything else as is.
4. Go to download mode on the G-tab
and click start. It takes about 6 to 7 minutes to do the flashing.
Can't guarentee if it would work, but good luck.
Once you get it work with STOCK, go to the Galaxy Tab 10.1 forum
and find the instruction there to ROOT
http://forum.xda-developers.com/forumdisplay.php?f=1050
Thanks yappoe,
That is a nice tool for firmware downloading.
Unfortunately I get the exact same error immediately when trying to write to the tablet via Odin.
Code:
Bct_sync_Odin: Error to NvBuBctUpdate![err:0x140005]
DownloadPartition_Odin: Error to Bct_sync_Odin![err:0x140005]
Tegra_Nand_Write: Error to DownloadPartition![err:0x140005]
I think I have a sort of chicken and egg situation where I my problem is my drive is mounted in read-only mode and I cannot change it without rooting/executing su
Ro
same situation
I have the same situation but with my omnia 2.
suddenly, the internal storage became read-only.
I have tried flashing the ROM and unchecking "preserve device contents".
I have tried spyware, malware, antivirus from PC via usb mode.
I have tried low-level format.
I have tried hard reset.
I have tried below cabs.
MoviPatch_Eng_100416
nueStorageManager-v1.1
Til now, i still have the problem.
Im using a micro sd instead.
Im planning on opening my phone and removing the internal memory chip instead lol.
I did open up my tablet.
The internal memory is part of a single mainboard.
(I think its the same in almost every device)
Looking into getting a replacement mainboard now.
It's possible to use an external SD card as the internal storage. This won't fix the internal storage, but your Tab will work again. See this thread.
ableeker said:
It's possible to use an external SD card as the internal storage. This won't fix the internal storage, but your Tab will work again. See this thread.
Click to expand...
Click to collapse
Cheers for the pointer, but the Galaxy Tab 10.1 doesn't have a place for an SD / micro SD card addition.
Ah. But you asked in the wrong forum.
Go to Galaxy tab 10.1 forum
Sent from my GT-P1000 using xda app-developers app
Yeah i asked a technician if he could do it, he said he has no idea where that chip is in the mainboard
Sent from my GT-I8160 using Tapatalk 2
supersaiyanx said:
Yeah i asked a technician if he could do it, he said he has no idea where that chip is in the mainboard
Click to expand...
Click to collapse
The mainboard cannot have components removed/added ... You have to replace the entire mainboard.

[HOWTO] Dual-Boot P31xx

Dual-booting has always intrigued me. I dual-boot between Windows and Linux on one of my computers, dual-boot between stock firmware and RockBox on my Sansa Fuze v2, and I decided to find out how to dual-boot my Galaxy Tab 2 7.0". It took a couple days of work, but I have found one way to do so using the external SD card.
In the future, if I can work it out, I will provide a method for dual-booting using only internal storage. Update: I have successfully tested an internal dualboot setup. I will post details later.
Warning: While I am not aware of any specific way this could brick your device, stuff happens, so don't blame me. I've tested this and found no problems, but you may not be the same.
To use this method, you need a microSD card at least 8GB in size. If you use 8GB, though, you will have pretty limited space for storage, so a card 16GB or greater is advised.
Preparing SD Card
Repartition your microSD card using whatever program suits you. You need to shrink the first storage partition to make room for the new system partitions. The new partitions should take at least 5GB, so be sure to leave at least 5.25GB. You can always resize later if you need to.
After shrinking your storage partition, create four ext4 partitions in this order: system (min 800MB, recommended 1.25GB), cache (min 500MB, recommended 700MB), data (min 3GB, recommended 5GB), and EFS (min 21MB, recommended 32MB).
Verify your partitions on your tablet by inserting the SD card, booting into CWM, and running "parted /dev/mmcblk1" (no quotes) over ADB shell.
Flashing External ROM
Now you just need a ROM to flash. Most ROMs are not packaged to run from external SD card. You MUST either use a provided ROM or edit one yourself. I provide here a repackaged version of the 8/28 CM10 nightly which can flash to and run from your SD card. If you want to edit a ROM yourself, see the bottom of this post.
Boot into CWM and backup. You will need your backed up boot image if anything goes wrong.
Now flash your ROM. It will install to the external SD card on the appropriate partitions if you did everything right. Reboot: you should be in your new ROM.
You'll probably want a Google Apps package. See below for packages for external dualboot.
Using Your Dual-Boot Setup
Your internal and external ROMs do not share internal storage, due to the odd nature of the SD card fuse tool.Your external ROM has an "internal SD card" of its own. You may find a way to mount the internal /data/media to the external ROM's /sdcard. My new ROM conversion script will add attempt to mount the internal ROM's storage to /storage/intSdCard
The ROMs I provide here include a script in /system/bin called "bootinternal." Run this from a terminal emulator or adb to switch from the external ROM back to the internal one. I have attached a script called "bootexternal" to this post. Use it on your internal ROM to switch to the external one (remember to set the executable permission).
In order for the boot switching scripts to work, you must do some preparation. On your external ROM, place the internal ROM's boot.img in /sdcard/Boot/internal.img. For your internal ROM, place your external ROM's boot.img in /sdcard/Boot/external.img.
If you ever need/watch to switch ROMs manually, run the following commands in a terminal emulator or over ADB, replacing "boot.img" with the boot image of the ROM you are switching to:
Code:
cat boot.img > /dev/block/mmcblk0p5
reboot
Alternatively, you could switch boot images using Mobile Odin.
Update: I would skip using my prepackaged ROMs now, because I have uploaded a converter script that will actually do a better job. These will configure the "bootinternal" and "bootexternal" scripts automatically.
If you ever need to wipe your data, cache, or dalvik cache, see the next post for CWM zips.
Downloads
Roms for External SD Card:
CyanogenMod 10 Nightly (8/28/2012)
AOKP P3113 Stable
Note that these are probably unnecessary now, because I provide a script to convert ROMs automatically on Linux.
Google Apps Packages for External SD Card:
Gapps for Jelly Bean - Use for CM10, AOKP, etc
Gapps for Ice Cream Sandwich - Use for stock, RomsWell, etc
If I ever have time, I plan to upload SD card images which you can use to partition your external SD card automatically.
---
Repacking a ROM for Dual-boot from SD Card
Note: You no longer need to do this manually. I have uploaded a script which automates the conversion process. See the next post for download.
First, you need to extract and unpack the boot image. There are tools and scripts available for this, so find one.
Once the boot image is unpacked, you need to edit init.espresso.rc on the ramdisk. Find where the partitions are mounted and change the code to look like this (yours may look slightly different depending on the ROM, but just be sure to replace the default partition mounts with those of your SD card partitions):
Code:
#mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS /system wait rw
mount ext4 /dev/block/mmcblk1p2 /system wait rw
#mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS /system ro remount
mount ext4 /dev/block/mmcblk1p2 /system ro remount
#mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/DATAFS /data wait noatime nosuid nodev crypt discard,noauto_da_alloc
mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/DATAFS /data2 wait noatime nosuid nodev crypt discard,noauto_da_alloc
mount ext4 /dev/block/mmcblk1p4 /data wait noatime nosuid nodev crypt discard,noauto_da_alloc
#mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/CACHE /cache wait noatime nosuid nodev nomblk_io_submit,errors=panic
mount ext4 /dev/block/mmcblk1p3 /cache wait noatime nosuid nodev nomblk_io_submit,errors=panic
#mount ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/EFS /efs wait rw
mount ext4 /dev/block/mmcblk1p5 /efs wait rw
Repack the boot image and stick it back into the ROM. Then edit the updater-script, and change all references to the internal system partition (/dev/block/mmcblk0p9) to the external system partition (e.g. /dev/block/mmcblk1p2). If any other partitions are referenced, change them as well.
Optional: insert the "bootinternal" script in /system/bin and the a script to mount the internal storage in /system/etc/init.d.
Your ROM is ready to go. Flash and be happy!
Thanks to Johnsel for helping me edit the boot image and pointing me to sendust7's work on the Atrix, who I also thank for his precedent.
CWM Zips for Wiping External Partitions
If you ever need to wipe /data, /cache, or dalvik on your external dual-boot partitions, you can use these CWM zips to do so.
Update: Here is a script to automate the conversion of a ROM from standard to external dualboot.
interesting... gonna try this later...
Nice guide! Dual boot with stock and cm9/10/AOKP would be ideal.
Confirmed?
Sent from my GT-P3113 using Tapatalk 2
scottx . said:
Nice guide! Dual boot with stock and cm9/10/AOKP would be ideal.
Click to expand...
Click to collapse
Agreed! Is it possible to dual boot stock and AOKP?
IFLATLINEI said:
Agreed! Is it possible to dual boot stock and AOKP?
Click to expand...
Click to collapse
Absolutely. If you're running stock, just follow the instructions to partition your SD card, then flash the provided AOKP package and (I assume you would) the gapps package. You should boot right into to your external AOKP installation. Then just copy your stock boot image to /sdcard/Boot/internal.img and run "bootinternal" from a Terminal Emulator or adb shell to return to stock.
BRILLIANT !!!
A few suggestions:
Possible to have a GUI to switch ROM or even better to have it at boot (through kernel).
Script to Automate the process of converting any(P31xx) ROM to dual-boot. It will take away pressure off you.
Thanks !
thanks for the tutorial.
silentvisitor said:
BRILLIANT !!!
A few suggestions:
Possible to have a GUI to switch ROM or even better to have it at boot (through kernel).
Script to Automate the process of converting any(P31xx) ROM to dual-boot. It will take away pressure off you.
Thanks !
Click to expand...
Click to collapse
The GUI may or may not happen, since I, while familiar with partitions and scripting, don't know much about Java or Android development. I'll look into it, though. Having it run at boot through the kernel is beyond my skills. The closest I could do would be an init.d script.
As for a script to automate the conversion process, that seems doable. It only involves two files (init.espresso.rc in the boot image and the updater-script), so I could see that happening. I'll try to do something with that.
This is very interesting!
But I think it is better if we can install dual-boot like CM10 and some porting of Linux desktop version, chrome OS (love it) and other
I follow this thread!
Update: I've added a script that automatically converts ROMs to external dualboot format. I advise using this script instead of my provided ROMs. Just open a terminal in the script's directory and run:
Code:
./convert.sh rom-to-convert.zip
It will automatically edit the boot image and updater script, as well as configure the dualboot scripts. Go back to the second post to download.
Dual-boot question
Sorry for offtop, but your work is very interesting for me. I have GT-P6800 (Tab 7.7) and will try your method on my device. What can i do for it? May be change numeration of partitions inside a script? And firmware counter will be ticked or not? And my current firmware in internal memory will be untoched? Thanks for your work again!
partola1 said:
Sorry for offtop, but your work is very interesting for me. I have GT-P6800 (Tab 7.7) and will try your method on my device. What can i do for it? May be change numeration of partitions inside a script? And firmware counter will be ticked or not? And my current firmware in internal memory will be untoched? Thanks for your work again!
Click to expand...
Click to collapse
I would assume our tablets are very similar, so my method probably would work as is. To be sure, extract the updater-script from your rom and send it to me, along with the boot image, and I'll check it out. Your firmware counter will not be increased, and your current firmware should not be affected.
marry me. I just asked the dual boot question like a week ago lol
Macadamia Daze said:
I would assume our tablets are very similar, so my method probably would work as is. To be sure, extract the updater-script from your rom and send it to me, along with the boot image, and I'll check it out. Your firmware counter will not be increased, and your current firmware should not be affected.
Click to expand...
Click to collapse
Hi, this is my p680 kernel & updater-script:
http://hotfile.com/dl/170647189/80fec16/P6800.ZIP.html
Please, check it!
Also, i have some questions:
as you know, only 4 primary partition allowing on sdcard. I create 1 partition primary fat32 and 4 partitions logical ext4. Is this ok?
And how can i check partitions directly on tab? Terminal emulator not understand parted command, and from recovery TWRP 2.2.0.0 terminal asking me about from which directory execute commands. I try few directories, but parted/dev/mmcblk1 command show nothing to me.
Thank you for your adwise.
partola1 said:
Hi, this is my p680 kernel & updater-script:
http://hotfile.com/dl/170647189/80fec16/P6800.ZIP.html
Please, check it!
Click to expand...
Click to collapse
I'm having problems unpacking your boot image. Run the command "mount" on your tab and give me the output. I looked in your updater-script, though, and that seems compatible.
as you know, only 4 primary partition allowing on sdcard. I create 1 partition primary fat32 and 4 partitions logical ext4. Is this ok?
Click to expand...
Click to collapse
I was able to put 5 primary partitions on my SD card. Are you using an MBR partition table or GUID partition table? You need to use GUID to have 5 primary partitions. Anyway, I don't know if it will make a difference for logical partitions. Once you can check the partitions from your tab, I'll be able to tell you if it will work.
And how can i check partitions directly on tab? Terminal emulator not understand parted command, and from recovery TWRP 2.2.0.0 terminal asking me about from which directory execute commands. I try few directories, but parted/dev/mmcblk1 command show nothing to me.
Click to expand...
Click to collapse
Use CWM instead of TWRP.
Macadamia Daze said:
I'm having problems unpacking your boot image. Run the command "mount" on your tab and give me the output. I looked in your updater-script, though, and that seems compatible.
Click to expand...
Click to collapse
Hi, this is result of mount command:
Code:
[email protected]:/ $ export PATH=/data/local/bin:$PATH
[email protected]:/ $ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p9 /system ext4 ro,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/mmcblk0p4 /mnt/.lfs j4fs rw,relatime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
tmpfs /mnt/sdcard/extStorages tmpfs rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,size=0k,mode=755,gid=1000 0 0
/dev/block/vold/179:9 /mnt/sdcard/extStorages/SdCard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
[email protected]:/ $
Also, i get CWM instead TWRP. But CWM have not possibility entering commands at all.
If you had troubles with unpacking CM10 kernel, any way for update it to booting from sd?
Thank you.
Why duplicate the efs partition?
And what makes it need such a big cache partition?
Sent from my GT-P1000
partola1 said:
Hi, this is result of mount command:
Code:
[email protected]:/ $ export PATH=/data/local/bin:$PATH
[email protected]:/ $ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p9 /system ext4 ro,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/mmcblk0p4 /mnt/.lfs j4fs rw,relatime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
tmpfs /mnt/sdcard/extStorages tmpfs rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,size=0k,mode=755,gid=1000 0 0
/dev/block/vold/179:9 /mnt/sdcard/extStorages/SdCard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
[email protected]:/ $
Click to expand...
Click to collapse
Your essential partitions are the same, but are referenced differently. I will need to make a slight alteration to the conversion script.
Also, i get CWM instead TWRP. But CWM have not possibility entering commands at all.
Click to expand...
Click to collapse
You do it through ADB.
If you had troubles with unpacking CM10 kernel, any way for update it to booting from sd?
Click to expand...
Click to collapse
I'm looking into the boot image, but let's try something out. In the terminal emulator, run "cat /dev/block/mmcblk0p5 > /sdcard/full-boot.img" (without quotes). Then upload that file.
cdesai said:
Why duplicate the efs partition?
Click to expand...
Click to collapse
When I first ran across it, I wasn't sure what it was, so I added it for safety.
And what makes it need such a big cache partition?
Click to expand...
Click to collapse
I'm not sure. I decided to keep it close to the original cache partition size, which was 700+ MB. However, I've found in another setup that I can get by with half that. In my internal dual-boot setup, I have a 384MB cache partition.

[Q] erased cache, need help with ....

Well as the title says, while installing twrp I erased cache. Now recovery loops, so how do I rebuild my cache? Does anyone know? I'm rooted, S-off, running stock KK up to date.
godzilla61 said:
Well as the title says, while installing twrp I erased cache. Now recovery loops, so how do I rebuild my cache? Does anyone know? I'm rooted, S-off, running stock KK up to date.
Click to expand...
Click to collapse
Reinstall twrp?
Sent from my lunar powered Inverted ViperONE using Tapatalk 2
That was the first thing I tried, no-joy!
godzilla61 said:
That was the first thing I tried, no-joy!
Click to expand...
Click to collapse
Re flash the stock kitkat update. Clearing your cache shouldn't have broke recovery or the rom. You either wiped something you shouldn't have and didn't tell us or somethings broken with your copy of TWRP
Kraizk said:
Re flash the stock kitkat update. Clearing your cache shouldn't have broke recovery or the rom. You either wiped something you shouldn't have and didn't tell us or somethings broken with your copy of TWRP
Click to expand...
Click to collapse
Some folks execute a "fastboot erase cache" after flashing a recovery. Do not do that! Instead, either "fastboot format cache" or leave it alone. The fastboot erase cache command just blows the file system away and leaves you with an unmountable /cache partition until it's formatted (wipe will do that if you end up with errors about 'cannot mount /cache').
Click to expand...
Click to collapse
The second quote is from the dev, now on to my question, how do I rebuild my cache partition? There has to be a way without loosing everything....
godzilla61 said:
The second quote is from the dev, now on to my question, how do I rebuild my cache partition? There has to be a way without loosing everything....
Click to expand...
Click to collapse
rebuild your cache partition? or your cache filesystem? two totally different things.
if your disk is wrecked (partitions no longer valid) you're likely into RUU.
If your disk is fine (partitions are there, just no file system), TWRP should boot fine, it'll just piss and moan about /cache not being there. If it keeps restarting to the curtain (the TWRP graphic while booting) no big deal -- adb should still be up. If it does come up, you can 'wipe cache' and it'll rebuild the file system for you. Either that or use fastboot to format it.
Either way -- if you actually placed interesting stuff on /cache (why would you do that?), it's gone. The cache partition is 99% useless to users, so it would surprise me if you put stuff there.
Here's what I'd do:
1) Boot TWRP (get my 2.7.1.1 version, fastboot flash it, start it up);
2) plug the phone into usb:
3) adb shell
4) mount
copy/paste what that last command says and let's see what's really up. If TWRP won't boot, you have bigger problems than you lead us to believe.
Ok, more info: phone works. no recovery it just keeps showing the curtain over and over...... So now ADB....can't do a thing with it. Can't fastboot flash anything.....error: cannot load 'openrecovery-m7wls-2.7.1.1-06-05-2014' so what now?
[email protected]:/ $ mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
none /dev/timer_group cgroup rw,relatime,timer_slack 0 0
/dev/block/mmcblk0p37 /system ext4 ro,seclabel,noatime,data=ordered 0 0
/dev/block/mmcblk0p39 /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto
_da_alloc,data=ordered 0 0
/dev/block/mmcblk0p38 /cache ext4 rw,seclabel,nosuid,nodev,noatime,data=ordered
0 0
/dev/block/mmcblk0p22 /devlog ext4 rw,seclabel,nosuid,nodev,noatime 0 0
/dev/block/mmcblk0p30 /carrier ext4 rw,seclabel,nosuid,nodev,noatime,grpid,data=
ordered 0 0
/dev/block/mmcblk0p33 /firmware/mdm vfat ro,relatime,fmask=0000,dmask=0000,allow
_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro
0 0
tmpfs /data/qcks tmpfs rw,seclabel,relatime,size=20480k,mode=750,gid=1000 0 0
tmpfs /data/efs tmpfs rw,seclabel,relatime,size=20480k,mode=750,gid=1000 0 0
/dev/block/mmcblk0p16 /firmware/q6 vfat ro,relatime,fmask=0000,dmask=0000,allow_
utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro
0 0
tmpfs /data/secure/data tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_i
d=1023,default_permissions,allow_other 0 0
DxDrmServerIpc /data/DxDrm/fuse fuse.DxDrmServerIpc rw,nosuid,nodev,relatime,use
r_id=0,group_id=0,allow_other 0 0
[email protected]:/ $
Click to expand...
Click to collapse
godzilla61 said:
Ok, more info: phone works. no recovery it just keeps showing the curtain over and over...... So now ADB....can't do a thing with it. Can't fastboot flash anything.....error: cannot load 'openrecovery-m7wls-2.7.1.1-06-05-2014' so what now?
Click to expand...
Click to collapse
I have no idea why you think /cache is your problem:
"/dev/block/mmcblk0p38 /cache ext4 rw,seclabel,nosuid,nodev,noatime,data=ordered 0 0"
It mounted fine.
As for flashing TWRP, you have to give fastboot an actual file:
"error: cannot load 'openrecovery-m7wls-2.7.1.1-06-05-2014"
The file is (assuming you didn't rename it) "openrecovery-m7wls-2.7.1.1-06-05-2014.img" -- there's an extension on the end.
If you did rename it, then you didn't place the file where you have fastboot. Either give the *full path* to the .img file, or move (or copy) it to the directory in which fastboot exists.
Thanks for taking the time to help! This gave me a reason to update my tool box for android. It's funny I never had to use a file ext. before when installing. It was that simple! So twrp is up and running again, I wonder why it was looping.....for another time perhaps. Thanks once again tdhite!!!

Categories

Resources