[27th Jun][Sense] INT2SD, a new D2EXT method (added Alex-V GB HD INT2SD-S)

Search This thread

Proz0r

Senior Member
Oct 3, 2010
277
238
Zagreb
Progress update and INT2SD implementation request form!
With holidays starting, and more free time on my hands, I've decided to revive this project. Having my hard drive fail on me recently, and losing the request log, it has become obvious that I need a new system of handling requests, and it is here. If you have requested a ROM before, please send a request again, via this form.
Please submit all further requests via this form!

---

This is the INT2SD thread for Sense ROMs and their developers and users.
INT2SD thread for AOSP ROMs

What is INT2SD?
INT2SD doesn't use symlinks. It mounts ext partition on your SD to /data, thus eliminating the need for the mtd5 userdata partition. This makes the mtd5 userdata partition unneeded. It is used in conjunction with the fatsys HBOOT (more info later on), allowing most of the vital parts of a ROM to stay on the system partition without the need to symlink half of it to the SD due to memory shortage.

For now, there is only one ROM here, but more will come! If you wish to see INT2SD in your favorite ROM or in your own ROM, please post here!



INT2SD-S - "Speed" (default as of 29th Jun)

Main characteristics:
  • /data on SD ext, /data/data on internal
  • /data/data limited to 280 MB (probably enough for more than 100 user apps)
  • noticeably faster on slower cards
  • for use with CM7r2 HBOOT
Description:
The new "speed" flavour mounts ext to /data and userdata to /data/data, achieving great speed while still retaining excellent storage capabilities. It's used with the CM7r2 HBOOT. This is now the default flavour, offering great speed while still being able to hold a hefty amount of apps.


INT2SD-M - "Mass" (discontinued)

Main characteristics:
  • /data on SD ext
  • number of apps is only limited by ext size
  • requires a faster card
  • for use with fatsys HBOOT
Description:
The classic "mass" flavour mounts ext to /data, thus eliminating the need for the mtd5 userdata partition. It has proven to be slow even on some of the faster cards. Due to INT2SD-S being able to hold a very high number of applications, and still being much faster, this flavour is discontinued.


FAQ

For users: How to get this in your favorite ROM
For ROM developers: How to get this implemented in your ROM
Please fill out this form.

Cross-device implementations
For now, no. You may submit requests, but I won't be able to fulfill them for a while. I have quite a lot of real life work on my plate, not to mention a list of Desire ROMs I have to tend to. After that's done, I'll be happy to try blind-porting it to whichever device you wish, but my priority are Desire ROMs, primarily because it's a lot easier to implement INT2SD into ROMs for a phone I already have.

Universal update zips
Also, no. Each ROM is different, and due to the nature of INT2SD, it is simply not possible to make a one-for-all universal update zip. Every ROM requires tending to its peculiarities, especially Sense ROMs, and I would rather not take the change of trying to make one and end up with a flashable bootloop zip.

Why don't you just publish instructions on how to implement INT2SD for devs to use?
You can take a look at the modified ROM and you will find 3 new files in /system/etc, dalchk, fsck and sleep. These files are executed by init.rc because of my modifications to it. You can also decompile the boot.img and use a tool such as diff or diffuse (a GUI for diff) and check the differences between it and the unmodified init.rc from Alex's standard, D2EXT ROM. However, his ROM required another init.d script to move weather animations to /data, and modifications to the updater-script to flash everything that would normally be flashed to /data, to be flashed to /sd-ext. Sounds simple enough, right? Well, it's actually not quite as simple. When I have first implemented INT2SD to CyanogenMod 7, all I had to do was edit a few lines and add those three scripts. There was not a single ROM (and there are a few unreleased ones which I've worked on) to which I could apply a "standard" procedure. Each ROM required further modifications on its own and being the one who devised INT2SD, I know what I should look out for in order to avoid catastrophical bugs. ROM developers do not. This is why I do NOT offer support for "homemade" INT2SD implementations. Every ROM has its own peculiarities that need tending to and INT2SD implementations need to be very flexible to allow the ROM to work in conjunction with it. Sure, everything could go great, but INT2SD is extremely easy to implement horribly wrong and have huge bugs and even unbootable systems, and without knowing what the dev did to put it in their ROM, it is next to impossible for me to troubleshoot and fix. It would probably end up with me having to implement it myself either way in most cases and having angry developers and possibly users on my hands being pissed at me for doing a bad job and releasing a ****ty product, when the problem was just a typo in init.rc. That's why I have not nor will I release instructions for devs on how to implement it themselves.



Before you download!
Although it is for the best part bug free, INT2SD is still a fairly fresh project so I'm looking for as much input as I can get to fix possible bugs I haven't yet uncovered. If you try a ROM featuring INT2SD, please be sure to comment in this thread on your experience, even if it works great or doesn't work at all. If you wish to further support the project, there is a donate button in my signature. Although a nice sign of support and appreciation, donations are not obligatory!
Due to /data/data being on the SD, a high-class card is recommended.
Another thing is the HBOOT, fatsys. You must flash it before flashing any of the INT2SD Sense ROMs.


fatsys HBOOT

bravo_alphaspl-fatsys.img
MD5: 2272c1cb06f8eb743aa1c0ad4c3fa36b

PB99IMG-fatsys.zip
MD5: 4d6b2e74c241361237df047bfed5ff08

INT2SD Sense ROMs require a special HBOOT, fatsys. This special HBOOT has 427 MB dedicated for /system, 5 MB for /cache and 5 MB for /data and there is probably no ROM without INT2SD that would work on it properly. It was made so that the largest part of Desire's internal memory can be used for quick access to vital system files by storing them in /system instead of symlinking them to /sd-ext, therefore slowing the entire system down. There is still plenty of space for your apps if you make a large enough SD ext partition, since SD ext gets mounted to /data and the real, 5 MB mtd5 userdata partition goes unused. So, /data on SD ext, huge /system and no symlinks! Before flashing a Sense INT2SD ROM, make sure you have flashed the fatsys HBOOT!


Download
Thanks to Ante0 for hosting the files!
INT2SD implemented in:
Alex-V1.8 GB Sense HD INT2SD-M fatsys (Thread | Download)
Alex-V1.8 GB Sense HD INT2SD-S CM7r2 (Thread | Download in a minute)
Runnymede AIO 6.1.1 Beta (Thread)


Current bugs:
-

To do list for the next version:
-

Credits (alphabetically):
Alex-V - providing me with the first Sense ROM to implement INT2SD in
Ante0 - providing proper hosting for the zips
brabo, GShellz admin - huge help with bash scripts implemented in the ROMs
CM - a base ROM for implementing the method in
Droidzone - suggestions, help with HBOOTs
Hacre - massive assistance as well, kicking me to try and realise the main idea and for coming up with names "INT2SD" and "fatsys"
JieeHD - help with compiling/decompiling the boot.img files and his excellent guides on FYA
Pulser_g2 - massive assistance, ideas on the reboot bug and hosting
Richard Trip - making GingerVillain which now has a version featuring INT2SD
snq- - pointing out a huge typo and saving me multiple hours of pointless work
ubuntubhoy - a kick in the arse I needed
... and everyone else in the #villainrom IRC channel for help and mental support! Thank you all, and everyone I forgot to mention (PM!).


Disclamer: I'm not responsible if something goes wrong and wreaks havoc upon you, your phone, your card, any part of your phone, your friends, your family, your close or distant relatives and/or your pet, but I will gladly provide assistance if it does.
 
Last edited:

Droidzone

Inactive Recognized Developer
Sep 24, 2010
5,531
2,283
Kochi
www.droidzone.in
OnePlus 9 Pro
Well, if you manage to learn how to reverse engineer and manipulate hboot, do share.. You might want to ask thalamus. I read that he'd done it.

Edit: Ah blackhawk_LA has already posted that. :)

@blackhawk_LA, is there an open source version of this tool?
 
Last edited:

Proz0r

Senior Member
Oct 3, 2010
277
238
Zagreb
I'm not a dev at all, but I think this tool can help you: a too for making coustoms hboot by _thalamus
http://thalamus-hacking.blogspot.com/2011/07/custom-hbootsupdate.html

I have been using for months without any problem ;)

Awesome, thanks! Wish there was a Linux version of it, luckily, I have Windows in dual-boot so I'll whip something up in a minute!


Well, if you manage to learn how to reverse engineer and manipulate hboot, do share.. You might want to ask thalamus. I read that he'd done it.

Edit: Ah blackhawk_LA has already posted that. :)

@blackhawk_LA, is there an open source version of this tool?

Yeah, I'm interested in how this works too.
 

Proz0r

Senior Member
Oct 3, 2010
277
238
Zagreb
@blackhawk_LA

Have you ever had any issues with the application? It's making a very important part of the system and if any errors would occur, it would be a catastrophe, which is why I am a bit apprehensive towards this program.
 
  • Like
Reactions: pedrocel85

