Related
Updated April 7th, 2011
All credit to sibere and droidzone and other devs who've developed the Data2SD codes.
Before you do anything with your phone, Pls nanodroid fisrt!!! And flash your phone at YOUR OWN RISK
It's been a while since this post last updated.
In fact, developers of HTC Desire have already create a stable method to implement Data2sd or whatever you call it, which gives you full use of EXT space to install APPs while improving I/O speed at the same time.
The theory is explained here, in case you want to take a further look at it
[DEV][DATA2SD] More space (and more I/O) for your Desire (Updated/EXT4/Flashable ZIP)
And thanks to sibere and droidzone 's great work, now we could make any ROM we like run with Data2sd. here they provide us Flashable ZIP files to make it done
[DATA2SD] Flashable zips for converting any Rom to Data2SD
Updated Instructions and Zips (14/Mar/2011)
I've streamlined the installation procedure so as to make it more generic and compatible with the newer StarBurst zips.
Basic Installation Steps for Data2SD
1. Install your ROM
2. Install the A2SD Killer (specific for your ROM)
3. Next step differs depending on whether you're reflashing your Rom on an existing install, or whether you are installing for the first time.
If you're installing the ROM for the first time:
· Reboot once after running the A2SD Killer
· Setup the timezone, language etc (But not your Google Account/Market)
·Reboot to recovery once again and install the Data2SD Installer
If you're reflashing the ROM (after having installed Data2SD once previously)
·Do not reboot after running the A2SD Killer
·Install the Data2SD Re-Installer right away
·Now reboot.
Click to expand...
Click to collapse
Download Link:
http://hotfile.com/dl/110226722/85a18a8/Data2SDv11.zip.html
http://www.easy-share.com/1914241904/Data2SDv11.zip
Important Notes from droidzone
Fully supports Cyanogen
Fully supports Clockworkmod3.0+ (Edified)
I wanted to consolidate all the flashable zips for Data2SD into one place, so that I will find it easy to update the links as I modify the scripts, and to also help Sibere to point his link to this post from OP, so that he doesnt need to reupload each file as they are modified.
Once again, I must assert that Data2SD is totally Sibere's work with other devs who've developed Data2SD code of their own. In my opinion, however, this is the best!
My contribution is conversion of his excellent code into flashable scripts which may be installed via Recovery. So you dont have to type out the code.
The flashable zip is packed as a package of zip files. Each zip file within the package is seperate flashable zip
There are the following files:
Killer, Installer and Reinstaller files for Sense Roms
A2SDKillerV11_Sense.zip
Data2SDInstallerv1.3_Sense.zip
Data2SDReInstallerv1.3_Sense.zip
Installer and Reinstaller files for AOSP Gingerbread Roms and CM7 nightlies (excluding Cyanogen 6 and MIUI 2.2 , but including Cyanogen 7 nightlies and MIUI 2.3.3 )
A2SDKillerV11_GB.zip
Data2SDInstallerv1.3_GB.zip
Data2SDReInstaller1.3_GB.zip
Installer and Reinstaller files for Cyanogen 6 and MIUI 2.2 (Not for CM7 nightlies or MIUI 2.3.3), which are Older Version
A2SDKillerV9.zip
Data2SDInstaller_cyanogen.zip
data2sd-Reinstall_cyanogen.zip
Whether you are trying this method for Sense or AOSP Roms, the installation procedure is same. Only the file is different.
Click to expand...
Click to collapse
Following droidzone's instruction, I tried these flashable ZIPs with MIUI 1.4.1(Gingerbread 2.3.3)
A2SDKillerV11_GB.zip
Data2SDInstallerv1.3_GB.zip
And it's working just fine. No random reboots, no data or APP lost or system crash after reboot. It's stable and fast!
One more note, you can ignore the previous information below...
————————————————————————————————————————————————————————————————————
updata from
melethron's post, and his update package data2whatever.zip included.
you can buy melethron a beer if you want. All credits to melethron!
I test the script with new install MIUI N1 12.24,
so far no reboot issues, or data corruption.
[DATA2whatever] Flashable All-in-one-Solution for Data2sd (HUGE update (dec 23th))
data2whatever v0.2
Features:
- Supports: Ext2, Ext3, Ext4 (and if kernel supports it: ) btrfs, ReiserFS
- Supports loop device as optional addon (as siberes data2sd)
- Flashable zip for many app2sd ROMs (no long setup required)
- It does a e2fsck (disk check) on every boot and creates a logfile on the sdcard (/sdcard/e2fscklog.txt)
- looks nice if you do a logcat on boot
- no "settings lost on reboot" bug like in my old or siberes script
- changes the scheduler for the sd-card and internal to noop for better performance on sd.
- Nandroid Backup of EXT2/3/4 external with AmonRa 2.0.0.1 or any clockwork recovery.
- Removes the common app2sd scripts on its own
Requirements
- A second partition (same as app2sd - Min 512 mb - 1024mb is highly recommended - max 2048 MB or there will be issues with market) in any format (as long as the kernel supports - ext2/3/4 support is default in most kernels - Ext4 or ReiserFS is recommended).
- An app2sd or non app2sd ROM (data2sd versions wont work) (this SHOULD work with most or at least many ROMs . Roms that are confirmed to work can be found in the post below. Please report to me it it works or not so i can update this thread. If it doesn't work i try to make it compatible asap. )
Installation
1.) Full wipe (at least needed on first installation)
2.) Flash the app2sd Version of the ROM of your choice
3.) DONT REBOOT
4.) If you rebooted then start over at 1.)
5.) flash the attached "data2whatever.zip"
6.) now reboot
ADDITIONAL INFO: Even without "life on the edge" you should watch the first 4 "don't"s of "life on the edge". The normal script use the same disk safety methods as NTFS on Windows or EXT4 on linux. But as you know you shouldnt just switch off the computer because there can still be issues in very rare cases. Reboots with tools like "snqs power menu" is the same as a batterypull (or pulling the ac plug on PC) and this isn't good in general (and this also applies for using it with app2sd). If you want to go to recovery just make a normal shutdown and switch the phone on with "volume down" button pressed.
Optional life-on-the-edge add on
you can find this add on in melethron's original post, and try it on your own risk
This patch has the same effect as sibere's and ownhere's script (loop device - the way ownhere does in v4 doesnt work though). Other than those scripts it this addon doesnt need any repartitioning or other setup (like FAT or a third partition) and can simply be installed or removed with a flashable zip. All you need for this is a normal ext 2/3/4 partition (as above ^^). Ext4 is recommended for this (as above) since it is the fastest of those 3. This patch is more risky than normal ext3/4 considering the possibility of data loss. If you want to use this add-on you should watch the following (this also applys to ownheres and sibere script and is NOT more risky than their scripts):
- DON'T use the reboot of snq's powermenu (or any other reboot app)
- DON'T use anything in the "ROM Manager" that makes it reboot.
- DON'T do adb reboot / abd reboot recovery / adb reboot bootloader
- DON'T pull the battery while the phone is on (this should be obvious)
- DON'T remove the "sync" mount options for the Quadrant "boost" (this is a fake boost anyway)
All of this is like a powerloss for the sd-card and has a high change of data corruption.
From my test with this i give you an estimate what can happen if a powerloss occurs or any of the 5 points above happen:
- 50% general chance of corruption that will be autofixed on boot (not a problem)
- 10% chance of forcecloses after reboot of some apps (this can be fixed by deleting the app data or restoring it with titanium (or other) backup)
- REALLY tiny chance (didnt happen for me in over 40 "simulated" powerlosses) that partition gets corrupted (needs complete repartitioning of the microSD so all data on it will be gone then)
As long as you watch the 5 points above and as long as you don't drop the phone and the battery jumps out this will be safe.
Installation of the addon:
- Flash the "life-on-the-edge.zip" any time after you installed "data2whatever".
Installation of the addon:
- Flash the "life-on-the-edge-UNPATCH.zip" any time after you installed "data2whatever" and the addon. (this will revert back to the normal script)
Personal remark: While this is a improvement over normal ext4 it is not the "holy-grale" of a data2sd lag fix. I'm not using this myself and use a ReiserFS as second partition instead which is more safe and completly feels the same as a "loop" device considering performance.
--------------------------------------------------------------------------------
__________________________________________________________________________________
Dec14 info update:
I uploaded A mod script for CM6.1 stable by Carrol
Carrol changes the script to create a ext4 loop device on EXT4 partition.
Code:
$BUSYBOX mkdir /mnt/asec/extdata
if [ ! -e /data/data2sd.ext.finish ];
then
echo "+++Need create ext4 loopback device for data, please wait... this is 1/5 size of your ext partition"
extsize=`$BUSYBOX df /dev/block/mmcblk0p2|$BUSYBOX grep mmcblk0p2|$BUSYBOX awk '{print $2}'`
datasize=`$BUSYBOX expr $extsize / 5 / 1024`
$BUSYBOX dd if=/dev/zero of=/data/ext4 bs=1048576 count=$datasize
/system/xbin/mkfs.ext4 -b 4096 -m 0 -F -L userdata /data/ext4
/system/bin/tune2fs -o journal_data_writeback /data/ext4
/system/bin/e2fsck /data/ext4
#/system/bin/tune2fs -O ^has_journal /data/ext4
#$BUSYBOX mount -o loop,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
$BUSYBOX mount -o loop,barrier=0,nobh,nouser_xattr,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
$BUSYBOX chown 1000.1000 /mnt/asec/extdata
$BUSYBOX chmod 771 /mnt/asec/extdata
$BUSYBOX cp -a /data/data /mnt/asec/extdata/
sleep 1
$BUSYBOX umount /mnt/asec/extdata
sleep 1
$BUSYBOX touch /data/data2sd.ext.finish
fi
/system/bin/e2fsck -y -v -f /data/ext4
#$BUSYBOX mount -o loop,sync,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
#$BUSYBOX mount -o loop,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
$BUSYBOX mount -o loop,barrier=0,nobh,nouser_xattr,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
$BUSYBOX chown 1000.1000 /mnt/asec/extdata
$BUSYBOX chmod 771 /mnt/asec/extdata
Note that this script is for CM6.1 stable only, only ONE EXT partition needed on your SDCard, and it will be formated into EXT4, do nanodroid before you try
Also a CM6.1 ROM with Data2Ext by Carrol can be found here
CM6.1 ROM with Data2Ext by Carrol
download: http://rom.anshouji.com/htc/N1/bbs.anshouji.com-N1-data2sd-20101213.zip
________________________________________________________
ownhere Data2Ext script V4
Data2ExtV4
2010/12/12 update V4 script:
/data/:ext4, disable journaling
/data/data:ext4 loopfile on ext4 device, enable journaling on ext4 device, disable journaling on ext4 loopfile, for fast and stable sqlite3 access.
really smooth this time
Click to expand...
Click to collapse
There's a version for Desire, which is here [DATA2EXT] [11/Dec] FULL BENCHMARK, V4, Improve the efficiency of IO
While improving IO efficiency, it moves all userdata to EXT so to avoid insufficient ROM space, cos the whole EXT is recognized as the internal ROM.
with ownhere's v4 script, I got my miui rom working, no data lost or crash after reboot/battery-removed:
1. miui rom 12.03 clean installation(a2sd+ script removed), then flash update.zip of v4 script. working. applying 12.03 to 12.10 and 12.10 to 12.11 ota packages, working.
2. miui rom 12.11 clean installation, flash v4 update.zip, working.
3. miui rom 12.11 with a2sd+ running, 38 apps installed and /data/data moved to ext. The v4 update.zip can still do the job.
However, one problem is that Root explorer couldnot display Chinese filenames of APK , showing only ???. and if install those apks via root explorer, it just reports errors...
Another thing i am not sure of is not knowing how much v4 script could improve when there is only 1 ext partition. According to ownhere, 2 ext partitions are needed to make the best out of his v4 script...
I attached the v4 updtae.zip - Data2ext_update.zip ,in case you might wanna try:
1. BEFORE you try this package, you need to remove the app2ext script(file like 04apps2sd or 01 apps2sd) from /system/etc/init.d, or you would only get bootloop going on and on
2. And of course, Nanodroid...
3. disable signature checking in recovery...
______________________________________________________________________________________________
I tried merging those files into MIUI N1 ROM.
When N1 boots for the 1st time, everything's working just fine.
Now we know the previous script is faking the Quadrant score...
Quadrant bechmark really rocks with I/O scoring 8000+ and a total score @ 3000+
But after reboot, there came some issues:
System config could not be saved;
Home button wouldn't work;
Flight mode and Quiet mode missing in the reboot menu...
Could someone pls help to rewrite the script to fit in N1 ROM?
I think people using N1 would interested in such a script or rom that brings N1 more I/O performance and more space for Apps.
But I have no knowledge of coding, don't know how to fix the issues above.
So I add download link of the script CREATED by ownhere, not by me, hoping someone could make a N1 MOD...
data2ext.zip
data2ext.zip is not a flashable package
Thanks!
mattrb said:
This goes in Q and A.
Also the answer is darktremor. A simple search of the the Nexus One Android Development gets that answer.
Click to expand...
Click to collapse
Sorry, but I don't think Darktremor Apps2SD script could do the job.
Since there is difference between Apps2SD and Data2Ext:
Apps2SD moves
/data/app, /data/app-private and /data/dalvik-cache to EXT
And with some commands /data/data could also be moved to EXT
But Data2Ext moves
/data/app to EXT4
/data/data to a virtual EXT2 device on EXT4, which is the trick to improve IO efficiency working at peak level...
SO I don't know if there is a answer fort this in Q&A...
this comes up after searching
G1 data2sd instruction works for the N1 i suppose ?
http://forum.xda-developers.com/showthread.php?t=527636&highlight=app2sd
**There is NO booting into recovery and wiping of the phone!**
My bad for not being clear on the wipe instructions!
1) (optional) If you are to wipe it (your choice it is not required), then press menu->settings->SD card & phone storage->scroll to bottom of screen and select "Factory data reset". This will wipe the /data partition only removing all apps and settings. BACKUP YOUR /data dir to sd, First or you will need to down load all your apps again to include paid apps!!
2) place data2sd.img in root of SDcard (fat32)
3) terminal in or adb shell in.
4) cp /sdcard/data2sd.sh to /data/local/bin - to copy the script to your user-space
5) chmod 0750 /data/local/bin/data2sd.sh - to make it executable
6) /data/local/bin/data2sd.sh or data2sd.sh may work to run the script
7) once the install is done it should tell you to reboot. If you had the ddms debugger running, you can observer the log as it is working.
8) done. It may boot a little longer if you clean-slate installed and then restored your apps by copying them back into /data/app and /data/app-private which has the affect of reinstalling everything, and thus the boot will take a while if you have alot of apps like I do. Again you can observe this as the Android boots if you have the debugger running.
Click to expand...
Click to collapse
I'm also confused, how does darktremor move all of that to ext? Please explain. I thought darktremor moves apps to ext. If you fail, then you sir are an idiot and gtfo.
A "simple" reread (If that's even enough, maybe 100x more for you) would've told you want he wanted.
Sorry for invading your post jayfallen!!
I for one, am glad you posted this and would like to try it once you get it going.
Try this: http://forum.xda-developers.com/showthread.php?t=853001
I recommend only moving the data of non-essential apps and those apps which DO NOT contain security sensitive data (games, Google Earth, etc. should be fine).
I edited the thread title, and added download link of the script created by ownhere.
someone might wanna take a look, if you're interested in bring your N1 more I/O performance and more space for Apps.
Thanks for everyone replying this thread. I will try your suggestions.
eVil's hd rom~
it's not work on the evil's hd sense?i try that last night~ but it's very hard!!!
i m abt to try this
http://www.miui.com/thread-10723-1-1.html?extra=page=1
wish me luck
the thread @ miui.com was posted by me earlier...
that rom is just experimental, if you don't reboot, everything works fine.
once rebooted, config lost and homebutton lost...
I don't know how to fix, that's why I start this thread @ xda, hoping someone could make it work for N1...
Wow this I want
Not sure if this can help..
Found a post on HiAPK (a Chinese Android discussion forum)
here's the link to the post:
http://www.hiapk.com/bbs/viewthread.php?tid=717815&extra=page=1&filter=type&typeid=211
And here's the link to the ROM:
http://rom.anshouji.com/htc/N1/bbs.anshouji.com-N1-data2sd-20101208.zip
The rom is said to be based on Cyanogen Mod 6.1 Stable, with data2EXT enabled by default.
The attached screenshot comes from a user of the data2Ext rom, note that the internal storage has 0.9GB left.
luciefer said:
it's not work on the evil's hd sense?i try that last night~ but it's very hard!!!
Click to expand...
Click to collapse
That because the current script will only move system/app to ext. There is nothing else in there to tell it to move any other folder, thus failing.
there's been new development...
as houzuoguo mentioned, a CM6.1stable+data2ext mod ROM is out, but there're still some issues
ownhere update his script to V3
http://forum.xda-developers.com/showthread.php?t=859419
1.change loopback device to real partition for powersave and better write performance.
2.disable second partition's journaling.
3.You need 3rd partition for /data/data. But even without the third partition of this script can also work(not stable). My partition settings:second partition:1.5G, thrid partition:0.5G
meanwhile, another new approach is coming out:
http://forum.xda-developers.com/showthread.php?t=868102
NILFS2 - data2nilf2 will be much faster then data2ext and won't have Lags.
whoa
i m glad there are so many new development out everyday
feel so good knowing the n1 is not being left behind
speaking of this is pretty freaking awesome
houzuoguo said:
Not sure if this can help..
Found a post on HiAPK (a Chinese Android discussion forum)
here's the link to the post:
http://www.hiapk.com/bbs/viewthread.php?tid=717815&extra=page=1&filter=type&typeid=211
And here's the link to the ROM:
http://rom.anshouji.com/htc/N1/bbs.anshouji.com-N1-data2sd-20101208.zip
The rom is said to be based on Cyanogen Mod 6.1 Stable, with data2EXT enabled by default.
The attached screenshot comes from a user of the data2Ext rom, note that the internal storage has 0.9GB left.
Click to expand...
Click to collapse
...
That is a huge improvement in IO!
Lets hope this reaches a stable state soon
I wonder why quadrant weighs so much on disk IO for the total score.
Would this be possible on other devices? lets say the g2?
Would someone mind explaining what tangible improvements this makes? Obviously there is an impressive boost in Quadrant scores, but I'm unsure what difference it makes to the actual operation of the device.
bcpk said:
Would someone mind explaining what tangible improvements this makes? Obviously there is an impressive boost in Quadrant scores, but I'm unsure what difference it makes to the actual operation of the device.
Click to expand...
Click to collapse
App2sd u get 512mb for ext3.
Data2ext u get at least 2gb for apps and stuff
Lol. Are u serious. For io scores it cheats. See the script. Fake ext2 for quadrant
truth to be told,they say TTL 2000+ and IO 3000 is the actual scroe...
I think here maybe gets some help for making recovery for HTC J.
This phone isn't sell on EU and US, only on Japan, Taiwan, and Hong Kong.
I tried to build recovery on Recovery Builder, but it failed when I flashed into my phone.
It reboot when entering into recovery.
Now I'm trying to build it manually, but I got poor knowledge and tools about that.
Does anyone can help for this? I can give original files.
Besides, HTC J is using MSM8660A, that means maybe can use One S's recovery (One S is MSM8260A)
Is that possible?
CWM recovery porting
missile0407 said:
I think here maybe gets some help for making recovery for HTC J.
This phone isn't sell on EU and US, only on Japan, Taiwan, and Hong Kong.
I tried to build recovery on Recovery Builder, but it failed when I flashed into my phone.
It reboot when entering into recovery.
Now I'm trying to build it manually, but I got poor knowledge and tools about that.
Does anyone can help for this? I can give original files.
Besides, HTC J is using MSM8660A, that means maybe can use One S's recovery (One S is MSM8260A)
Is that possible?
Click to expand...
Click to collapse
(Sorry for link restriction. Please add http : // or w w w to head.)
You're right. It's possible. Japanese users used recovery for One S and fixed for J.
Build Process
1. get default recovery.img of J (mmcblk0p22 ? fix for your J)
2. get CWM recovery.img for OneS
3. extract recovery.img for J(using split-bootimg.pl)
4. modify recovery.img-ramdisk folder
--4.1 replace init.rc with OneS CWM's init.rc
--4.2 replace sbin/* with OneS CWM's /sbin/*
--4.3 copy ueventd.rc from default boot.img of J
--4.4 modify default.prop
< ro.secure=1
< ro.allow.mock.location=0
< ro.debuggable=0
< persist.service.adb.enable=0
---
> ro.secure=0
> ro.allow.mock.location=1
> ro.debuggable=1
> persist.service.adb.enable=1
--4.5 modify /etc/recovery.fstab
# This configuration is for Japanese J.
# Please fix for your J.
# mount point fstype device [device2]
/recovery emmc /dev/block/mmcblk0p22
/boot emmc /dev/block/mmcblk0p21
/cache ext4 /dev/block/mmcblk0p37
/data ext4 /dev/block/mmcblk0p38
/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
/internal_sdcard vfat /dev/block/mmcblk0p39
/system ext4 /dev/block/mmcblk0p36
/misc emmc /dev/block/mmcblk0p23
5. If your device has felica (like NFC, standard in Japan) or protected feature, CWM restore are failed because kernel protection.
In this case, you must build kernel that is disabled security feature and replace default kernel with it.
Otherwise, you have to
-----5.1 get CyanogenMod repository
-----5.2 modify recovery source. (backup and restore should be done by dd)
-----5.3 build
-----5.4 replace /sbin/recovery with new one
but this method is difficult.
6. repack
mkbootfs ./recovery.img-ramdisk | gzip -9 > custom-ramdisk.gz
mkbootimg --kernel recovery.img-kernel --ramdisk custom-ramdisk.gz --cmdline 'console=ttyHSL0,115200,n8' --base 0x80400000 --ramdiskaddr 0x81800000 -o custom_recovery.img
You can get mkbootfs and mkbootimg from CyanogenMod build.
7. fastboot flash
These process are from this forum (anago.2ch.net/test/read.cgi/smartphone/1338050087/) and my article (d.hatena.ne.jp/td2sk/20120615/1339780557).
###########
Its CWM recovery for Japanese J.
mediafire.com/?qiddodjf0p0xsc5
We fixed some points that is not discussed here because Japanese J has some own features.
(dd restore, fix felica_permissions, etc)
So this may not work well for your device.
###########
Japanese users are porting CWM and CyanogenMod10 for J.
If you want to know more detail, japanese forum are useful.
anago.2ch.net/test/read.cgi/smartphone/1338050087/
twitter.com/#!/search/%23valentewx
(But all articles are written in Japanese )
Some of the results that contain CMW and Cyanogenmod10 are published in my repository.
github.com/td2sk
good luck.
td2sk - twitter.com/td2sk
(Edit)
Got it, I use another tool to unpack, now it work
WIP
After building from One S recovery, now Iflash my own recovery in J
But now my phone stuck at white HTC with red words.
Maybe is protection problem?
CWM recovery porting
missile0407 said:
After building from One S recovery, now Iflash my own recovery in J
But now my phone stuck at white HTC with red words.
Maybe is protection problem?
Click to expand...
Click to collapse
Kernel protection works after boot. So I don't think that would cause any problems.
You should replace some more files , or should NOT replace some files.
How about our prebuilt recovery?
-- mediafire.com/?qiddodjf0p0xsc5
If your J boot, please unpack and survey differences.
If J don't, you must build from source.
In this case, CyanogenMod and my repository(github.com/td2sk) are useful.
There is more details of build process in my article( d.hatena.ne.jp/td2sk/ ).
td2sk said:
Kernel protection works after boot. So I don't think that would cause any problems.
You should replace some more files , or should NOT replace some files.
How about our prebuilt recovery?
-- mediafire.com/?qiddodjf0p0xsc5
If your J boot, please unpack and survey differences.
If J don't, you must build from source.
In this case, CyanogenMod and my repository(github.com/td2sk) are useful.
There is more details of build process in my article( d.hatena.ne.jp/td2sk/ ).
Click to expand...
Click to collapse
Oh !! I got my phone root with this recovery!
Now I'll match how diffience between this and I made
Thanks for help.
I think I found a problem.
When I unzip ramdisk.gz the cpio can't unzip some files.
Maybe this is a point.
I'll find how to solve this problem.
CWM recovery porting
I forgot newest recovery.img.
http : / / kie.nu/q8_
This is the newest version but may not work well.
td2sk said:
I forgot newest recovery.img.
http : / / kie.nu/q8_
This is the newest version but may not work well.
Click to expand...
Click to collapse
Haha, I got a problem solved! Because I'm using vmware share folder to unzip.
It can't unzip symlink at share folder.
And thanks for new recovery, but what means may not work well? Is that means not work well at installation?
Hello, I made it!
I use One S CWM to make a recovery, base on 5.8.3.1
But I only do is, change zImage, ueventd.rc, recovery.fstab to J
I'll try another way to do other things.
http://kie.nu/qb_
CWM recovery porting
missile0407 said:
Haha, I got a problem solved! Because I'm using vmware share folder to unzip.
It can't unzip symlink at share folder.
And thanks for new recovery, but what means may not work well? Is that means not work well at installation?
Click to expand...
Click to collapse
Sorry, correct newest recovery is: http : / / kie.nu/p-x
"may not work well" means that it's unstable version.
Older recovery is a stable version and we have tested it enough.
But the version is v5.5.0.4.
The newest one is version v6.0.1.4. This is not from OneS' CWM. We build it from source.
But this is now developping. We don't test it enough.
In this version, after CWM boot, power button as select key is disable. You can select CWM menu by pushing HOME key.
Can root or CWM for HTC J (version 1.31.970.1)?
I got a HTC J (version 1.31.970.1) after OTA released. Is any process fixed for the new one?
td2sk said:
(Sorry for link restriction. Please add http : // or w w w to head.)
You're right. It's possible. Japanese users used recovery for One S and fixed for J.
Build Process
1. get default recovery.img of J (mmcblk0p22 ? fix for your J)
2. get CWM recovery.img for OneS
3. extract recovery.img for J(using split-bootimg.pl)
4. modify recovery.img-ramdisk folder
--4.1 replace init.rc with OneS CWM's init.rc
--4.2 replace sbin/* with OneS CWM's /sbin/*
--4.3 copy ueventd.rc from default boot.img of J
--4.4 modify default.prop
< ro.secure=1
< ro.allow.mock.location=0
< ro.debuggable=0
< persist.service.adb.enable=0
---
> ro.secure=0
> ro.allow.mock.location=1
> ro.debuggable=1
> persist.service.adb.enable=1
--4.5 modify /etc/recovery.fstab
# This configuration is for Japanese J.
# Please fix for your J.
# mount point fstype device [device2]
/recovery emmc /dev/block/mmcblk0p22
/boot emmc /dev/block/mmcblk0p21
/cache ext4 /dev/block/mmcblk0p37
/data ext4 /dev/block/mmcblk0p38
/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
/internal_sdcard vfat /dev/block/mmcblk0p39
/system ext4 /dev/block/mmcblk0p36
/misc emmc /dev/block/mmcblk0p23
5. If your device has felica (like NFC, standard in Japan) or protected feature, CWM restore are failed because kernel protection.
In this case, you must build kernel that is disabled security feature and replace default kernel with it.
Otherwise, you have to
-----5.1 get CyanogenMod repository
-----5.2 modify recovery source. (backup and restore should be done by dd)
-----5.3 build
-----5.4 replace /sbin/recovery with new one
but this method is difficult.
6. repack
mkbootfs ./recovery.img-ramdisk | gzip -9 > custom-ramdisk.gz
mkbootimg --kernel recovery.img-kernel --ramdisk custom-ramdisk.gz --cmdline 'console=ttyHSL0,115200,n8' --base 0x80400000 --ramdiskaddr 0x81800000 -o custom_recovery.img
You can get mkbootfs and mkbootimg from CyanogenMod build.
7. fastboot flash
These process are from this forum (anago.2ch.net/test/read.cgi/smartphone/1338050087/) and my article (d.hatena.ne.jp/td2sk/20120615/1339780557).
###########
Its CWM recovery for Japanese J.
mediafire.com/?qiddodjf0p0xsc5
We fixed some points that is not discussed here because Japanese J has some own features.
(dd restore, fix felica_permissions, etc)
So this may not work well for your device.
###########
Japanese users are porting CWM and CyanogenMod10 for J.
If you want to know more detail, japanese forum are useful.
anago.2ch.net/test/read.cgi/smartphone/1338050087/
twitter.com/#!/search/%23valentewx
(But all articles are written in Japanese )
Some of the results that contain CMW and Cyanogenmod10 are published in my repository.
github.com/td2sk
good luck.
td2sk - twitter.com/td2sk
Click to expand...
Click to collapse
fayevirgo said:
I got a HTC J (version 1.31.970.1) after OTA released. Is any process fixed for the new one?
Click to expand...
Click to collapse
If you can unlock your J, it isn't necessary to fix any processes.
You can use the same processes and make your own version.
You can also use our prebuilt recoveries.
- old and stable version is here: mediafire.com/?qiddodjf0p0xsc5
- the newest and unstable version is here: kie.nu/p-x
In Japan, J can't be unlocked after OTA update.
I don't know how to unlock Japanese J after OTA.
Can your J be unlocked in your country?
td2sk said:
If you can unlock your J, it isn't necessary to fix any processes.
You can use the same processes and make your own version.
You can also use our prebuilt recoveries.
- old and stable version is here: mediafire.com/?qiddodjf0p0xsc5
- the newest and unstable version is here: kie.nu/p-x
In Japan, J can't be unlocked after OTA update.
I don't know how to unlock Japanese J after OTA.
Can your J be unlocked in your country?
Click to expand...
Click to collapse
You say offcial unlock from HTCdev?
If so, My J is Taiwan device, and it version is 2.18, it can unlock by HTCdev without special works, maybe Hong Kong's device can unlock, too.
td2sk, Thank you for your blog. I've been following your blog and fnoji's blog for a while. I made custom ROM based on MIUI for One S.
td2sk said:
If you can unlock your J, it isn't necessary to fix any processes.
You can use the same processes and make your own version.
You can also use our prebuilt recoveries.
- old and stable version is here: mediafire.com/?qiddodjf0p0xsc5
- the newest and unstable version is here: kie.nu/p-x
In Japan, J can't be unlocked after OTA update.
I don't know how to unlock Japanese J after OTA.
Can your J be unlocked in your country?
Click to expand...
Click to collapse
unfortunately, I could not unlock my J in Japan. I got a new one with new version after OTA update.
fayevirgo said:
unfortunately, I could not unlock my J in Japan. I got a new one with new version after OTA update.
Click to expand...
Click to collapse
If you can get temp-root, you can also unlock.
But now, We can't get temp-root for new J.
Root, unlock bootloader for 2.50.970.3
fayevirgo said:
unfortunately, I could not unlock my J in Japan. I got a new one with new version after OTA update.
Click to expand...
Click to collapse
You can try this for newest version 2.50.970.3 http://htcsoku.info/?page_id=662
new cwm
After OTA, we can get root and unlock again
And now, this is the newest cwm recovery. (v6.0.1.5)
http : / / kie.nu/uhO
It supports
+ backup/restore to ext_sd
+ adb sideload ( flash zip without sd )
source code: [email protected]
td2sk said:
After OTA, we can get root and unlock again
And now, this is the newest cwm recovery. (v6.0.1.5)
http : / / kie.nu/uhO
It supports
+ backup/restore to ext_sd
+ adb sideload ( flash zip without sd )
source code: [email protected]
Click to expand...
Click to collapse
Thanks ur new Recovery.
Very fast and staible
The Problem
TLDR: In Oreo ROMs, i.e. Android 8.0/8.1, DualBoot Patcher no longer works, as patched ROMs/kernels will get stuck on Android logo screen(for the Axon 7, it's the 'ZTE, POWERED BY android' screen), and never boot up.
In Oreo(Android 8.0/8.1), Google introduced a new function to fstab, which is early mounting specific partitions. The purpose was so that Android can boot up faster, by ensuring that essential partitions like /system and /vendor are mounted first and the boot process will not be held back by delays in non-essential things like setting up apps. More details can be found here. So the important changes that affect DualBoot Patcher are: 1) There's an important file 'fstab.qcom', which lists all the partitions that Android can use, that got shifted from the '/' directory(the root partition/ramdisk, Android 7.x and below) to the '/system/vendor/etc' directory(in Android 8.x) 2) In addition, another file 'init.qcom.rc', once found in the '/' directory too(in Android 7.x and below), is now shifted to '/system/vendor/etc/init/hw' directory(in Android 8.x) 3) Because of 1), 'init.qcom.rc' now believes that 'fstab.qcom' is in '/system/vendor/etc' and not '/', and so it asks Android to read 'fstab.qcom' from '/system/vendor/etc' 4) In the 'fstab.qcom' file, there are entries for all partitions except /system(and /vendor for Treble devices). For these 2 partitions, they are now found in the dtb(short for Device Tree Binary). How does this affect DualBoot Patcher? 1) DualBoot Patcher expects that 'fstab.qcom' is still in '/' directory(correct me if I'm wrong), so it fails to find this file in Android 8.x ROMs/kernels 2) DualBoot Patcher expects that '/system' is still defined in 'fstab.qcom', which is not the case. Below are the exact changes that Google made(in the case of our Axon 7), note the red parts(the changes):
fstab.qcom(the strike means those lines are now removed/gone)
Code:
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
[STRIKE][COLOR="red"]/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1,discard wait[/COLOR][/STRIKE]
init.qcom.rc
Code:
on fs
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
mount_all [COLOR="Red"]/vendor/etc/fstab.qcom[/COLOR]
dtb(converted into dts with dtc)
Code:
fstab {
compatible = "android,fstab";
vendor {
compatible = "android,vendor";
dev = "/dev/block/platform/soc/7464900.sdhci/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = "wait";
status = "disabled";
};
[COLOR="red"]system {
compatible = "android,system";
dev = "/dev/block/platform/soc/624000.ufshc/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = "wait";
status = "ok";
};[/COLOR]
};
The Solution
There are 3 changes to make for each ROM/kernel: 1) Edit fstab.qcom, dtb and init.qcom.rc 2) Add fstab.qcom and init.qcom.rc back into the ramdisk(i.e. edit the ramdisk) 3) Delete '/system/vendor/etc/fstab.qcom' and '/system/vendor/etc/init/hw/init.qcom.rc'. There are 2 ways you can do this, either manually, or with my script(Work in progress, my sincere apologies)
Method 1: Manually modify ROM and kernel
Files you will need:
Note: the 'files.zip' attached below contains 'dtc', 'magiskboot', 'mkbootimg', 'unpackbootimg'. Extract it to get these files. Feel free to scan them for viruses, I assure you they are clean and not viruses for sure
- boot.img you want to patch
- init.qcom.rc, fstab.qcom from the ROM you are patching
- magiskboot binary(found in /data/magisk or /data/adb/magisk if you installed magisk, otherwise download the one attached below)
- dtc binary(download the one attached below)
If you are patching Hellsgate or Schwifty, you also need:
- unpackbootimg, mkbootimg(attached below)
- Image.gz-dtb(from the flashable zip of the kernel)
Note: You also need a boot.img, but this will be from the ROM you are flashing/have flashed(extract from the ROM zip)
Preliminary step: Prepare the files
- Before you start, I would recommend copying all the files into a directory where you can chmod/execute binaries. I personally recommend '/data/local/tmp', or '/cache'(anywhere in /cache is fine). The guide below assumes that all these files are in the same directory. Also, chmod all the binaries, for example, do this in your working directory:
Code:
chmod 0755 *
- Also, I would recommend backing up 'fstab.qcom' and 'init.qcom.rc'
Additional Step: If you wish to patch kernels like Hellsgate and Schwifty
- First, unpack your ROM's stock kernel:
Code:
./unpackbootimg -i boot.img
- Then, repack the kernel as a Hellsgate/Schwifty kernel:
Code:
./mkbootimg --kernel Image.gz-dtb --ramdisk boot.img-ramdisk.gz --cmdline "androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 [email protected] androidboot.selinux=permissive buildvariant=userdebug" --base 80000000 --pagesize 4096 --kernel_offset 00008000 --ramdisk_offset 01000000 --second_offset 00f00000 --tags_offset 00000100 --os_version 8.1.0 --os_patch_level [COLOR="red"]2018-06[/COLOR] --hash sha1 --output ./boot-new.img
- Note: For the red part in the above command, adjust for the month that your desired kernel is released. E.g. If your desired kernel was released in 2018 June, you put '2018-06', while if it was released in 2018 July, you put '2018-07', and so on.
- From now on, take note that everytime I mention 'boot.img', for you, it will be 'boot-new.img'(I'll bold each one that you have to change to 'boot-new.img')
Step 1: Unpack the boot.img
Code:
./magiskboot --unpack [COLOR="red"]boot.img[/COLOR]
- Now you get 3 additional files: 1) kernel(not editing this) 2) ramdisk.cpio(gonna edit this) 3) dtb(also editing this)
Step 2: Decompile the dtb
Note: dtb is a BINARY so don't open it with a text editor
Code:
./dtc -I dtb -O dts -o dt.txt dtb
- Another note: It will probably give you a lot of warnings, but it's harmless so just ignore them(I've edited multiple kernels and tested them myself, no bugs so far)
Step 3: Edit the decompiled dts
- Open the created 'dt.txt' with a root text editor(I use Simple Explorer, you can use FX file explorer, or ES file explorer)
- Search for this word:
Code:
/system
. You should find this line:
Code:
dev = "/dev/block/platform/soc/624000.ufshc/by-name/system";
- Remove the entire chunk quoted below:
Code:
system {
compatible = "android,system";
dev = "/dev/block/platform/soc/624000.ufshc/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = "wait";
status = "ok";
};
- Take note that you will have to remove 1 '};'(at the bottom of the above quote), nothing more, nothing less
Step 4: Recompile the dtb
Code:
./dtc -I dts -O dtb -o dtb1 dt.txt
- Again, it might give you a lot of warnings but just ignore them
- Also, rename the new dtb so that magiskboot will compile this new dtb into your modified kernel:
Code:
mv dtb dtb.bak
Code:
mv dtb1 dtb
Step 5: Edit fstab.qcom
- Open 'fstab.qcom' file with a root text editor
- Add the following red line, below the line about '/recovery', above the line about '/data':
Code:
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
[COLOR="red"]/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1,discard wait[/COLOR]
/dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,nodiratime,data_flush wait,check,encryptable=/dev/block/bootdevice/by-name/cryptkey,quota,formattable[/CODE]
- Save the 'fstab.qcom' file
Step 6: Edit init.qcom.rc
- Open 'init.qcom.rc' with a root text editor
- Look for this line:
Code:
mount_all /vendor/etc/fstab.qcom
- Change it into this line:
Code:
mount_all [COLOR="red"]/fstab.qcom[/COLOR]
- Save the 'init.qcom.rc' file
Step 7: Modify kernel ramdisk
-First do:
Code:
./magiskboot --cpio ramdisk.cpio 'add 0640 fstab.qcom fstab.qcom'
- Then do:
Code:
./magiskboot --cpio ramdisk.cpio 'add 0750 init.qcom.rc init.qcom.rc'
Step 8: Create a new, DBP-compatible boot.img
Code:
./magiskboot --repack [COLOR="red"]boot.img[/COLOR]
- You will get a new boot.img, named 'new-boot.img'
Step 9: Install the modified kernel
- First, flash the boot.img(using TWRP or Flashify or another tool)
- Then, delete these 2 files:
Code:
/system/vendor/etc/fstab.qcom
and
Code:
/system/vendor/etc/init/hw/init.qcom.rc
- Note: Make sure you do not reboot after installing boot.img and before deleting the above 2 files
That's it! If you completed all the steps above properly, you should have a working DBP-compatible boot.img that you can put in a flashable zip and patch with DualBoot Patcher
if you don't know how to make a flashable zip to install your modified boot.img, you can use the one I attached below(named 'flashable-kernel-template.zip'). What you have to do is download it, then extract it and make a new zip containing your modified boot.img(basically, create a new zip with the 'META-INF' folder from my zip and your 'boot.img'. The zip automatically deletes
Code:
/system/vendor/etc/fstab.qcom
and
Code:
/system/vendor/etc/init/hw/init.qcom.rc
so you won't need to do this yourself
Note: If you are using my flashable zip, note that you have to rename your modified 'new-boot.img' to 'boot.img' before you compress it into a new flashable zip. Otherwise you will get an error when flashing in recovery
Note 2: Avoid using the flashable zip template for non-modified kernels, it can render your ROM unable to boot!
Method 2: Work in Progress
Method 2: Use my automated script
Please do leave feedback on whether this guide is clear, and also if any of the steps are not working for you! Happy Dualbooting
Sources:
Github Problem Discussion
Problem Solution
Reserved 1
Reserved 2
This is going to be useful. Personally I just want to run custom O as primary and N as a secondary. Mainly because O doesn't have properly working Daydream and for a couple of games that aren't compatible anymore with O. If I'm only trying to attach LOS14.1 as secondary I wouldn't need to patch anything extra O from this guide? Though I can't install the patched ROM it gives an error.
Edit: Oops missed reading from the old guide the primary ROM needs to be stock. I guess I need to patch then. Do I need Linux to do all the editing?
Infy_AsiX said:
This is going to be useful. Personally I just want to run custom O as primary and N as a secondary. Mainly because O doesn't have properly working Daydream and for a couple of games that aren't compatible anymore with O. If I'm only trying to attach LOS14.1 as secondary I wouldn't need to patch anything extra O from this guide? Though I can't install the patched ROM it gives an error.
Edit: Oops missed reading from the old guide the primary ROM needs to be stock. I guess I need to patch then. Do I need Linux to do all the editing?
Click to expand...
Click to collapse
Actually yeah, if your custom O is primary you don't need to patch it(the kernel, I mean)! You still need to patch the ROM so that it doesn't wipe /system when you OTA update your custom O, which means you need an unpatched custom O stock kernel flsshable zip(sorry for the mouthful). But if you don't OTA update then no need The last I tried, using stock ROM as secondary worked for me though? Didn't find any issues. But I might just be lucky, be careful if you try that.
As for your last question, nope all these commands are meant for Terminal Emulator app on an Android phone! Just use the binaries in the attached files.zip, they are all compiled for Android and do not work on Linux desktops. All the best If you need help just ask here!
haoyangw said:
Actually yeah, if your custom O is primary you don't need to patch it(the kernel, I mean)! You still need to patch the ROM so that it doesn't wipe /system when you OTA update your custom O, which means you need an unpatched custom O stock kernel flsshable zip(sorry for the mouthful). But if you don't OTA update then no need The last I tried, using stock ROM as secondary worked for me though? Didn't find any issues. But I might just be lucky, be careful if you try that.
As for your last question, nope all these commands are meant for Terminal Emulator app on an Android phone! Just use the binaries in the attached files.zip, they are all compiled for Android and do not work on Linux desktops. All the best If you need help just ask here!
Click to expand...
Click to collapse
Figured out the error after dual boot patch on LOS14.1 was my mistake in modifying the update-script incorrectly. Nothing to do with N/O/this guide. However now I tried installing it to data slot so dirty flashing and restoring the system partition won't be complicated. The issue is trying to boot primary it vibrates five times at ZTE logo and goes to recovery. Trying to switch to primary in dualbootutilities gives an error something like (from memory) data/media/0/boot.img cannot be found. I guess DBP installed even on data changes the structure of boot and primary on O doesn't fit so can't boot. Just want your advice, it probably means patching O when O is primary is necessary then?
Infy_AsiX said:
Figured out the error after dual boot patch on LOS14.1 was my mistake in modifying the update-script incorrectly. Nothing to do with N/O/this guide. However now I tried installing it to data slot so dirty flashing and restoring the system partition won't be complicated. The issue is trying to boot primary it vibrates five times at ZTE logo and goes to recovery. Trying to switch to primary in dualbootutilities gives an error something like (from memory) data/media/0/boot.img cannot be found. I guess DBP installed even on data changes the structure of boot and primary on O doesn't fit so can't boot. Just want your advice, it probably means patching O when O is primary is necessary then?
Click to expand...
Click to collapse
Oh you mean you flashed custom O, and after that you flashed you N data slot ROM? You're partially right, if you flash your data slot ROM after a non-patched ROM, you'll have the data slot kernel installed i.e. the LOS 14.1 stock kernel, which cannot boot an O ROM. This is because DBP works by storing multiple kernels on your /data/media/0/Multiboot folder, when you 'switch ROMs' actually what happens is DBP flashes the kernel of the ROM you're switching to. Obviously a N kernel cannot boot an O ROM so you cannot boot. Unfortunately, DBP only stores kernels that you flash with patched zips(i.e. if you flash a DBP-patched ROM/kernel zip, only then will DBP store the kernel in its custom Multiboot folder). So because you didn't patch your O primary ROM, its kernel is not saved and you cannot use DBPUtilities. What you can do is either make your own non-patched kernel zip file for your O ROM's stock kernel that you flash everytime you want to switch to primary, or you patch your primary ROM and then you can use DBPUtilities. However B01 kernel has a slightly different precedure for adding DBP support that this guide doesn't explain(I'm sorry) I'll update it when I find time. Don't follow this guide to patch B01! It won't boot, I tried But I know what changes to make when modifying a B01 kernel don't worry
lost this post when I pressed reply. This RR-O Kranoner 20180511 has the fstab.qcom and init.qcom.rc still on root / directory. But patching only DBP patching hellsgate kernel after having LOS14.1 on data slot 1 still has the same issue. Alternatively installing the mod boot.img allows primary to boot but after using DBP utilities to switch to data slot 1 (onscreen says success) the data slot 1 gets stuck on ZTE logo with 5 vibrates instead. Even tried flashing the final Beastmode 14.1 kernel DBP patched to data slot 1 after switched, five vibrates to recovery.
Lost Magisk install after step nine. Just reinstalling it is fine. Did you forget the flashable zip template by the way?
Infy_AsiX said:
lost this post when I pressed reply. This RR-O Kranoner 20180511 has the fstab.qcom and init.qcom.rc still on root / directory. But patching only DBP patching hellsgate kernel after having LOS14.1 on data slot 1 still has the same issue. Alternatively installing the mod boot.img allows primary to boot but after using DBP utilities to switch to data slot 1 (onscreen says success) the data slot 1 gets stuck on ZTE logo with 5 vibrates instead. Even tried flashing the final Beastmode 14.1 kernel DBP patched to data slot 1 after switched, five vibrates to recovery.
Lost Magisk install after step nine. Just reinstalling it is fine. Did you forget the flashable zip template by the way?
Click to expand...
Click to collapse
Oh hmm did you install the right version of Hellsgate for your data slot 1? I think LOS 14.1 needs a very old version(R2.1? I think). I'm not sure about beastmode kernel though, I'm sorry And thanks for the reminder about the zip template, o dear I forgot about it I'll upload it now!
haoyangw said:
Oh hmm did you install the right version of Hellsgate for your data slot 1? I think LOS 14.1 needs a very old version(R2.1? I think). I'm not sure about beastmode kernel though, I'm sorry And thanks for the reminder about the zip template, o dear I forgot about it I'll upload it now!
Click to expand...
Click to collapse
Sorry that post was worded poorly due to rushed recalling. I meant RR-O primary had Hellsgate kernel patched by this guide, which shouldn't be necessary as the two issue ROM files are still on root directory (patching with DBP instead didn't work as I posted before)? Still had to install the mod boot.img to manage to boot but then data slot 1 LOS14.1 won't boot. I was going to try patching with this guide the kernel I intend for LOS14.1 but it's lacking the image.gz-dtb file, I'd only patched it with DBP and that should be enough as it's an N ROM. I guess I could use an older hellsgate suited to N but Beastmode was updated til a little later so I'd prefer it.
Thanks for the zip template. Just checking, it's not actually needed if I can just install the modded boot.img directly in TWRP anyway?
Infy_AsiX said:
Sorry that post was worded poorly due to rushed recalling. I meant RR-O primary had Hellsgate kernel patched by this guide, which shouldn't be necessary as the two issue ROM files are still on root directory (patching with DBP instead didn't work as I posted before)? Still had to install the mod boot.img to manage to boot but then data slot 1 LOS14.1 won't boot. I was going to try patching with this guide the kernel I intend for LOS14.1 but it's lacking the image.gz-dtb file, I'd only patched it with DBP and that should be enough as it's an N ROM. I guess I could use an older hellsgate suited to N but Beastmode was updated til a little later so I'd prefer it.
Thanks for the zip template. Just checking, it's not actually needed if I can just install the modded boot.img directly in TWRP anyway?
Click to expand...
Click to collapse
Oh you're right, if the 2 files are still present you don't have to patch using this guide. Just checking, what version of hellsgate are you using for primary? And yes you're right! N ROMs/kernels don't have to be patched with this guide for DBP I'm not very sure why you can't boot and get the 5 led flashes though
As for your last question, you're right no need this zip in you install using TWRP.
haoyangw said:
Oh you're right, if the 2 files are still present you don't have to patch using this guide. Just checking, what version of hellsgate are you using for primary? And yes you're right! N ROMs/kernels don't have to be patched with this guide for DBP I'm not very sure why you can't boot and get the 5 led flashes though
As for your last question, you're right no need this zip in you install using TWRP.
Click to expand...
Click to collapse
The last B32+10 hellsgate v3.0. Dunno but the guide did manage to allow primary to boot whereas it wouldn't before. Both N hellsgate and beastmode are lacking the image.gz-dtb so I can't patch them. I guess I'll try stock next, I really wanted KCAL to use on Daydream tho ::crying:. If that fails I might try stock N as primary when I'm about to clean flash update O.
Infy_AsiX said:
The last B32+10 hellsgate v3.0. Dunno but the guide did manage to allow primary to boot whereas it wouldn't before. Both N hellsgate and beastmode are lacking the image.gz-dtb so I can't patch them. I guess I'll try stock next, I really wanted KCAL to use on Daydream tho ::crying:. If that fails I might try stock N as primary when I'm about to clean flash update O.
Click to expand...
Click to collapse
Oh dear I'm sorry to hear Just checking are you using LOS 14.1 builds from 2018? I might know what's wrong
haoyangw said:
Oh dear I'm sorry to hear Just checking are you using LOS 14.1 builds from 2018? I might know what's wrong
Click to expand...
Click to collapse
yeah latest official
Sent from my Xperia Z3C using XDA Labs
Infy_AsiX said:
yeah latest official
Click to expand...
Click to collapse
Oh I probably should add this in the OP, Nougat builds with 2018 Security patch level behaves the same way as Oreo ROMs, they also have the init.qcom.rc and fstab.qcom in /system. So I would believe that latest LOS 14.1 also needs the exact same patching method as Oreo(if you can check and confirm this that'll be great). I haven't analysed the Nougat hellsgate and beastmode kernels so I'm not sure how to patch them, I'll let you know asap when I find out something. Sorry about the mistake, I didn't realise there's still a Nougat ROM being regularly updated
Great thanks for the guide and mods. Sorry for the late follow up, it did take awhile to get working. After some confusion and trouble with figuring out how some O ROMs still don't use the early mount method. While N ROM and kernels don't in fact need patching by this guide. Also B12 can't be dual booted with any N ROMs due to bootstack incompatibility (flashing bootstack after a DBP install doesn't seem to take effect to help). My target kernel was Hellsgate 3 for B32+10, which oddly needed fstab.qcom modded per guide but not init.qcom.rc all despite the kernel being for non early mount ROMs. Yes really, after all of that figured out, I got it working!
I'm glad to report it works as intended with the right setup. Now with B12 ROMs currently all affected by the wired audio cpu extra 50% load bug, using B32+10 is a working fallback. The trade off being apparently dual-sim issues (reported by some as present, some not), no GCam HDR support and improper hi-res audio support (though hi-fi DAC was already working and hi-res is debatably useless). In any case if dual booting O with N is desired B32+10 is the latest supported available with above stated differences. This is the only way presently for using a stable-ish O ROM and N's fully functioning Daydream and a couple of AAA games deprecated after N such as Fahrenheit: Indigo Prophecy and Jade Empire. Now I can also play around testing Kranoner's N Vertex EAS supported ROM and kernel.
I've attached the B32+10 Hellsgate 3 modded per this guide using Kranoner's 180511 RR-O for anyone interested in getting it straight working without the mess. A few pointers. The zip still needs needs to be patched to primary/secondary/whatever chosen slot before use. Magisk has to be reinstalled after installing the modified kernel, primary Magisk zip does not need DB patching. Using secondary slot, to fill up like huge wasted space 6GB system partition is smart if you're not installing many apps.
Sent from my ZTE Axon 7 using XDA Labs
////[removed]////
Tried this with my device and it didn't work. Alcatel Tetra with 8.1 Stock. Runs GSI images up to 10. MT6739 SOC. Doesn't boot if you simply remove the entry. Couldn't even change ro to rw and have it boot. I was able to remove verify and that was about it. I was able to get the fstab and init file migrated back to ramdisk and it booted once i modified the init file to point to the right locations. I got DBP supporting my treble device properly. The last step is to figure out how to disable/remove the system early mount. This topic seems dead but I figure it's worth a try. I've been working on this Project on and off for 2+ months now and would really like to hit paydirt.
you do realize this is an Axon7 thread , yes?
mrrocketdog said:
you do realize this is an Axon7 thread , yes?
Click to expand...
Click to collapse
I'm Sure he's not lost .
U realize this is a place Dev's take ideas from each other and try to port it to other devices Right?
PHP:
/*
* I'm not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed (like it did for me...).
* Please do some research if you have any concerns about features included in the products you find here before flashing it!
* YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you.
* Your warranty will be void if you tamper with any part of your device / software.
* Same statement for XDA.
*/
FEATURES
. The first, the one and the only custom vendor for dynamic partition in the world : I challenge you all to show me who did it before !
. If you find any custom rom with similar work since the first release of this one : it is just a copied and a stolen work [fake Google roms +++] !!!
. Compatible with all regions / basebands / firmwares / device variants
. Works with All AOSP/CAF based ROMs [10] & [11], Experimental, Official & Unofficial [TESTED]
. May works on fake Google roms but i don't take any responsibility
. Mount RO/RW available with no bootloop after reboot ! [Magisk/SU required]
. SafetyNet passed
. Full test passed : audio, ril, wifi, bt, fm radio, camera, sensors, fp scanner, nfc, ...
. All known hardware issues on custom roms are fixed : camera, wifi, bt, hdr playback, chrome ... and overheating !
. Custom Kernel with stock zImage [untouched +++]
IMPORTANT !
. NO firmware change is needed from the user side, so don't repeat this question many times ... just read up again !
. Formatting /data is required when you flash this vendor the first time +++
. Never go back to the previous versions due to the possible build.fingerprint change [Old releases are automatically removed] +++
. Dirty Update : always delete with file/root explorer or in TWRP this folder :
/data/property and reboot
You must delete these files & folders in /product partition from your custom rom
[File/Root explorer needed] :
/product/vendor_overlay/29/etc/audio
/product/vendor_overlay/29/etc/audio_policy_configuration.xml
/product/vendor_overlay/29/etc/audio_policy_engine_configuration.xml
/product/vendor_overlay/29/lib/soundfx
/product/vendor_overlay/29/lib64/soundfx
&
/product/vendor_overlay/29/etc/wifi
/product/vendor_overlay/29/overlay
& finally
/product/vendor_overlay/29/etc/qdcm_calib_data_nt36672c_huaxing_fhd_video_mode_dsi_panel.xml
/product/vendor_overlay/29/etc/qdcm_calib_data_nt36672c_tianma_fhd_video_mode_dsi_panel.xml
Already included in this vendor ... and since i'm the original author !
[ OPTIONAL ]
If you have the madness and the paranoia with security like Google, you can still relock /vendor again to the stock RO state ... But you will not be able to mount /vendor RW again even with root until you reflash the provided vendor.zip again !
How to [terminal or adb shell] :
su
tune2fs -O verity /dev/block/dm-1
*******
!!!
MIUI Users : sorry for you, but this is for custom ROMS " ONLY "
TROLLS & NOOBS, stay away ... Please !
!!!
Prerequisite:
POCO X3 NFC = surya
POCO X3 [no NFC] = karna
No matter where you live : india, china, russia, europe, usa or africa ... !
Kernel Source [Prebuilt] : Here
Created : 2021-02-27
Latest Update : 2021-03-21
DOWNLOAD
RESERVED for "Changelog"
Update : [2021-03-21] Highly Recommended !
- overlay folder [/vendor] : secure & total remove ... R.I.P forever !
You can now remove it from here too ... with no issue :
/product/vendor_overlay/29/overlay
[As always : no /data formatting is required if done in the previous builds !]
Update : [2021-03-20]
fix compatibility with all custom roms [10] & [11] +++ :
- build : preserve AVB structure [R/W still available in root mode]
- tune2fs : restore some stock feature flags [dir_index, huge_file, extra_isize]
- fstab [kernel & vendor] : small update
- vendor selinux : property_contexts fix
- build.prop : clean-up
Update : [2021-03-18]
clean-up & rework from scratch :
. all audio config [over 20 files +++]
. all media_codecs config
. new mixer_paths
[=> Exclusive]
- true resampling fix : r.i.p audio crackling and all audio issues in UX, Dialer, emulators ... etc [forever]
- improve audio & camera recording
- audio/video playback [Speaker, Headphones & BT] : Hi-Fi quality, loud & noiseless
[but first, you must delete these files with your File/Root Explorer:
/product/vendor_overlay/29/etc/audio
/product/vendor_overlay/29/etc/audio_policy_configuration.xml
/product/vendor_overlay/29/etc/audio_policy_engine_configuration.xml
/product/vendor_overlay/29/lib/soundfx
/product/vendor_overlay/29/lib64/soundfx]
Update : [2021-03-12]
- move to global 12.0.8.0 as firmware base [boot & vendor]
- ramdisk :
. disable mi_thermald and re-enable again thermal-engine
[on all custom roms : mi_thermald breaks the proximity sensor & suspend service in deepsleep => avoid hand wave gesture & AOD to work properly !]
. clean up & update
- vendor_selinux : add more camera permissions in property_contexts
- media_codecs : remove unused .xml
- ueventd.rc : rework from scratch
Update : [2021-03-07]
- ramdisk :
. update cpuset & schedtune settings
. improve memory multitasking
. make that "damn" fingerprint truly responsive
. enable UFS powersaving
. some clean-up & disable MIUI audio service
- media_profiles :
. rework from scratch
. add slow motion profile support : up to 1080p/120 fps & 720p/960 fps
. front video camera : add 4K support
- build.prop :
=> update parameters for : camera, ril, performance, playback ... and more
Update : [2021-03-05]
- rework from scratch : init.qcom.sh & init.qcom.post_boot.sh
- ramdisk : clean-up and add init.qcom.power.rc
. fix CPU instability : set 300 mHz as CPU minimum frequency for all cores / update schedutil governor parameters
. cpu_boost : improve touch responsiveness
. add built-in display power saving [for both huaxing & tianma panels]
- vendor permissions : rebuild from scratch / fix wronlgy settled paths (by Xiaomi) in some qti.xml
- camera : rework from scratch ISO/lowlight config
- remove dummy hbtp folder ... since there is no binary to load or device specific config
- targetconfig : update CoreCtlCpu to [0,6]
- build.prop : clean up and move NFC parameters to build_surya.prop
- [Bonus] : Wi-Fi signal improved (x2) !!!
. 2.4 Ghz : 144 => 300
. 5 GHz : 433 => 866
[but first, you must delete this folder, with your File/Root Explorer :
/product/vendor_overlay/29/etc/wifi ]
Update : [2021-03-01]
- update msm_irqbalance.conf
- update audio_effects.conf & remove audio_effects.xml
- universal vbmeta & vbmeta_system added
Update : [2021-02-27]
- initial release
- rework all build.prop (vendor & odm) from scratch
- debloated from unused MIUI folders, files & configs
- Kernel :
. enforcing selinux by default
. workqueue enabled in cmdline => better dynamic refresh rate handling by the CPU & stellar deep-sleep
. fstab reworked from scratch
the image you made is for enable rw or not?
my phone is poco x3 nfc surya
janhammer504 said:
To make things clear :
POCO X3 NFC = surya
POCO X3 (no NFC) = karna
No matter where you live (india, china, russia, europe, usa or africa) ... Choose the right vendor.img for your device !
[Both images were tested by me]
Click to expand...
Click to collapse
please share the surya image
aallii2 said:
please share the surya image
Click to expand...
Click to collapse
check the DOWNLOAD link up !
janhammer504 said:
check the DOWNLOAD link up !
Click to expand...
Click to collapse
tnx bro i'm downloading n i'll test
its not working after restart didnt boot n just go to recovry
aallii2 said:
its not working after restart didnt boot n just go to recovry
Click to expand...
Click to collapse
Wich firmware version you had just before flashing ???
The vendor provided must match the firmware version that you have !!!
janhammer504 said:
PREREQUISITE
- adb enabled (developer options)
- root (Magisk/SU)
- adb for Windows (Minimal ADB and Fastboot, provided)
- USB cable always connected
LIVE Flashing :
adb shell
su
dd if=/sdcard/vendor.img of=/dev/block/dm-1
View attachment 5232189
Reboot your phone right away ... then use your File/Root Explorer to test the mount RO/RW option and reboot again to check that there is no bootloop !
(Optional)
If you have the madness and the paranoia with security like Google, you can still re-enable AVB/Verity again ... But you will not be able to mount /vendor RW again even with root until you reflash the provided vendor.img again !
tune2fs -O verity /dev/block/dm-1
Check the full tutorial here to build your own custom vendor ... if you want !
DOWNLOAD
Click to expand...
Click to collapse
... so, I can confirm that this is indeed working nicely, flashed RW vendor for Surya, just for the sake of the functionality, because I'm not sure about benefits I can get from writeable vendor (forgive my ignorance)...
... Thank you very much for your hard work...
just FYI I did flash it in Ofox recovery in built-in terminal, and also directly from running Android via Termux, so you don't need PC for it, just saying...
jeryll said:
... so, I can confirm that this is indeed working nicely, flashed RW vendor for Surya, just for the sake of the functionality, because I'm not sure about benefits I can get from writeable vendor (forgive my ignorance)...
... Thank you very much for your hard work...
just FYI I did flash it in Ofox recovery in built-in terminal, and also directly from running Android via Termux, so you don't need PC for it, just saying...
Click to expand...
Click to collapse
i use adb shell because terminal is too small for me, and for making tutorial.
the benefit ??? well there are a bunch of fixes to do in /vendor... check here for example
(the images i provided are clean with no modification, so i let developers or users doing their own modifications)
janhammer504 said:
Wich firmware version you had just before flashing ???
The vendor provided must match the firmware version that you have !!!
Click to expand...
Click to collapse
india 12.0.9
magisk 21.4
jeryll said:
... so, I can confirm that this is indeed working nicely, flashed RW vendor for Surya, just for the sake of the functionality, because I'm not sure about benefits I can get from writeable vendor (forgive my ignorance)...
... Thank you very much for your hard work...
just FYI I did flash it in Ofox recovery in built-in terminal, and also directly from running Android via Termux, so you don't need PC for it, just saying...
Click to expand...
Click to collapse
hey bro how you flashed in orangefox?
i tried but this happened:
sh: adb: command not found
aallii2 said:
hey bro how you flashed in orangefox?
i tried but this happened:
sh: adb: command not found
Click to expand...
Click to collapse
in recovery adb not needed, just use
dd if=/sdcard/vendor.img of=/dev/block/dm-1
now i cant install any rom :
updater process ended with error 7
pls help
aallii2 said:
now i cant install any rom :
updater process ended with error 7
pls help
Click to expand...
Click to collapse
O.M.G
it looks like you never used terminal
this is not a flashable file, it's a command line.
open terminal in your recovery to do that.
or use adb shell
janhammer504 said:
O.M.G
it looks like you never used terminal
this is not a flashable file, it's a command line.
open terminal in your recovery to do that.
or use adb shell
Click to expand...
Click to collapse
jeryll said:
in recovery adb not needed, just use
dd if=/sdcard/vendor.img of=/dev/block/dm-1
Click to expand...
Click to collapse
Now this came:
write error: Operation not permitted
jeryll said:
in recovery adb not needed, just use
dd if=/sdcard/vendor.img of=/dev/block/dm-1
Click to expand...
Click to collapse
Now this came:
write error: Operation not permitted
Use Minimal ADB and Fastboot.zip, it's the simplest and the fastest way.
Unzip and click on Minimal ADB and Fastboot.exe
type :
adb shell
su
It works like terminal in Windows. You can't go wrong !
Follow the instructions (1 post) !
aallii2 said:
india 12.0.9
magisk 21.4
Click to expand...
Click to collapse
wtf man, you should pick vendor.img from karna folder not surya !
janhammer504 said:
Use Minimal ADB and Fastboot.zip, it's the simplest and the fastest way.
Unzip and click on Minimal ADB and Fastboot.exe
type :
adb shell
su
It works like terminal in Windows. You can't go wrong !
Follow the instructions (1 post) !
Click to expand...
Click to collapse
i installed 12.0.7.0 global with magisk 22.0 then flashed vendor.img v12.0.7.0 but when restarted it stucked n i pressed power .phone boot but root explorer can't mount rw n just added shell in magisk
Hello! After many years without development, today I'm sharing a new kernel with ZRAM and swap support for this device.
The kernel is based upon weritos' Cyanogenmod 13 kernel source code and should work on both rev. 1 and rev. 2 devices.
Installation procedure is as follows:
1. Download the latest TWRP, kernel build and modules.
2. Install the kernel and TWRP from ADB shell (the device must be booted into Android) or a terminal app:
Bash:
su (from a terminal app; not required from ADB shell)
cat </path/to/TWRP_image> > /dev/block/mmcblk0p13
cat </path/to/kernel_image> > /dev/block/mmcblk0p8
reboot recovery
3. Install the kernel modules:
Bash:
mount /dev/block/mmcblk0p21 /system
unzip -o </path/to/modules.zip> -d /system/lib/modules
4. Done! Reboot into Android.
NOTE: The < and > symbols should never be issued within the commands!
Version Information
Status: Beta (Bluetooth, camera recording and screen recording do not work.)
Created: 2021-05-11
Last Updated: 2021-05-12 (Import and enable Ultra KSM driver.)
I still have this device, will this kernel with twrp installed fix the crashing problems in cm 13, thanks for your effort
@Krush206 it's saying can't open zip file on the last step, how to fix??
SerjSX said:
@Krush206 it's saying can't open zip file on the last step, how to fix??
Click to expand...
Click to collapse
fixed it, I was supposed to write:
Code:
unzip -o /sdcard/modules.zip -d /system/lib/modules
instead of:
Code:
unzip -o /storage/emulated/0/modules.zip -d /system/lib/modules
in TWRP terminal.
However, how do I know if it successfully worked?? My phone booted up normally but no sign that shows if it worked 100% or not. @Krush206
not working
Turkish developers said:
I still have this device, will this kernel with twrp installed fix the crashing problems in cm 13, thanks for your effort
Click to expand...
Click to collapse
This is the reason I exported the ZRAM driver to the kernel. However, I have noticed it breaks Wi-Fi, so I will have to fix it for proper testing.
SerjSX said:
However, how do I know if it successfully worked?? My phone booted up normally but no sign that shows if it worked 100% or not.
Click to expand...
Click to collapse
Either install Termux (or a terminal app of your choice) or use ADB and issue the free -m command.
Krush206 said:
This is the reason I exported the ZRAM driver to the kernel. However, I have noticed it breaks Wi-Fi, so I will have to fix it for proper testing.
Either install Termux (or a terminal app of your choice) or use ADB and issue the free -m command.
Click to expand...
Click to collapse
Hi, thanks for your response. Just did i and looks like it worked, 59 total swap, used 58, and free 541.
Are you sure you checked the correct line? The total should be 255 (256), not 59.
can you compile a kernel for overclocking in stock room or cm 11 please our quttro needs it now
overclock kernel pls
Sorry for the delay. The battery of my device has swollen, so I cannot really check whether overclocking is possible or not.
However, though overclocking may be possible, it may cause system instability and crashes.
I could probably have a look at the code and see how to get it done, but I cannot post results and would not recommend overclocking.
The battery in my device was swollen, I found a battery and the best software for this device is 4.1.2. I want to try overclocking for this version. Bide 4.1.2 also does not play hd videos in the original software. Is there a code or a mod for this?
1.5 Ghz overclock pls
any update?
If you two, @Fever070720, @Turkish developers, are still looking into overclocking, please, send the output of the following command:
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq