Dual Boot Galaxy Note 10.1 [01 May 2013]

Search This thread

sendust7

Senior Member
Oct 24, 2011
348
810
California
I just couldn’t resist… I dual-booted my wife’s new G-Note 8013 :eek: 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

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

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);

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;

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)

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

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

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

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)
 
Last edited:

andrcool

Senior Member
Nov 27, 2011
189
38
jaz
You are amazing had any one told you that , this is just what my note missing and now it's right here .
 
  • Like
Reactions: sendust7

OberstGrausam

Senior Member
Feb 28, 2013
224
101
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.
 
Last edited:
  • Like
Reactions: sendust7

sendust7

Senior Member
Oct 24, 2011
348
810
California
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.

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 ;)
 
Last edited:

sendust7

Senior Member
Oct 24, 2011
348
810
California
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:

  1. CWM-Nandroid backup ROM1 (just in case --- and because you need boot.img to reboot to ROM1)
  2. 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
  3. Decompress Collective V6 updater-script using 7-Zip
  4. Modify Collective's updater-script exactly as described in OP and re-zip with 7-Zip
  5. 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)
  6. Download repacked 8013 boot image linked above to your G-Note 8013
  7. adb shell (as root) from an Android SDK-powered machine
  8. dd if=boot-bing-core-8013-repack.img of=/dev/block/mmcblk0p5
  9. Reboot G-Note
  10. Be patient ;)
  11. Enjoy Collective v6 running on SD
I can add steps here as needed :)

Disclaimer: Standard disclaimers apply.
 
Last edited:

diga1001

Member
May 13, 2012
47
4
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?
 

Itbelikedat

Senior Member
Dec 28, 2010
52
10
Miami, Florida
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.
 
  • Like
Reactions: maro_X

miamo

Member
Apr 18, 2010
18
8
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.
 

miamo

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

Snoop05

Senior Member
May 11, 2012
207
2,783
Levice
Google Nexus 5
Moto G5S Plus
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.
 

KuroKeita

Senior Member
Apr 24, 2013
228
32
29
Hanoi
LG G6
LG V30
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.

this is the principal for TWRP Multi-rom, right :D i believe that the kernel for main rom need kexec hardboot patch
 

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    I just couldn’t resist… I dual-booted my wife’s new G-Note 8013 :eek: 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

    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

    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);

    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;

    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)

    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

    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

    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

    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)
    2
    definitely trying this out on the new CMD3 firmware...:D
    Great job buddy
    2
    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:

    1. CWM-Nandroid backup ROM1 (just in case --- and because you need boot.img to reboot to ROM1)
    2. 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
    3. Decompress Collective V6 updater-script using 7-Zip
    4. Modify Collective's updater-script exactly as described in OP and re-zip with 7-Zip
    5. 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)
    6. Download repacked 8013 boot image linked above to your G-Note 8013
    7. adb shell (as root) from an Android SDK-powered machine
    8. dd if=boot-bing-core-8013-repack.img of=/dev/block/mmcblk0p5
    9. Reboot G-Note
    10. Be patient ;)
    11. Enjoy Collective v6 running on SD
    I can add steps here as needed :)

    Disclaimer: Standard disclaimers apply.
    1
    You are amazing had any one told you that , this is just what my note missing and now it's right here .
    1
    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.