[Galaxy Note 10.1 Android Development] sendust7:
I just couldn’t resist… I dual-booted my wife’s new G-Note 8013 :o 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).

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.

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:

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.

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:

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:

Then reboot and voila, ROM2 boots off SD.

Here’s the adb shell mount dump with ROM2 running:

To reboot to ROM1, I pull the boot.img from my CWM Nandroid backup (one-shot) and run the dd command from ADB:

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)