Related
I've looked in quite a few threads, including the custom mix ROMs. What I want to know is who has knowledge of how this thing boots? I've noticed on the 2 droids I've messed with you upgrade them with an update.zip and basically an empty file on the SD card.
I'm guessing the update.zip contains a squashfs or something similar along with a kernel, but I don't know for sure. Who can explain exactly what happens on boot, what devices it looks for filesystems/loop filesystems on etc?
muqali said:
I've looked in quite a few threads, including the custom mix ROMs. What I want to know is who has knowledge of how this thing boots? I've noticed on the 2 droids I've messed with you upgrade them with an update.zip and basically an empty file on the SD card.
I'm guessing the update.zip contains a squashfs or something similar along with a kernel, but I don't know for sure. Who can explain exactly what happens on boot, what devices it looks for filesystems/loop filesystems on etc?
Click to expand...
Click to collapse
The best way to learn about this stuff is by tearing down existing .zip flashers and reading about how boot.img files are built and trying to build your own.
The boot process is controlled by the bootloader (the thing that displays the Viewsonic birds logo and decides whether you are trying to boot into recovery, APX mode, or a standard boot).
The ZIP files that you flash actually run a script that writes an .IMG file contents to one or more partitions.
Most ROM flashers have two images they flash - a boot.img and a system.img. The system.img is a filesystem image of the system partition. The boot.img consists of two parts - a kernel and a ramdisk image (well, and a boot header). The kernel is the Linux kernel that's been compiled to provide all the core system functionality for Android. The ramdisk image (which is a GZIPed CPIO file) contains the init.rc file that does all the initialization, mounting of the main filesystem images and so on.
Once everything is mounted and configured, the Android ROM itself boots up.
I recommend reading this page for more info:
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
Hope that helps!
That's more or less what I wanted, but for our device do you know the exact boot order? Mtd partitions then SD sd2 and maybe a USB disk? I'd really like to put a custom Roman on the sd2 and leave the rom factory.
muqali said:
That's more or less what I wanted, but for our device do you know the exact boot order? Mtd partitions then SD sd2 and maybe a USB disk? I'd really like to put a custom Roman on the sd2 and leave the rom factory.
Click to expand...
Click to collapse
I *think* (could be wrong) that both the externalSD (/sdcard2) and the USBDISK (/usbdisk) are mounted dynamically, via vold.
At least that's the way I understood it...
There's a thread here in this forum, about (dual) booting Ubuntu, that does something along the lines of what you're asking about...
Jim
rcgabriel said:
The best way to learn about this stuff is by tearing down existing .zip flashers and reading about how boot.img files are built and trying to build your own.
The boot process is controlled by the bootloader (the thing that displays the Viewsonic birds logo and decides whether you are trying to boot into recovery, APX mode, or a standard boot).
The ZIP files that you flash actually run a script that writes an .IMG file contents to one or more partitions.
Most ROM flashers have two images they flash - a boot.img and a system.img. The system.img is a filesystem image of the system partition. The boot.img consists of two parts - a kernel and a ramdisk image (well, and a boot header). The kernel is the Linux kernel that's been compiled to provide all the core system functionality for Android. The ramdisk image (which is a GZIPed CPIO file) contains the init.rc file that does all the initialization, mounting of the main filesystem images and so on.
Once everything is mounted and configured, the Android ROM itself boots up.
I recommend reading this page for more info:
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
Hope that helps!
Click to expand...
Click to collapse
rcgabriel,
When you do an nvflash (ala bekit's), does the contents of bootloader.bin end up getting stored permanently on the Gtab's internal SDcard? And, whenever the Gtab is booted, the code in that bootloader is the first code that runs, deciding, as you said, whether or not to do a recovery or execute the boot.img?
Thanks,
Jim
Isn't the bootloader on one of the MTD partitions and not the sdcard? What I'm having the hardest time wrapping my head around is how this system boots in comparison to an x86 Debian 5.0 system.
The basic picture I have is that there is the rom/flash portion of the boot process and then the kernel and real filesystem are loaded and mounted. But using these custom roms, is it changing the flash and bootloader or just the kernel and OS? Meaning where exactly is the first thing the CPU hits to boot? Flash MTD partitions for the bootloader. Then is the kernel on the mtd partitions or on some separate partition on sdcard.
Since you can basically stick 2 files on an external uSD and send it into upgrade mode, can't you customize the filesystem contained in a zip and then stick it in and have a custom system with whatever you wanted added or removed?
Hello guys. This my dual booting project for our amazing ZTE BLADE!
What is this?
>This mod works on the basis of two scripts which are to be executed in the terminal emulator or script manager and a modified boot.img to boot the rom from sdcard instead of NAND.
FOR ADVANCED USERS ONLY!!!
I WILL NOT BE RESPONSIBLE FOR ANY BRICKED DEVICES, DAMAGED SDCARDS ETC.
DO IT AT YOUR OWN RISK!!!
It is in alpha stage, so lot of work is still needed to make it more safer and convenient.
I will add this mod for more ROMS like CM10, Paranoidandroid etc.
Downloads:
Cyanogenmod9(KonstaKang)
Boot.img - Download
Updater-script - Download
Cyanogenmod10
Boot.img - Download
Updater-script - Download
Gapps::
Jelly Bean Gapps Updater-script - Download
Tool:
Modify-Boot - Download
Now no need to wait for me to mod your boot.img.Mod your boot image for dual boot with this tool!!!
Guide for the tools is on the second post.
Thanks go to:
Sulthekk for guiding me towards right way.
SNAP.iT for giving me some mounting ideas.
All the people who have helped me(can't remember all names ).
And the big community to test it for me.
SCROLL DOWN to 2nd POST FOR THE WHOLE GUIDE...
GUIDE
So here is the full guide:
PARTITIONING SD CARD TO MOUNT /SYSTEM AND /DATA
Take the backup of your sd card data first
Make sure you have partitioned your sdcard before.
Connect your phone to your computer and mount usb storage.
Download the EASEUS partition manager from here.
Open partition manager and delete all partitions of your sdcard.
Right click on the 'unallocated' and click create partition.Don't label it select partition type as primary and filesystem as FAT32 and enter the partition size bot remember this will hold your photos,media etc,you should leave about 600 mb space free click OK.
right click again and create partition as primary and filesystem as EXT3 and size of 250 mb click OK.
Repeat above step again.
Apply all the changes by cliking on apply tap and you have succesfully partitioned your sdcard for dual booting.
GUIDE FOR THE TOOL
Extract the downloaded zip file extract to any concinient directory.Here I will explain the guide as a cygwin user.
Extract the zip to directory say c:\
The extracted folder will look like 'Modify-boot".Now open the terminal or cygwin bash and mount the directory by typing
cd c:\modify-boot
Click to expand...
Click to collapse
Now drop your boot.img in the WORKING_313 folder and execute the script by typing
./modify-boot.txt
Click to expand...
Click to collapse
It will mod your boot.img for dual booting.Output boot.img will be in the WORKING_313 folder as boot.img.
MODDING THE ROM FOR DUAL BOOTING
Open the ROM.zip.
Get the modded boot.img from the tool and replace with the original one.
Now download the attached updater-script from 1st post and replace the orignal one with this modded one(path to udater-script META-INF/com/google/android).
Zip up the rom.
ADAPTING A ROM TO INSTALL IN THE SD CARD
If you want to mod your own rom other than the posted here,then you have to mod the updater-script in the rom
For that open your rom zip go to /META-INF/com/google/android and open the updater script
Now replace every line looking like following as;
From
mount("yaffs2", "MTD", "system", "/system");
Click to expand...
Click to collapse
TO
run_program("/sbin/mount", "dev/block/mmcblk0p3", "/system");
Click to expand...
Click to collapse
and this one
From
format("yaffs2", "MTD", "system", "0");
Click to expand...
Click to collapse
TO
run_program("/sbin/mkfs.ext2", "dev/block/mmcblk0p3");
Click to expand...
Click to collapse
and add the following line next to the line written above
run_program("/sbin/mkfs.ext2", "dev/block/mmcblk0p2");
Click to expand...
Click to collapse
Save the file and zip up the rom.Your rom is ready to install to SD CARD!!!!
FLASHING GUIDE
Remember, before partitioning the sd card you should wipe data and cache in the recovery during NAND rom installation or it will erase the partitions created before.
First flash the rom you want to install in the NAND,do not wipe data or anything do it before partitioning.
Then install the rom without wiping data or anything.
reboot the system. You will be in your sd card rom!!!
Now create folder in the sd card as /sdcard/multiboot.
Take both boot.img from NAND rom and cm9 rom rename the cm9 boot.img to bootsd.img and keep the NAND boot.img as it is.
Copy both imgs to multiboot folder.
Now download attached(or use above link for unregistered users) bootnand.sh and bootsd.sh and place at the root of the sdcard.
Open terminal emulator,type su and execute bootsd.sh to boot into sd card rom or execute bootnand.sh to boot into NAND rom.
THAT'S IT . ENJOY DUAL BOOT ON YOUR ZTE BLADE!!!!
[email protected] said:
So here is the full guide:
PARTITIONING SD CARD TO MOUNT /SYSTEM AND /DATA
Take the backup of your sd card data first
Make sure you have partitioned your sdcard before.
Connect your phone to your computer and mount usb storage.
Download the EASEUS partition manager from here.
Open partition manager and delete all partitions of your sdcard.
Right click on the 'unallocated' and click create partition.Don't label it select partition type as primary and filesystem as FAT32 and enter the partition size bot remember this will hold your photos,media etc,you should leave about 600 mb space free click OK.
right click again and create partition as primary and filesystem as EXT3 and size of 250 mb click OK.
Repeat above step again.
Apply all the changes by cliking on apply tap and you have succesfully partitioned your sdcard for dual booting.
MODDING THE CM9 ROM FOR DUAL BOOTING
Open the konstakang.zip (currently only supported rom, will add more soon).
Download modded boot.img from here extract it and rename the .img file to boot.img.
Delete the boot.img from the cm9 rom and put the downloaded one.
Now download the attached updater-script (remove .txt) or from here (for unregistered users)and replace the orignal one with this modded one(path to udater-script META-INF/com/google/android).
Zip up the rom.
FLASHING GUIDE
Remember, before partitioning the sd card you should wipe data and cache in the recovery during NAND rom installation or it will erase the partitions created before.
First flash the rom you want to install in the NAND,do not wipe data or anything do it before partitioning.
Then install the cm9 rom without wiping data or anything.
reboot the system. You will be in your sd card rom!!!
Now create folder in the sd card as /sdcard/multiboot.
Take both boot.img from NAND rom and cm9 rom rename the cm9 boot.img to bootsd.img and keep the NAND boot.img as it is.
Copy both imgs to multiboot folder.
Now download attached(or use above link for unregistered users) bootnand.sh and bootsd.sh and place at the root of the sdcard.
Open terminal emulator,type su and execute bootsd.sh to boot into sd card rom or execute bootnand.sh to boot into NAND rom.
THAT'S IT . ENJOY DUAL BOOT ON YOUR ZTE BLADE!!!!
Click to expand...
Click to collapse
hi, thank u ....... the link for 'boot.img' is not working. Pls fix it
Can't thank you enough for this,if it works.. Great stuff btw.. At least,you were the first one that tried and got it working..
Sent from my LT26i using xda premium
karthiknr said:
Can't thank you enough for this,if it works.. Great stuff btw.. At least,you were the first one that tried and got it working..
Sent from my LT26i using xda premium
Click to expand...
Click to collapse
+1
We've been waiting on this ever since karthik and wbaws discussion made it sound impossible
Just reported as a news tip for the portal
Thanks!!
New update coming for tool soon!!!
Its a great achievement .. future updates will be easy to go on for basic user. Btw thanks man. .
Sent from my Blade using Tapatalk 2
I've found that making four partitions and installing /data to mmcblk0p4 and /system to mmcblk0p3 helps with certain roms that have S2E configured.
I'm also trying to get it to boot two mounted loop filesystems instead, i installed SSRLS7 and GB-Gapps as per your instructions in the OP (just changed the partitions for installation and the updater-script and init.rc so that it would work) did a dd of the entire partitions to files on the sdcard and edited the init.rc like this:
Code:
on fs
# mount mtd partitions
chmod 777 /sbin/busybox
symlink /sbin/busybox /sbin/losetup
mount vfat /dev/block/mmcblk0p1 /mnt/sdcard
losetup /dev/block/loop0 /mnt/sdcard/multiboot/snow/system.img
losetup /dev/block/loop1 /mnt/sdcard/multiboot/snow/data.img
mount ext2 /dev/block/loop0 /system
mount ext2 /dev/block/loop1 /data
mount yaffs2 [email protected] /cache nosuid nodev
on post-fs
# ZTE_JCD_CTSCONFIG, 2011.05.03, BEGIN
mkdir /system/lost+found 0770
chmod 0770 /system/lost+found
# ZTE_JCD_CTSCONFIG 2011.05.03, END
# once system is setup, no need to modify /system , ZTE_BOOT_LIWEI_20110331
mount ext2 /dev/block/loop0 /system ro remount
I also copied busybox to /sbin in the ramdisk before letting the process finish and make bootsd.img
It doesn't work though and i have no idea why not. I've mounted the system.img and data.img files on the phone via the terminal to test if the procedure works and it does mount them just fine.
If anyone has any clue why this doesn't work then please tell me.
Dual boot on ideos x6
[email protected] said:
hello guys. This my dual booting project for our amazing zte blade!
What is this?
>this mod works on the basis of two scripts which are to be executed in the terminal emulator or script manager and a modified boot.img to boot the rom from sdcard instead of nand.
For advanced users only!!!
I will not be responsible for any bricked devices, damaged sdcards etc.
Do it at your own risk!!!
It is in alpha stage, so lot of work is still needed to make it more safer and convenient.
I will add this mod for more roms like cm10, paranoidandroid etc.
Downloads:
cyanogenmod9(konstakang)
boot.img - download
updater-script - download
cyanogenmod10
boot.img - download
updater-script - download
gapps::
Jelly bean gapps updater-script - download
tool:
Modify-boot - download
now no need to wait for me to mod your boot.img.mod your boot image for dual boot with this tool!!!
Guide for the tools is on the second post.
Thanks go to:
Sulthekk for guiding me towards right way.
Snap.it for giving me some mounting ideas.
All the people who have helped me(can't remember all names ).
And the big community to test it for me.
Scroll down to 2nd post for the whole guide...
Click to expand...
Click to collapse
dear friends is it possible on huawei ideos x6?
Plz reply
vimi93 said:
dear friends is it possible on huawei ideos x6?
Plz reply
Click to expand...
Click to collapse
Seriously? Dude can't u see this is the Blade forum. It will not work on any other phones
QuantumFoam said:
Seriously? Dude can't u see this is the Blade forum. It will not work on any other phones
Click to expand...
Click to collapse
Actually, it'll work on any phone that runs android and has a working recovery that can be used to install boot.img and system files via an updater script.
It works fine on my Mini and Huawai G300.
Jinxxed said:
Actually, it'll work on any phone that runs android and has a working recovery that can be used to install boot.img and system files via an updater script.
It works fine on my Mini and Huawai G300.
Click to expand...
Click to collapse
I stand corrected.
---------- Post added at 01:42 AM ---------- Previous post was at 01:37 AM ----------
Oh and btw, [email protected], check the xda portal. You're on the front page.
Congratulations
Jinxxed said:
Actually, it'll work on any phone that runs android and has a working recovery that can be used to install boot.img and system files via an updater script.
It works fine on my Mini and Huawai G300.
Click to expand...
Click to collapse
Will try it out on my LG P500 then!
thanks
Jinxxed said:
Actually, it'll work on any phone that runs android and has a working recovery that can be used to install boot.img and system files via an updater script.
It works fine on my Mini and Huawai G300.
Click to expand...
Click to collapse
thank you for the reply
This is a simple script that will convert any grouper EXT4 ROM to F2FS. The script will simply swap out boot.img (i.e. the kernel) and edit the updater-script to replace EXT4-specific lines with F2FS-specific lines. The included boot.img may be replaced with any grouper F2FS boot.img.
NOTE: If you have not reformatted your device for F2FS, you're not ready to use this tool yet. This tool will make a ROM F2FS-compatible, it will not convert your device to F2FS. To reformat your device to F2FS, start here: http://forum.xda-developers.com/showthread.php?t=2678140
Windows instructions:
1) Unzip the windows zip to any empty folder.
2) Place your EXT4 ROM zip in the same folder, make sure there are no other zips in this folder.
3) Run EXT4_to_F2FS_grouper.bat.
Linux / Mac instructions:
1) Ensure you have sed, zip, and unzip installed. And note that this is a bash script.
2) Unzip the linux_mac zip to any empty folder.
3) Place your EXT4 ROM zip in the same folder, make sure there are no other zips in this folder.
4) cd into your converter folder.
5) Run "chmod +x EXT4_to_F2FS_grouper.sh". This only needs to be done once.
6) Run "./EXT4_to_F2FS_grouper.sh".
Android instructions:
1) Ensure you have a zip binary, likely located at /system/xbin. If not, flash zip_binary_flashable.zip from recovery.
2) Ensure you have busybox. Stericson's 1.22.1 definitely works: https://play.google.com/store/apps/details?id=stericson.busybox. Others may not, try Stericson's before reporting problems.
3) Unzip the android zip to any empty folder on the SD card.
4) Place your EXT4 ROM zip in the same folder, make sure there are no other zips in this folder.
5) Open an Android terminal
6) Run "su" (there's problems with unzipping when not root for some reason)
7) cd into your converter folder
8) Run "sh f2fs.sh"
Mediafire Downloads: https://www.mediafire.com/folder/k70lnuoqldzxr/EXT4_to_F2FS_grouper
Google Drive mirror: https://drive.google.com/folderview?id=0B_Yk7pLJ4-VhcWZLS0p1T2lWeUU&usp=sharing
Changelog:
7/11/14: Very minor change to Linux tool to make it compatible with the Mac terminal.
7/8/14: Windows, Linux, & Android tools handle /data mounting (for SlimKat).
7/1/14: Initial release, included boot.img is stock LiquidSmooth 06-27-2014 recompiled for F2FS.
Credits:
@NABENDU1 for the original grouper F2FS ROM conversion tool that inspired this: http://forum.xda-developers.com/showthread.php?t=2731666
@johansenmo for the assistance in making the Linux tool Mac compatible.
@legolas93 for the F2FS work: http://forum.xda-developers.com/showthread.php?t=2678140
My other projects:
LiquidSmooth-OFFICIAL for maguro: http://forum.xda-developers.com/gal...m-official-liquidsmooth-kitkat-4-4-3-t2667078
LiquidSmooth-OFFICIAL for toro: http://forum.xda-developers.com/gal...m-liquidsmooth-v3-1-kitkat4-4-3-toro-t2575560
LiquidSmooth-OFFICIAL for toroplus: http://forum.xda-developers.com/gal...m-official-liquidsmooth-kitkat-4-4-3-t2672510
LiquidSmooth-UNOFFICIAL for maguro: http://forum.xda-developers.com/gal...aguro-toro-t2793275/post53641446#post53641446
LiquidSmooth-UNOFFICIAL for toro: http://forum.xda-developers.com/galaxy-nexus/verizon-develop/rom-liquidsmooth-v3-1-toro-t2793284
LiquidSmooth-UNOFFICIAL for toroplus: http://forum.xda-developers.com/galaxy-nexus/sprint-develop/rom-liquidsmooth-v3-1-toroplus-t2793281
LiquidSmooth-UNOFFICIAL for grouper: http://forum.xda-developers.com/showthread.php?t=2709385
F2FS Converter tools for Galaxy Nexus ROMs: http://forum.xda-developers.com/galaxy-nexus/development/tool-galaxy-nexus-ext4-to-f2fs-rom-t2794702
Ting APNs to fix LTE: http://forum.xda-developers.com/galaxy-nexus/general/ting-flashable-zip-fixed-lte-android-4-t2428999
Verizon APNs to fix MMS: http://forum.xda-developers.com/android/software/tool-verizon-mms-apn-patch-t2833914
Click to expand...
Click to collapse
[poo]
Has anyone tried this yet? Away from pc so can't give insight but looks promising
Sent from my HTC One XL using XDA Premium 4 mobile app
pjcanales said:
Has anyone tried this yet? Away from pc so can't give insight but looks promising
Sent from my HTC One XL using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Lots of people have been using my Galaxy Nexus version and the code is practically identical. http://forum.xda-developers.com/galaxy-nexus/development/tool-galaxy-nexus-ext4-to-f2fs-rom-t2794702
[poo]
OP updated with 7/8 release of Windows, Linux, and Android tools.
[poo]
F2fs really makes the difference...should be the default partition for everyone
Sent from my Nexus 7 using XDA Free mobile app
I can't get the converted CM11 nightly for 7 July to boot on my Nexus 7, it stuck on CM boot animation looping.
This is what I did:
1. flash TWRP 2.7.1.1 with F2FS support
2. change file system for /system, /cache and /data to f2fs
3. reboot into recovery again
4. flash the converted ROM and reboot system
Did I do something wrong?
thedesp said:
I can't get the converted CM11 nightly for 7 July to boot on my Nexus 7, it stuck on CM boot animation looping.
This is what I did:
1. flash TWRP 2.7.1.1 with F2FS support
2. change file system for /system, /cache and /data to f2fs
3. reboot into recovery again
4. flash the converted ROM and reboot system
Did I do something wrong?
Click to expand...
Click to collapse
Looks like you did everything right to me. Normally any issues with the ROM expecting EXT4 and getting F2FS (or vice versa) or the boot.img result in getting stuck at the Google logo. Since you've actually progressed to the CM boot animation, something else is going on. I ran CM11 7/7 through my Windows tool and everything looks like it should. Have you tried installing a different F2FS kernel immediately after flashing the converted CM11? Have you tried installing any other F2FS ROM?
[poo]
just tried OmniROM and it stuck at boot animation also.
Same result when flashing another kernel (M-Kernel)
thedesp said:
just tried OmniROM and it stuck at boot animation also.
Same result when flashing another kernel (M-Kernel)
Click to expand...
Click to collapse
Are you all f2fs, cache, system, and data?
[poo]
Yes
/system /cache /data are all f2fs
Tried again with CM11 M8 + M-Kernel and it worked!!
Still don't know why...
thedesp said:
Yes
/system /cache /data are all f2fs
Tried again with CM11 M8 + M-Kernel and it worked!!
Still don't know why...
Click to expand...
Click to collapse
That's odd. But ok, I'll take it.
[poo]
OP updated. The Linux tool is now Mac compatible.
[poo]
Working for Stock Rom?
I have the stock rom from Google, it should work on it too right?
(nakasi-lrx21p-factory-93daa4d3.zip)
I'm trying this as I type. Will report results soon.
EDIT: I tried the windows version according to the instructions and it gives the error: boot.img is not supported archive. Incorrect function and cannot find archive.
EDIT2: Okay. I realize it won't work with the factory image.
When I first installed KatKiss 6, I had to unpack and repack kernels in order to try out different combinations of zImage, ramdisk files, and modules. Many people may not want to go through the trouble, but there is an easier way to do that.
So, why do we want to try different combinations of zImage, ramdisk files, and modules? To see if performance is better could be an incentive, but the main reason is that sometimes a different combination of zImage, ramdisk files, and modules may fix things that are not working properly. For example, with cm kernel, GPS can't get good signals in the PAC ROM 5.1.1 I compiled. The problem is solved by using ramdisk of Cyanogenmod, and zImage and modules of Grimlock kernel 5.1.1.
Actually, @_that mentioned the two ways that can accomplish this back in January, but I went with the more complicated one because I had little knowledge of programming. I finally figured out how to do that the easier way recently.
The downside is that you must use a zImage supporting preinit in order to load ramdisk files that are not packed in the kernel. that kernel and Grimlock kernel both support preinit.
If you don't use kexecboot, zImage will always be from the kernel you installed for internal ROM. If it's a ROM2SD installation, the ramdisk files will be from the kernel you choose during ROM2SD installation. The modules are usually copied from internal during ROM2SD installation.
If you want to change zImage, then you have to flash a different kernel to /boot partition. If you want to change ramdisk file for ROM2SD installation, then you need to first delete the boot/ folder on the /system partition of the micro SD card. Then you can flash the kernel containing the ramdisk files between rom2sd1.zip and rom2sd2.zip following the method by @_that. Alternatively, you can also use the ones in this post. The differences are that the updated scripts from ZOMBi-POP will copy modules from internal /system, instead of using the ones packed by @_that.
If you want to use that kernel with KatKiss 6, you have to load ramdisk files from KatKernel to use with zImage of that kernel. To load different ramdisk files for a ROM installed on internal storage, you need to revise '20detect-microsd' file in internal /system/boot/preinit.d/ , which will copy ramdisk files from internal /system/boot/ramdisk to /. You can download the one I used, which is attached. The following lines are added to the original file.
Code:
else
# copy ramdisk files from internal /system/boot/ramdisk to /
$BB cp -a /system/boot/ramdisk/* / || echo "failed to copy ramdisk files from /system/boot/ramdisk"
You certainly need to extract the ramdisk files to internal /system/boot/ramdisk/ . To do that, you can use the attached extract ramdisk to internal system.zip. Just replace the 'boot.blob' inside with the one you'd like to use. Basically, it's the rom2sd2.zip from @_that, but without the scripts doing revision for ROM2SD.
At least for some ROMs, you can see performance gain with F2FS /cache. If you want to try to see if F2FS /cache works better for you. You can convert /cache to F2FS with TWRP 2.8.+. Just go to Wipe->Advanced Wipe, select Cache, and Change file system to F2FS. You also need to revise 'fstab.cardhu' in /system/boot/ramdisk/ for all the ROMs you are running. Just replacing the line for /cache with the following one
Code:
/dev/block/mmcblk0p2 /cache f2fs noatime,nosuid,nodev,errors=panic wait,encryptable=footer
Alternatively, you can use attached extract ramdisk to internal system f2fs cache .zip or rom2sd2 f2fs cache.zip when extracting the ramdisk files to internal or ROM2SD /system. The following line is added to 'extract-ramdisk.sh' so that 'fstab.cardhu' will be revised during extraction.
Code:
sed -i '/mmcblk0p2/{;s/ext4/f2fs/;s/barrier=.,//;s/nodiratime,//;s/noauto_da_alloc,//;s/nomblk_io_submit,//;}' $f
I am able to use different zImages for internal and external ROMs and choose which one to boot with kexecboot. If someone is interested in how to set that up, please just ask in the comments.
There is a 'boot.blob' (I beleive it's for PAC511) in 'extract ramdisk to internal system f2fs cache .zip' You need to replace it with the one you'd like to use, or delete it and flash your kernel before flashing this zip.
I want to increase size of recovery partition on Lenovo K30W so I can flash larger recovery image created for Lenovo A6000. I have devised a way, but I would be grateful if someone could look it over and spot possible flaws.
Here is the current partition table.
Code:
Model: MMC Q8XSAB (sd/mmc)
Disk /dev/block/mmcblk0: 15634268160B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 67108864B 134217727B 67108864B fat16 modem
2 134217728B 134742015B 524288B sbl1
3 134742016B 135266303B 524288B sbl1bak
4 135266304B 136314879B 1048576B aboot
5 136314880B 137363455B 1048576B abootbak
6 137363456B 137887743B 524288B rpm
7 137887744B 138412031B 524288B rpmbak
8 138412032B 138936319B 524288B tz
9 138936320B 139460607B 524288B tzbak
10 139460608B 139984895B 524288B hyp
11 139984896B 140509183B 524288B hypbak
12 140509184B 141557759B 1048576B pad
13 141557760B 143130623B 1572864B modemst1
14 143130624B 144703487B 1572864B modemst2
15 144703488B 145752063B 1048576B misc
16 145752064B 145753087B 1024B fsc
17 145753088B 145761279B 8192B ssd
18 145761280B 156247039B 10485760B splash
19 201326592B 201359359B 32768B DDR
20 201359360B 202932223B 1572864B fsg
21 202932224B 202948607B 16384B sec
22 202948608B 219725823B 16777216B boot
23 219725824B 1830338559B 1610612736B ext4 system
24 1830338560B 1863892991B 33554432B ext4 persist
25 1863892992B 1998110719B 134217728B ext4 cache
26 1998110720B 2014887935B 16777216B recovery
27 2014887936B 15634251263B 13619363328B ext4 userdata
Luckily, recovery and data partition are next to each other. Here is the procedure, please tell me if it is viable.
1. Boot into recovery
2. Create nandroid backup of data partition
3. Make sure that data partition is unmounted in recovery
4. Using parted, delete recovery and data partitions, and then recreate them with new sizes
5. Format data partition
6. Make sure that "use rm -rf instead of formatting" is enabled in recovery settings
7. Restore nandroid backup
8. Flash new recovery
9. Reboot
These are the commands I would use:
Code:
adb shell
parted /dev/block/mmcblk0
unit b
rm 27
rm 26
mkpart primary 1998110720 2031665151
mkpart primary 2031665152 15634251263
name 26 recovery
name 27 userdata
quit
mke2fs -t ext4 /dev/block/mmcblk0p27
As there were no replies, I took a risk and went ahead with resizing the partitions. The described procedure worked without problems.
Could you make a guide on how you did this exactly for noobs?
I understand that you posted the steps you used, but i'm not familiar with what you did.
Also, what rom are you using currently?
I got a rom working for this phone, It works well, but is not ideal.
https://forum.xda-developers.com/general/help/k3-note-question-k30w-t3531158
addict1337 said:
Could you make a guide on how you did this exactly for noobs?
I understand that you posted the steps you used, but i'm not familiar with what you did.
Also, what rom are you using currently?
I got a rom working for this phone, It works well, but is not ideal.
https://forum.xda-developers.com/general/help/k3-note-question-k30w-t3531158
Click to expand...
Click to collapse
Well, making an even more detailed guide will take some effort. I'll do it when I find the time.
I am using this ROM: https://forum.xda-developers.com/lenovo-a6000/development/rom-resurrectionremix-5-8-1-t3555184
It's great, but I do have problems with updating it. Hopefully it'll be resolved soon.
Here is a more detailed procedure. However, if you are not familiar with Linux command line and the Android partition layout, I strongly recommend that you stay away from this.
First, you need Android platform tools from here. Download for your platform (I am going to assume Windows) and extract to a folder of your choosing (for example C:\Android).
You also need parted utility, download from here. It's best to extract it to the same folder as Android platform tools.
Next, open Windows command prompt and go to the platform tools folder. The easiest way to do it is to open the folder in Windows Explorer, right click in the empty space while holding shift and choose "Open command window here". Reboot your device in recovery mode and connect it to the computer USB port.
While in recovery, make a backup of your data partition.
Copy the new recovery image to external SD if you have one, or else to internal memory. You can do it using Windows Explorer.
Copy parted utility to the device.
Code:
adb push parted /.
Next, enter device shell.
Code:
adb shell
Make parted executable.
Code:
chmod a+x parted
Start parted utility.
Code:
./parted /dev/block/mmcblk0
Be extremely careful from now on. Every parted command is executed immediately, so if you type something wrong, you could brick your device.
Change size unit to byte.
Code:
unit b
Print your current partition layout. If it's not the same as in my original post, abort now as you'll mess things up.
Code:
p
Remove recovery and data partitions.
Code:
rm 27
rm 26
Recreate partitions with new sizes (recovery is now 32MB instead of previous 16MB).
Code:
mkpart primary 1998110720 2031665151
mkpart primary 2031665152 15634251263
Give partitions the same names as before.
Code:
name 26 recovery
name 27 userdata
Exit parted utility.
Code:
quit
Format the data partition.
Code:
mke2fs -t ext4 /dev/block/mmcblk0p27
Make sure that "use rm -rf instead of formatting" is enabled in recovery settings. This may not be necessary, but I've seen it in some tutorial, and it can't hurt.
Restore data partition from backup.
Flash new recovery using current recovery (go to install and choose "install image").
Reboot and hope for the best.
Thank you very much
I will give it a try.
All worked well, however I am never able to boot into recovery from my phone itself (before i attempted this, and after).
I always need to use my pc/usb to boot into recovery via a batch file.
Even if I install recovery from the recovery I just booted.
Getting into recovery is holding volume up and the power button right?
I installed the software you mentioned, however it is stuck at the bootscreen
addict1337 said:
All worked well, however I am never able to boot into recovery from my phone itself (before i attempted this, and after).
I always need to use my pc/usb to boot into recovery via a batch file.
Even if I install recovery from the recovery I just booted.
Getting into recovery is holding volume up and the power button right?
I installed the software you mentioned, however it is stuck at the bootscreen
Click to expand...
Click to collapse
To get into recovery, you need to keep BOTH up and down volume keys, and then power on. After a few seconds, you can release volume keys.
As far as the ROM is concerned, make sure you wipe data and cache before installing it. That's all I can think of.
CrazyNik said:
To get into recovery, you need to keep BOTH up and down volume keys, and then power on. After a few seconds, you can release volume keys.
As far as the ROM is concerned, make sure you wipe data and cache before installing it. That's all I can think of.
Click to expand...
Click to collapse
Thanks.
I managed to install a CWM recovery for A6000, witch is working fine now (32MB)
I had problems with GPS on my Cyanongenmod Rom modified for K30-W, but after installing gapps all is working fine now.
Thank you for your help!
I hate to bother you any more, but I would like to use the same rom you are using, however I can't get it to flash.
I got TWRP 2.8.6.1 working (any other version I tried will not work)
I wipe DATA DALVIK and CACHE
When I try to install: 20170403-a6000-Official it gets stuck on:
Patching system image unconditionally....
I am able to flash Cyanogenmod, but that's a much older version.
If you could help me with what I am doing wrong, that would be much appriciated.
There are not many people running this phone.
I am also interested in the recovery you are using.
addict1337 said:
I hate to bother you any more, but I would like to use the same rom you are using, however I can't get it to flash.
I got TWRP 2.8.6.1 working (any other version I tried will not work)
I wipe DATA DALVIK and CACHE
When I try to install: 20170403-a6000-Official it gets stuck on:
Patching system image unconditionally....
I am able to flash Cyanogenmod, but that's a much older version.
If you could help me with what I am doing wrong, that would be much appriciated.
There are not many people running this phone.
I am also interested in the recovery you are using.
Click to expand...
Click to collapse
You must use TWRP 3.1.0, but even with it, RR 20170403 will not install on K30W firmware, I don't know why. I managed to install it by flashing A6000 firmware first. I will post the tutorial on RR thread when I find the time.
addict1337 said:
I hate to bother you any more, but I would like to use the same rom you are using, however I can't get it to flash.
I got TWRP 2.8.6.1 working (any other version I tried will not work)
I wipe DATA DALVIK and CACHE
When I try to install: 20170403-a6000-Official it gets stuck on:
Patching system image unconditionally....
I am able to flash Cyanogenmod, but that's a much older version.
If you could help me with what I am doing wrong, that would be much appriciated.
There are not many people running this phone.
I am also interested in the recovery you are using.
Click to expand...
Click to collapse
I've posted the tutorial here.
CrazyNik said:
I've posted the tutorial here.
Click to expand...
Click to collapse
Awesome, I was waiting for it
Thank you very much.