Chaosz-X

Senior Member
Jan 25, 2011
767
1,757
Make HBOOTS with it which have the same sizes as the HBOOTs from Alpharev, compare MD5, if they match, it's probably safe. Then you should be good to go to make a custom HBOOT with it ;)
 
  • Like
Reactions: Proz0r

ckpv5

Inactive Recognized Contributor
Feb 11, 2008
14,354
18,301
Kuala Lumpur
I can say the program is very safe... have a dozen of custom hboots with it... no problem at all.
And looking forward to your INT2SD for sense.. :)
 

Chaosz-X

Senior Member
Jan 25, 2011
767
1,757
You're not telling me everyone is too afraid to flash it, so everyone hopes someone else tries it to take the risk... -.-
 

Proz0r

Senior Member
Oct 3, 2010
277
238
Zagreb
You're not telling me everyone is too afraid to flash it, so everyone hopes someone else tries it to take the risk... -.-

I need my phone for the next couple of days and therefore cannot try it myself.

yes...its the one i use in my roms...and 40mb real data is really good to add apps like maps (that can updated) to the rom :)

with kind regards

Nice. Should real data be reduced to 5 MB or be left at 40 MB then, in INT2SD? Since it won't be needed for symlinks with it, I only see the point in having the 5 MB for the fsck log.
 

Proz0r

Senior Member
Oct 3, 2010
277
238
Zagreb
Thanks man, could you briefly describe what would happen if I would flash a corrupted HBOOT with and without flashing the downgrader prior?
 

Chaosz-X

Senior Member
Jan 25, 2011
767
1,757
Thanks man, could you briefly describe what would happen if I would flash a corrupted HBOOT with and without flashing the downgrader prior?

Well, AFAIK the HBOOT is also the white screen you get when you press Vol Down+Power, and it probably also involves the bootprocess normally, so I would say: broken HBOOT = a very nice brick.

Though I don't know what the downgrader is..
 

ckpv5

Inactive Recognized Contributor
Feb 11, 2008
14,354
18,301
Kuala Lumpur
Yup, I know about that, I'm wondering about the downgrader too.

I'm always use the hboot-downgrade whenever I change hboot no matter whether the previous hboot is a lock hboot or an unlock hboot. It is always best to unlock the hboot before flashing a new one to be on a safe side.

Here is hboot with 427mb/system, 5mb/cache & 5mb/data as you mentioned here

Now, we need a volunteer to make the said zero-data HBOOT for 5 MB for /cache, 5 MB for /data and the rest for /system.

I tested the hboot by flashing it to my phone.. no problem to go to recovery, no problem to boot to bootloader. but I don't have any ROM which can fit a 5mb data partition to test. The lowest I ever go is 30mb/data.

Note: to change to another hboot.. use the hboot_downgrade first as this is a lock hboot.

Edit : Manage to squeeze the ROM to fit a 5mb/data ... so confirm the hboot works.

 

Attachments

  • bravo_alphaspl_427.zip
    201.4 KB · Views: 62
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 27
    Progress update and INT2SD implementation request form!
    With holidays starting, and more free time on my hands, I've decided to revive this project. Having my hard drive fail on me recently, and losing the request log, it has become obvious that I need a new system of handling requests, and it is here. If you have requested a ROM before, please send a request again, via this form.
    Please submit all further requests via this form!

    ---

    This is the INT2SD thread for Sense ROMs and their developers and users.
    INT2SD thread for AOSP ROMs

    What is INT2SD?
    INT2SD doesn't use symlinks. It mounts ext partition on your SD to /data, thus eliminating the need for the mtd5 userdata partition. This makes the mtd5 userdata partition unneeded. It is used in conjunction with the fatsys HBOOT (more info later on), allowing most of the vital parts of a ROM to stay on the system partition without the need to symlink half of it to the SD due to memory shortage.

    For now, there is only one ROM here, but more will come! If you wish to see INT2SD in your favorite ROM or in your own ROM, please post here!



    INT2SD-S - "Speed" (default as of 29th Jun)

    Main characteristics:
    • /data on SD ext, /data/data on internal
    • /data/data limited to 280 MB (probably enough for more than 100 user apps)
    • noticeably faster on slower cards
    • for use with CM7r2 HBOOT
    Description:
    The new "speed" flavour mounts ext to /data and userdata to /data/data, achieving great speed while still retaining excellent storage capabilities. It's used with the CM7r2 HBOOT. This is now the default flavour, offering great speed while still being able to hold a hefty amount of apps.


    INT2SD-M - "Mass" (discontinued)

    Main characteristics:
    • /data on SD ext
    • number of apps is only limited by ext size
    • requires a faster card
    • for use with fatsys HBOOT
    Description:
    The classic "mass" flavour mounts ext to /data, thus eliminating the need for the mtd5 userdata partition. It has proven to be slow even on some of the faster cards. Due to INT2SD-S being able to hold a very high number of applications, and still being much faster, this flavour is discontinued.


    FAQ

    For users: How to get this in your favorite ROM
    For ROM developers: How to get this implemented in your ROM
    Please fill out this form.

    Cross-device implementations
    For now, no. You may submit requests, but I won't be able to fulfill them for a while. I have quite a lot of real life work on my plate, not to mention a list of Desire ROMs I have to tend to. After that's done, I'll be happy to try blind-porting it to whichever device you wish, but my priority are Desire ROMs, primarily because it's a lot easier to implement INT2SD into ROMs for a phone I already have.

    Universal update zips
    Also, no. Each ROM is different, and due to the nature of INT2SD, it is simply not possible to make a one-for-all universal update zip. Every ROM requires tending to its peculiarities, especially Sense ROMs, and I would rather not take the change of trying to make one and end up with a flashable bootloop zip.

    Why don't you just publish instructions on how to implement INT2SD for devs to use?
    You can take a look at the modified ROM and you will find 3 new files in /system/etc, dalchk, fsck and sleep. These files are executed by init.rc because of my modifications to it. You can also decompile the boot.img and use a tool such as diff or diffuse (a GUI for diff) and check the differences between it and the unmodified init.rc from Alex's standard, D2EXT ROM. However, his ROM required another init.d script to move weather animations to /data, and modifications to the updater-script to flash everything that would normally be flashed to /data, to be flashed to /sd-ext. Sounds simple enough, right? Well, it's actually not quite as simple. When I have first implemented INT2SD to CyanogenMod 7, all I had to do was edit a few lines and add those three scripts. There was not a single ROM (and there are a few unreleased ones which I've worked on) to which I could apply a "standard" procedure. Each ROM required further modifications on its own and being the one who devised INT2SD, I know what I should look out for in order to avoid catastrophical bugs. ROM developers do not. This is why I do NOT offer support for "homemade" INT2SD implementations. Every ROM has its own peculiarities that need tending to and INT2SD implementations need to be very flexible to allow the ROM to work in conjunction with it. Sure, everything could go great, but INT2SD is extremely easy to implement horribly wrong and have huge bugs and even unbootable systems, and without knowing what the dev did to put it in their ROM, it is next to impossible for me to troubleshoot and fix. It would probably end up with me having to implement it myself either way in most cases and having angry developers and possibly users on my hands being pissed at me for doing a bad job and releasing a ****ty product, when the problem was just a typo in init.rc. That's why I have not nor will I release instructions for devs on how to implement it themselves.



    Before you download!
    Although it is for the best part bug free, INT2SD is still a fairly fresh project so I'm looking for as much input as I can get to fix possible bugs I haven't yet uncovered. If you try a ROM featuring INT2SD, please be sure to comment in this thread on your experience, even if it works great or doesn't work at all. If you wish to further support the project, there is a donate button in my signature. Although a nice sign of support and appreciation, donations are not obligatory!
    Due to /data/data being on the SD, a high-class card is recommended.
    Another thing is the HBOOT, fatsys. You must flash it before flashing any of the INT2SD Sense ROMs.


    fatsys HBOOT

    bravo_alphaspl-fatsys.img
    MD5: 2272c1cb06f8eb743aa1c0ad4c3fa36b

    PB99IMG-fatsys.zip
    MD5: 4d6b2e74c241361237df047bfed5ff08

    INT2SD Sense ROMs require a special HBOOT, fatsys. This special HBOOT has 427 MB dedicated for /system, 5 MB for /cache and 5 MB for /data and there is probably no ROM without INT2SD that would work on it properly. It was made so that the largest part of Desire's internal memory can be used for quick access to vital system files by storing them in /system instead of symlinking them to /sd-ext, therefore slowing the entire system down. There is still plenty of space for your apps if you make a large enough SD ext partition, since SD ext gets mounted to /data and the real, 5 MB mtd5 userdata partition goes unused. So, /data on SD ext, huge /system and no symlinks! Before flashing a Sense INT2SD ROM, make sure you have flashed the fatsys HBOOT!


    Download
    Thanks to Ante0 for hosting the files!
    INT2SD implemented in:
    Alex-V1.8 GB Sense HD INT2SD-M fatsys (Thread | Download)
    Alex-V1.8 GB Sense HD INT2SD-S CM7r2 (Thread | Download in a minute)
    Runnymede AIO 6.1.1 Beta (Thread)


    Current bugs:
    -

    To do list for the next version:
    -

    Credits (alphabetically):
    Alex-V - providing me with the first Sense ROM to implement INT2SD in
    Ante0 - providing proper hosting for the zips
    brabo, GShellz admin - huge help with bash scripts implemented in the ROMs
    CM - a base ROM for implementing the method in
    Droidzone - suggestions, help with HBOOTs
    Hacre - massive assistance as well, kicking me to try and realise the main idea and for coming up with names "INT2SD" and "fatsys"
    JieeHD - help with compiling/decompiling the boot.img files and his excellent guides on FYA
    Pulser_g2 - massive assistance, ideas on the reboot bug and hosting
    Richard Trip - making GingerVillain which now has a version featuring INT2SD
    snq- - pointing out a huge typo and saving me multiple hours of pointless work
    ubuntubhoy - a kick in the arse I needed
    ... and everyone else in the #villainrom IRC channel for help and mental support! Thank you all, and everyone I forgot to mention (PM!).


    Disclamer: I'm not responsible if something goes wrong and wreaks havoc upon you, your phone, your card, any part of your phone, your friends, your family, your close or distant relatives and/or your pet, but I will gladly provide assistance if it does.
    5
    You can take a look at the modified ROM and you will find 3 new files in /system/etc, dalchk, fsck and sleep. These files are executed by init.rc because of my modifications to it. You can also decompile the boot.img and use a tool such as diff or diffuse (a GUI for diff) and check the differences between it and the unmodified init.rc from Alex's standard, D2EXT ROM. However, his ROM required another init.d script to move weather animations to /data, and modifications to the updater-script to flash everything that would normally be flashed to /data, to be flashed to /sd-ext. Sounds simple enough, right? Well, it's actually not quite as simple. When I have first implemented INT2SD to CyanogenMod 7, all I had to do was edit a few lines and add those three scripts. There was not a single ROM (and there are a few unreleased ones which I've worked on) to which I could apply a "standard" procedure. Each ROM required further modifications on its own and being the one who devised INT2SD, I know what I should look out for in order to avoid catastrophical bugs. ROM developers do not. This is why I do NOT offer support for "homemade" INT2SD implementations. Every ROM has its own peculiarities that need tending to and INT2SD implementations need to be very flexible to allow the ROM to work in conjunction with it. Sure, everything could go great, but INT2SD is extremely easy to implement horribly wrong and have huge bugs and even unbootable systems, and without knowing what the dev did to put it in their ROM, it is next to impossible for me to troubleshoot and fix. It would probably end up with me having to implement it myself either way in most cases and having angry developers and possibly users on my hands being pissed at me for doing a bad job and releasing a ****ty product, when the problem was just a typo in init.rc. That's why I have not nor will I release instructions for devs on how to implement it themselves.
    3
    Added ROM:
    2
    Yeah, for speeding the ROM up, it will probably have the opposite effect - slow it down (if we're comparing INT2SD with regular A2SD). Stock ROMs like yours which do not have system stuff on /sd-ext won't really benefit from it and advantages of INT2SD as compared to other D2EXT methods fade away quickly. A small speed improvement will still probably be present as compared to other scripts since the approach is more straight-forward (as opposed to using symlinks and bind mounts), but if it's worthwhile is up for debate. I guess it depends on user demand, right? ;)

    Thanks for the hosting suggestion!
    2
    Yup, I know about that, I'm wondering about the downgrader too.

    I'm always use the hboot-downgrade whenever I change hboot no matter whether the previous hboot is a lock hboot or an unlock hboot. It is always best to unlock the hboot before flashing a new one to be on a safe side.

    Here is hboot with 427mb/system, 5mb/cache & 5mb/data as you mentioned here

    Now, we need a volunteer to make the said zero-data HBOOT for 5 MB for /cache, 5 MB for /data and the rest for /system.

    I tested the hboot by flashing it to my phone.. no problem to go to recovery, no problem to boot to bootloader. but I don't have any ROM which can fit a 5mb data partition to test. The lowest I ever go is 30mb/data.

    Note: to change to another hboot.. use the hboot_downgrade first as this is a lock hboot.

    Edit : Manage to squeeze the ROM to fit a 5mb/data ... so confirm the hboot works.