Related
Warning/disclaimer: This thread is intended for those who already know how to compile a kernel and have a working knowledge of Linux and its derivatives. There shouldn't be a great deal of risk involved, but you are responsible for what happens if you decide to follow these instructions.
Polite request: Please don't post replies to this thread that aren't of a technical nature directly related to compiling, modifying, or testing the kernel.
Introduction:
It appears as if Lenovo have released a buildable and bootable kernel source. I've done some preliminary testing with it. However, it would be better if we could get lots of people building and running the kernel, so that we can spot any remaining problems. This is also an opportunity to start hacking it to add/fix features such as USB OTG, etc.
Kernel source:
Get it from the Github repository at: https://github.com/gmarkall/lenovo_a1_07_kernel
Toolchain:
The Makefile seems to suggest that Codesourcery 2010q1 has been used by Lenovo to compile the kernel. Get it from https://sourcery.mentor.com/sgpp/lite/arm/portal/release1293, and make sure that the arm-none-linux-gnueabi-* binaries are on your path.
Building the source:
You may wish to edit the Makefile around line 192 to set CROSS_COMPILE=arm-none-linux-gnueabi- instead of the hardcoded path that is the default.
Then, to build the kernel:
Code:
make distclean
make a1_07_defconfig
make uImage
Booting the kernel
Normally, Android devices have two boot images that consist of a kernel and a ramdisk. One boot image is for the recovery, and the other is for the Android system. This makes it safe to flash a new boot image containing an untested kernel for the Android system, since the recovery can always boot up using the other boot image. However, the A1, by some bad design decision, only has one kernel - the bootloader always loads the same kernel, and just loads a different ramdisk depending whether it is to boot into recovery or system. As a result, it is not safe to flash a kernel to your A1 unless it's already been tested, since a bad kernel will make it impossible to boot from the internal memory, and you'll need a bootable SD card.
The solution to this problem is to make a bootable SD card for loading the kernel and ramdisk from. A bootable SD card consists of two partitions:
* A small bootable VFAT partition, that holds the X-Loader (MLO), U-Boot (u-boot.bin) and the kernel (uImage).
* An ext2 partition that holds the root filesystem.
In order to create a bootable SD card, use the omap3-mkcard.sh script that is attached below. To invoke it for making /dev/mmcblk0 a bootable SD card:
Code:
sudo omap3-mkcard.sh /dev/mmcblk0
You may need to hack the script if your SD card device isn't a /dev/mmcblk* one, since the script searches for partitions denoted "p1" and "p2" - this may need changing to just "1" and "2" respectively (thanks Xbdesign and Brancaleone for this).
This will create the necessary partitions, set the bootable flag, and format them. You will then need to mount the first partition (e.g. /dev/mmcblk0p1), and copy MLO and u-boot.bin to it (also linked below). Then, copy the uImage that you built from your kernel tree, which will be located in /arch/arm/boot. You can now unmount this partition.
Next, mount the second partition (e.g. /dev/mmcblk0p2). This will need to contain the same set of files that the initial ramdisk contains. There are two different ramdisks that you might want to use - one is from the Cyanogenmod 7 build, and the other one is from the stock system. Download links for these are also below. To extract the ramdisk, copy it onto the SD card second partition, then run the following commands (assuming the ramdisk is called ramdisk.ub):
Code:
dd if=ramdisk.ub of=ramdisk.img.gz bs=64 skip=1 # Strip off the U-Boot header
gunzip ramdisk.img.gz # Unzip
sudo cpio -idmv < ramdisk.img # Extract the cpio archive
Then, unmount the second partition of the SD card.
You should now be able to remove the SD card and insert it into your A1. Power down the A1 and power up again, and it should hopefully boot from the SD card and load your kernel. If it's booted from the SD card and loaded your kernel, you should be able to see that it was compiled on your host by looking in Settings -> About Phone -> Kernel Version.
Troubleshooting:
This is not a comprehensive guide, just a few pointers to where a problem might be - please post replies to the thread to get troubleshooting suggestions.
System boots up, but is not running my kernel - it didn't boot from the SD card. If the A1 is plugged into the charger/USB, you sometimes need to reboot multiple times before it boots off the SD card (I think it doesn't always turn off fully when the charger is plugged in).
The static Lenovo logo flashes up over and over again - it's booted from the SD card, but didn't manage to load your kernel
The static Lenovo logo comes up and stays there/goes to a black screen - it's probably loaded your kernel and mounted the root file system, but failed to mount /system. Try running adb shell to see what happens. If you get something like
Code:
/system/bin/sh: no such file or directory
then your kernel is running but /system isn't mounted.
IRC Channel
Join #ideapad-a1 on irc.freenode.net to discuss the kernel and other A1 development-related topics!
Download Links:
MLO
u-boot.bin
omap3-mkcard.sh
Ramdisk for Cyanogenmod 7
Ramdisk for ROW 2643 stock release
I've added the two ramdisks that I suspect will be most common - if you need another ramdisk, you'll have to extract it from an OTA.
Also, I compiled a tun.ko - www.doc.ic.ac.uk/~grm08/ideapad/tun.ko
Here's a cifs.ko - http://www.doc.ic.ac.uk/~grm08/ideapad/cifs.ko
EDIT: AutobahnA1 and infraredevans have confirmed that tun.ko works on ROW_2643.
EDIT 2/3: Please test out cifs.ko! (It doesn't work - it needs slow-work.ko. Will get that done when I can. Thanks to Ilikecokethree on the Lenovo forums for pointing that one out).
你懂中文吗,大神!
我是中国人 关注你的帖子很久了,我不懂英文,用翻译软件看的大概,我们这里很多人支持你,都在用你的rom 很棒!比联想官方的好多了,谢谢!
I think I did exactly the steps as you told, but it still boots the original kernel, may something be wrong? Thank you very much.
PS: I'm a chinese too, and my English is not good either
gmarkall said:
This is also an opportunity to start hacking it to add/fix features such as USB OTG, etc.
Click to expand...
Click to collapse
Please do not forget to try the WiFi-based geolocation, which is also missing!
I wish I had the knowledge to work on it myself but I am far from taking over such tasks...do not have the slightest idea about how these things work.
Good luck and please keep us informed!
geoponer said:
Please do not forget to try the WiFi-based geolocation, which is also missing!
Click to expand...
Click to collapse
Geolocation bug has nothing to do with kenerl. It's a missing entry in framework-res.apk in ROM from Lenovo
see : forums.lenovo.com/t5/IdeaPad-Slate-Tablets/A1-Geocode-Bug-in-Firmware-Solution/td-p/709701
betabox said:
Geolocation bug has nothing to do with kenerl. It's a missing entry in framework-res.apk in ROM from Lenovo
see : forums.lenovo.com/t5/IdeaPad-Slate-Tablets/A1-Geocode-Bug-in-Firmware-Solution/td-p/709701
Click to expand...
Click to collapse
Also, it's working in CM7.
hohoxu_hao115 said:
I think I did exactly the steps as you told, but it still boots the original kernel, may something be wrong?
Click to expand...
Click to collapse
Sounds like it's booting from eMMC instead.
Can you post the partition table of the SD card as listed by fdisk, and also a directory listing of each of the two partitions? I ask this to confirm what's happened - seems like you're the first person to follow these instructions, and it's quite possible I made a mistake somewhere.
betabox said:
Geolocation bug has nothing to do with kenerl. It's a missing entry in framework-res.apk in ROM from Lenovo
see : forums.lenovo.com/t5/IdeaPad-Slate-Tablets/A1-Geocode-Bug-in-Firmware-Solution/td-p/709701
Click to expand...
Click to collapse
Apologies for the off-topic, but I think that we are discussing two different things here: I am referring to the Geolocation bug, which prevents me from e.g. checking in with Foursquare by using only WiFi location information (active GPS signal is needed) while you have solved the Geocoding bug, which has nothing to do with the Geolocation one...
Please correct me if I am wrong.
@Graham: I plan to install the CM7 that you have been working on (with the feedback from other users - I keep an eye on that thread!) but since I use my A1 for professional purposes as well, I would like to make sure that everything is working fine before moving to CM7. Apologies for not being able to contribute to the beta testing of CM7 but I am really looking forward to seeing a version based on the source code provided by Lenovo, which I think will lead to a more stable version of your CM7. I cannot thank you enough for taking the time to work on this, really!
geoponer said:
Apologies for the off-topic, but I think that we are discussing two different things here: I am referring to the Geolocation bug, which prevents me from e.g. checking in with Foursquare by using only WiFi location information (active GPS signal is needed) while you have solved the Geocoding bug, which has nothing to do with the Geolocation one...
Please correct me if I am wrong.
Click to expand...
Click to collapse
I think that whether it works in CM7 or not, it almost certainly isn't a kernel issue. I'll test it by signing up for Foursquare and give it a try out on CM7 to see if it works later on. Will post my findings in the CM7 thread.
Hi Graham,
just gonna pile up several questions/thinkings and feel free to comment them the or answer on your liking
We do have few hickups on CM7 but I am more excited about idea of having proper recovery then ironing current CM rom that works more than satisfactory right now. Do we have enough code (I assume that target here is u-boot) on our hands that someone can implement necessary changes to internal partitions and boot procedures?
what is your opinion on replacement of u-boot with something else? for example LK loader or to be more precise with its current HD2 implementation known as cLK. it allready has some neat features like HBOOT like GUI, ability to change partition sizes on device itself (without computer), ability to boot from different partitions (would be nice to have android and ubuntu side by side loaded on our devices) and last but not least it has fastboot support enabled...or is it better way fill up u-boot with desired features if possible?
so...just my wishful thinking...not enough knowledge on my side to do anything regarding all this just hoping that some of you, more capable guys gets interested in this
dusko_m said:
Hi Graham,
just gonna pile up several questions/thinkings and feel free to comment them the or answer on your liking
We do have few hickups on CM7 but I am more excited about idea of having proper recovery then ironing current CM rom that works more than satisfactory right now. Do we have enough code (I assume that target here is u-boot) on our hands that someone can implement necessary changes to internal partitions and boot procedures?
what is your opinion on replacement of u-boot with something else? for example LK loader or to be more precise with its current HD2 implementation known as cLK. it allready has some neat features like HBOOT like GUI, ability to change partition sizes on device itself (without computer), ability to boot from different partitions (would be nice to have android and ubuntu side by side loaded on our devices) and last but not least it has fastboot support enabled...or is it better way fill up u-boot with desired features if possible?
so...just my wishful thinking...not enough knowledge on my side to do anything regarding all this just hoping that some of you, more capable guys gets interested in this
Click to expand...
Click to collapse
I do want to implement something that's pretty much as you describe. My biggest motivation is that it's currently not safe to flash a kernel since you can break both system and recovery that way in one go - I really want to make the boot process more robust.
gmarkall said:
Also, I compiled a tun.ko - tun.ko
I haven't tested it yet - is anyone able to try it please?
Click to expand...
Click to collapse
The module loaded without a problem on my 2643_ROW Kernel. Installed "Rooted AnyConnect" from the "Play Place". Now I can connect to my company VPN.
gmarkall: YOU ROCK! THANK YOU!!!
tun.ko
Graham
The tun.ko module works perfectly with openvpn on 2643_ROW.
I can now access my Amahi home server,awsome.
Thanks a lot you are doing a great job.
Dont want to sound presumptuous but any chance of a cifs.ko to go with it .
Cheers
Infraredevans said:
Dont want to sound presumptuous but any chance of a cifs.ko to go with it .
Click to expand...
Click to collapse
I'll give it a whirl... give me a few minutes.
gmarkall said:
I'll give it a whirl... give me a few minutes.
Click to expand...
Click to collapse
Here it is: http://www.doc.ic.ac.uk/~grm08/ideapad/cifs.ko
To compile it I had to copy md5.h from another kernel source to fs/cifs in the kernel tree. I also had to edit init/Kconfig so that CONFIG_SLOW_WORK defaulted to yes. I configured the module with the options:
Support Legacy LANMAN servers which use weaker security
CIFS Extended attributes
CIFS POSIX attributes
and without statistics, debugging, or experimental features. Let me know if this is a suitable config - I could always tweak it and build another one.
arm-2010q1-202-arm-none-linux-gnueabi.bin
Did someone manage to install arm-2010q1-202-arm-none-linux-gnueabi.bin on 64bit system?
xbdesign said:
Did someone manage to install arm-2010q1-202-arm-none-linux-gnueabi.bin on 64bit system?
Click to expand...
Click to collapse
I did - I didn't have any problems, but my random guess about how to solve it could be to install ia32-libs. If installing that doesn't solve it, can you post a bit more detail about the problem?
I am using ubuntu 10.04 LTS and just cant install / find Getlibs to install a 32-bit version of xulrunner :-(
xbdesign said:
I am using ubuntu 10.04 LTS and just cant install / find Getlibs to install a 32-bit version of xulrunner :-(
Click to expand...
Click to collapse
Do you need that to run the installer? I just downloaded the tar version instead and extracted it. I saw there was an installer as well, but I thought it would be more hassle than using the tarball so I just ignored it.
conclusion first: it was possible.
i searched for custom mtd info for chacha on google, and i found some info in chinese suggested it was possible to apply custom mtd on chacha.
http://wenku.baidu.com/view/b029ab6027d3240c8447ef67.html
i don't speak chinese, but google translation helped. i used Mikevhl's recovery (http://forum.xda-developers.com/attachment.php?attachmentid=749943&d=1318622558), and also FR-Custom-MTD-v1.5.6-boot.zip (http://115.com/file/aqvgn30z#) and FR-Custom-MTD-v1.5.6-recovery.zip (http://115.com/file/aqvgnzmc#) as the chinese instruction said although i don't know where these files came from (maybe somewhere here?)
the procedure itself was the same as desire (bravo) or any other devices, and after the process, i got;
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 214004 32 213972 0% /dev
/dev/block/mtdblock4 5120 1624 3496 32% /cache
/dev/block/mtdblock3 153600 150292 3308 98% /system
/dev/block/mtdblock5 307200 2560 304640 1% /data
yay!!
unfortunately, adlx.xda's v5.0.2.8 didn't work with these patches... sorry, if this info is already around here.
p.s. as usual, this patch automatically mounts /cache to /sd-ext when /cache partition is smaller than 20mb. however, /cache/download won't be created automatically which means vending.apk (market) fails to start. when you set /cache less than 20mb, you'd need create sd-ext partition on your sd card and either add init.d script to create /cache/download ot do it manually.
Interesting, but sorry I don't read chinese :-(. I understand it's for changing the default partition layout on the Chacha.
Isn't it easier to use App2SD?
What are the patches? Do you why it doesn't work with my CWM build (maybe we can improve it so it work).
adlx.xda said:
Interesting, but sorry I don't read chinese :-(. I understand it's for changing the default partition layout on the Chacha.
Isn't it easier to use App2SD?
What are the patches? Do you why it doesn't work with my CWM build (maybe we can improve it so it work).
Click to expand...
Click to collapse
hi adlx.xda,
i don't read chinese, either;-)
it is sure easier for most people to use app2sd or data2sd, but i prefer to keep everything in the internal memory because it is possible if you change the partitions and don't install millions of apps. it is kinda a surprise to me that you didn't know about custom mtd...
anyway, the patches were originally created for htc desire, and adopted to other htc devices with low internal memory capacity like chacha/wildfire/etc.
http://forum.xda-developers.com/showthread.php?t=806321
there were two patches in the package; one for recovery partition and the other for boot partition. the recovery patch allows you to burn a custom rom according to the designated partition info. the boot patch allows you to change the boot image so that the device recognize the new partition info on boot.
when i use your recovery and the recovery patch together to burn a custom rom, chacha does not boot. i guess the patch does not modify something in your recovery correctly. on the other hand, this patch correctly modifies Mikevhl's old recovery. it is strange the patch can be used for the latest recovery for htc desire...
thx for your attention.
qt
could also be the repackaging of the kernel if it's patched. I tried for weeks unsuccessfully to unpackage and repackage a kernel for the status/chacha and had no luck. I was wanting to do some clocking tweaks.
bedwa said:
could also be the repackaging of the kernel if it's patched. I tried for weeks unsuccessfully to unpackage and repackage a kernel for the status/chacha and had no luck. I was wanting to do some clocking tweaks.
Click to expand...
Click to collapse
How do you try to unpack/repack? I wonder why it would fail.
I'll have to look at my setup on my netbook and get back to you. May be a few days. :-\ Kinda swamped ATM.
My Tab makes calls Yo! GT-P6800
i do read chinese, i saw this fews mths back but i dont have time for it... you will left with 24x~26xmb of free space.
I just wanted to update and say that I replied to this thread:
http://forum.xda-developers.com/showthread.php?p=35367602#post35367602
Basically, I'm wondering if the CustomMTD patches might be more compatible with a newer version of CWM compiled for our phone. I built a copy of 6.0.1.5, which mostly works, so if someone wants to give it a try, please do.
I managed to see custom partitions from CWM (not with the patches, but manually altering the recovery). 312MB /system and ~120MB /data (as an example just to try)
Apparently no problem with /system, but /data is not "working":
It appears as Read Only (it shouldn't actually event mount after moving/resizing it). Also not only it mounts, but it appears as 100%full, and won't allow me to do anything. I can't reformat it, remount rw,... I don't know why to be honest.
Now that I think about it, I should check dmesg.
dead links
it looks like all the links are dead.
here are the files you need.
qtotter said:
it looks like all the links are dead.
here are the files you need.
Click to expand...
Click to collapse
I managed to have it working, but I posted on another thread: http://forum.xda-developers.com/showpost.php?p=38029256&postcount=9
adlx.xda said:
I managed to have it working, but I posted on another thread: http://forum.xda-developers.com/showpost.php?p=38029256&postcount=9
Click to expand...
Click to collapse
so what files do we need, and what exactly do we do with them? I'd love to do the same as what you got working.
kronflux said:
so what files do we need, and what exactly do we do with them? I'd love to do the same as what you got working.
Click to expand...
Click to collapse
IIRC I used no files/patch,... It was more a matter of doing the partition table right. I took some notes and made an excel spreadsheet to help me with the conversions.
I'm on holiday starting today, I probably won't be able to review my notes and write anything related to this this month. Ping me again in Septembre so I review my notes and write a post about it .
kronflux said:
so what files do we need, and what exactly do we do with them? I'd love to do the same as what you got working.
Click to expand...
Click to collapse
it came from this thread originally http://forum.xda-developers.com/showpost.php?p=8578368&postcount=1, and it is very common among HTC Desire users.
it is quite easy to change partition sizes, and all the files you need are the three files that i uploaded.
recovery_chacha.img: Mike's old recovery that is compatible with this method. Don't use other recoveries!!
FR-Custom-MTD-v1.5.6-recovery.zip: This will patch recovery so that it can handle new partition sizes.
FR-Custom-MTD-v1.5.6-boot.zip: This will patch boot (kernel) in NAND so that the system can handle new partition sizes.
Procedure for ChaCha:
Make sure your phone is S-OFFed
**Make a backup in recovery first**
Place FR-Custom-MTD-v1.5.6-recovery.zip & FR-Custom-MTD-v1.5.6-boot.zip on SD card
Create mtdpartmap.txt on SD card with size of system & cache like "mtd 125 5". For example, I wanted to use ajeevlal's cm10.1 with Japanese IME and other system apps built in /system, I needed 330MB on /system and only 5MB on /cache (because I didn't need large /cache to use int2ext+.) So, my mtdpartmap.txt was "mtd 330 5". if you want to do this by shell command, it's gonna be like: echo "mtd 330 5" > /sdcard/mtdpartmap.txt
Flash Mike's old recovery above in fastboot like "fastboot flash recovery recovery_chacha.img"
Reboot into recovery
Wipe system, data, and cache
Flash FR-Custom-MTD-v1.5.6-recovery.zip, this patches recovery to use the new partition sizes
Reboot into recovery
Wipe system, data, and cache again just in case
Flash ROM, or restore from backup, and it will be flashed to NAND based on new partition sizes
Prior to rebooting, flash FR-Custom-MTD-v1.5.6-boot.zip, this patches boot (kernel) in NAND to load with the new partition sizes.
Reboot
unless you change mtdpartmap.txt on SD card, you don't need to repeat 1 - 8 every time. once you have decided your favorite partition sizes, you can start from 9. also, if your backup includes a patched boot image already, you can even skip 12 as well.
if you do this with any other newer recoveries, your phone simply does NOT boot. Mike's old recovery cannot backup sd-ext partition, but you can always do it manually like "dd if=/dev/block/mmcblk0p2 of=/sdcard/ext-bkup.img bs=4096" or something anyway.
kronflux's recovery
by the way, i tried your CWM 6.0.1.5 Built From Adlx http://forum.xda-developers.com/showthread.php?t=1989839, but it does not patch boot correctly. so the phone won't boot.
as i repeatedly keep saying, you need mike's old recovery to do this. i have tried so many recoveries, and this old one is the ONLY that is compatible with these patches.
qtotter said:
by the way, i tried your CWM 6.0.1.5 Built From Adlx http://forum.xda-developers.com/showthread.php?t=1989839, but it does not patch boot correctly. so the phone won't boot.
as i repeatedly keep saying, you need mike's old recovery to do this. i have tried so many recoveries, and this old one is the ONLY that is compatible with these patches.
Click to expand...
Click to collapse
it's also too large to fit in the recovery partition properly I believe. would be great if we could come up with a partitioning table that has enough space for it, as well as a little more space for app/rom storage.
so what are you saying, that we need this other recovery to actually do the partitioning? or that only that recovery will work on a custom partition table?
Adlx was just saying above, he doesn't think he used any custom files or patches. naturally we'll see in september what he has to say about it.
I did it with my recovery, not Mike's, and it worked, but again, I did it manually.
Sent from my Galaxy S4 running CarbonRom "Adlx Edition"
kronflux said:
so what are you saying, that we need this other recovery to actually do the partitioning? or that only that recovery will work on a custom partition table?
Click to expand...
Click to collapse
basically, this process patches recovery and boot to rewrite the partition table. Only Mike's old recovery can do both correctly.
talking about other recoveries, the reason why the phone doesn't boot is either recovery patch failure or boot patch failure. because i know Mike's one works and am not a recovery dev, i didn't even try to find which part is not working.
however, you can easily check it by switching the recovery between patching recovery and patching boot. i guess the former part is not working correctly because the latter part is rather straight forward and simple.
i just don't understand what you want, actually. changing the partition sizes or learning the mechanism of changing partition table??
qtotter said:
i just don't understand what you want, actually. changing the partition sizes or learning the mechanism of changing partition table??
Click to expand...
Click to collapse
Essentially, changing the sizes of partitions to accommodate a larger recovery image(so that my CWM6 could be flashed and work properly), as well as add more space to the system partition so that we don't have to worry about flashing lite versions of Gapps, or slimming down roms so that they fit.
kronflux said:
Essentially, changing the sizes of partitions to accommodate a larger recovery image(so that my CWM6 could be flashed and work properly), as well as add more space to the system partition so that we don't have to worry about flashing lite versions of Gapps, or slimming down roms so that they fit.
Click to expand...
Click to collapse
i have already explained how to do it above... now, my /system is 330 MB, and /cache is 5MB to cooperate with ajeevlal's cm10.1, full gapps, additional system apps and int2ext+. i am quite happy with my chacha setting not worrying about free space of /data, and battery lasts almost forever during sleep.
well, it is such a simple procedure, but i don't need to promote it to other people myself. i simply wanted to share the info that i learned over one year ago with people who want to make /system smaller for stock rom or make /system larger for cm10 and above.
By popular demand, I am bringing to you CM10.1 that you can install into Nook's internal ROM.
Note, this version totally overwrites your ROM, so back up everything important before proceeding. This is not a dual-boot solution as before, you do loose B&N ROM for good after installing this.
This is work in progress, yadda yadda.
Simplified instructions if instructions below don't work for you or you cannot follow them.
Get emmc-cwm-early2.1.img.gz, gunzip and write it to an sdcard of at least 1G in size (all content on that card will be lost).
Download CWM recovery (text) or TWRP recovery (gui) zip if you want internal recovery to be replaced with CM one (if you don't know what is it about, then you need ONE of these).
Also download latest binary zip from CM nightlies: http://download.cyanogenmod.com/?device=ovation
Add all these files + whatever other packages you might need right away on to the sdcard.
Boot from that sdcard, and install recovery (if desired) and the cm10.1 binary and whatever else you put there.
Erase /data (During initial install only. this is important to avoid crashes on bootup! Naturally, make sure you have copies of whatever important info from there).
unmount /sdcard and remove the card from the Nook. You might need to use this sdcard for your recovery needs in the future should EMMC content become badly damaged, so probably a good idea to have a copy of it somewhere.
Congrats, now on reboot you'll get into cm10.1 on your Nook HD+.
When you need to get into recovery, you can either do "reboot to recovery" in reboot menu (need to enable that in settings) or reboot the nook, and when you see original nook boot logo, press and hold power + home buttons for about 4 seconds.
If you plan to use USB Host feature, you will need a gender changer, as B&N decided not to release a special cable so far. The control to enable USBHost is in quick settings panel (slide down in the top right corner of the screen to bring it up). (QS controls are not available in CM nightly builds so you'll need to install the switcher app for now if you need it).
Known problems:
- Nook app reports incompatible in market (workaround1: just sideload it ; workaround2: change ro.product.device to nookhdplus in build.prop) - This is because they specifically blacklist Nooks! Note that workaround #2 will actually kill your sound, so revert back when you are done.
- Certain sdcards still remain unstable.
- Google Earth crashes when pressing "my location" button (but works fine otherwise).
Useful apps:
Overall loudness and volume control app: NookHDVolumeAdjuster-1.apk
Touch screen sensitivity control: NookTouchscreenSensitivityAdjuster-4.apk (backup link)
USB host control (not really needed, as you can use Quick Settings panel): USBHostSwitcher.apk
Changelog:
13/08/09 - We are official part of CM now, yay! Further updates will be at http://download.cyanogenmod.com/?device=ovation
13/08/01 - cm-10.1-20130801-UNOFFICIAL-ovation-emmc.zip
- Data usage display should work now
13/07/19 - cm-10.1-20130719-UNOFFICIAL-ovation-emmc.zip
- Picked some kernel fixes from omapzoom tree that I think would be useful for us too, this includes some voltage changes (decreases).
- Disabled hwui scissors optimization as it seems to be doing more harm than good.
- Reverted too greedy davlik vm settings
13/07/16 - cm-10.1-20130716-UNOFFICIAL-ovation-emmc.zip *Experimental*
- Update wifi drivers to R5.SP3.06
13/07/11 - cm-10.1-20130712-UNOFFICIAL-ovation-emmc.zip (backup link)
- Added Apple keyboard support
- Updated to CM-10.1.2 for security fixes
13/07/10 - cm-10.1-20130710-UNOFFICIAL-ovation-emmc.zip
- Updated to CM-10.1.1 for security fixes
13/07/08 - cm-10.1-20130708-UNOFFICIAL-ovation-emmc.zip
- NTFS and ExFAT support from upstream
13/07/06 - cm-10.1-20130706-UNOFFICIAL-ovation-emmc.zip
- redone touchscreen sensitivity changing mechanism. (app to control touchscreen sensitivity NookTouchscreenSensitivityAdjuster-4.apk)
13/07/04 - cm-10.1-20130704-UNOFFICIAL-ovation-emmc.zip
- upgraded to fixed SGX DDK [email protected] (this fixes Google Earth, and a bunch of games)
13/07/03 - cm-10.1-20130703-UNOFFICIAL-ovation-emmc.zip Experimental
- experimental touchscreen sensitivity change
- usb ids changed to match stock
- swap support enabled
13/06/30 - cm-10.1-20130630-UNOFFICIAL-ovation-emmc.zip
- Serial number is now visible in Android
- usb audio now actually works (only for output)
13/06/29 - cm-10.1-20130629-UNOFFICIAL-ovation-emmc.zip
- in-kernel bluetooth
13/06/26 - cm-10.1-20130626-UNOFFICIAL-ovation-emmc.zip Experimental
- cpu frequency changes for screen on scenario, new sgx binary blobs.
13/06/24 - cm-10.1-20130624-UNOFFICIAL-ovation-emmc.zip
- more kernel drivers for bt hid, usb 3g modems and gps devices
13/06/15 - cm-10.1-20130615-UNOFFICIAL-ovation-emmc.zip
- WiFi Direct and BT tethering are now working
- /sdcard now points to internal storage.
13/06/13 - cm-10.1-20130613-UNOFFICIAL-ovation-emmc.zip
- Boosted speaker volume. If you do not like new loud volume, flash this reversal zip after every ROM update: quietvolume-2.zip
- zinio now should work out of the box
13/06/11 - cm-10.1-20130612-UNOFFICIAL-ovation-emmc.zip
- Fixed HDMI audio
- Added USB audio support
13/06/08 - cm-10.1-20130608-UNOFFICIAL-ovation-emmc.zip
- Fixed nav bar settings crash
13/06/05 - cm-10.1-20130605-UNOFFICIAL-ovation-emmc.zip
- USBHost access is now conveniently located in QuickSettings. (IF you use some mod that disables quick settings, you still need my old ugly USBHost switcher app, just sideload it).
- now any (one at a time) usb storage should be automounted no matter how you plug it.
13/06/02 - cm-10.1-20130603-UNOFFICIAL-ovation-emmc.zip
- Forced USB Host support.
13/05/30 - cm-10.1-20130530-UNOFFICIAL-ovation-emmc.zip
- No Nook-specific changes, based on CM10.1-RC3
13/05/27 - cm-10.1-20130527-UNOFFICIAL-ovation-emmc.zip
- Fixed microphone input volume
- Kernel change to hopefully better work with some sdcards.
13/05/12 - cm-10.1-20130512-UNOFFICIAL-ovation-emmc.zip
- Fixed A2DP audio
- Fixed booting when not connected to PC/charger.
13/05/11 - cm-10.1-20130511-UNOFFICIAL-ovation-emmc.zip
- Should fix sgx crash on startup for those affected -- not.
- Cover close now should sleep the device (please test)
- Updated screen properties to highdpi (though that did not fix Nook app compatibility in market)
- Baselined on CM10.1-RC2
13/05/10 - cm-10.1-20130510-UNOFFICIAL-ovation-emmc.zip
- Wifi battery drain should be gone now.
13/05/05 - cm-10.1-20130505-UNOFFICIAL-ovation-emmc.zip
- Fixed mmc presentation, BT, sdcard mounting.
13/05/04 - cm-10.1-20130504-UNOFFICIAL-ovation-emmc.zip initial release.
Thanks for this though.
Verygreen, I am interested how this boots without sdcard as before the expliot worked because B&N left dev code to boot a kernel from sd card.
What exploit is used to boot from internal since sdcard isn't used.
Also I don't think cm10 is needed really.
I think its best to put the work into cm10.1 as its the latest platform and try bring that up to the same stage as cm10.
Wow, thank you once again verygreen! Thank you so much for your efforts!
I'm just wondering, does this overwrite the stock ROM, this no dual boot? Also, are there any performance differences?
Regardless, appreciate your efforts once again!
HiddenG said:
Wow, thank you once again verygreen! Thank you so much for your efforts!
I'm just wondering, does this overwrite the stock ROM, this no dual boot? Also, are there any performance differences?
Regardless, appreciate your efforts once again!
Click to expand...
Click to collapse
Is the reboot to 99% problem solved ? This is the biggest issue to me.
sorrowuk said:
Verygreen, I am interested how this boots without sdcard as before the expliot worked because B&N left dev code to boot a kernel from sd card.
What exploit is used to boot from internal since sdcard isn't used.
Click to expand...
Click to collapse
Same method as Bauwks, B&N forgot to fix it, they fixed some other possible vectors only.
I was holding to this knowledge hoping that it would be useful on next B&N reader, but it does not look like they'll release another omap-based one, so no need to keep suffering anymore.
So here's hope whatever they release next, the debugging code will remain in place
HiddenG said:
I'm just wondering, does this overwrite the stock ROM, this no dual boot? Also, are there any performance differences?
Click to expand...
Click to collapse
Yes, this does overwrite stock ROM, so no dualboot.
While it's possible to perform some hair-splitting by putting multiple kernels into boot partition, that's quite a bit of hassle + all the /data splitting, so I decided to not go that way, at least yet.
There are performance differences. I did not perform any real studies, but I was shocked at how fast the install phase in cwm works compared to sdcard.
lchen5 said:
Is the reboot to 99% problem solved ? This is the biggest issue to me.
Click to expand...
Click to collapse
Yes, it is solved by removing the ROM, so nothing is left there that could complain about cards with too many partitions
Awesome
I've gotten this loaded up this morning, haven't done a whole lot with it as of yet, but it did boot right up
I have noticed one thing that is not working correctly, specifically the sd card. It's reported as not mounted.
aszid said:
I've gotten this loaded up this morning, haven't done a whole lot with it as of yet, but it did boot right up
I have noticed one thing that is not working correctly, specifically the sd card. It's reported as not mounted.
Click to expand...
Click to collapse
Yes, I was just going to post that. Verygreen forgot to change the vold.fstab file from the sdcard version to emmc version.
Go to /system/etc/ and edit the vold.fstab file to say "/storage/sdcard1 auto" instead of "/storage/sdcard1 5". Just change the 5 to an auto. Then reboot and it should be ok.
Sent from my Nook HD+ running CM10 on Hybrid SD
leapinlar said:
Yes, I was just going to post that. Verygreen forgot to change the vold.fstab file from the sdcard version to emmc version.
Go to /system/etc/ and edit the vold.fstab file to say "/storage/sdcard1 auto" instead of "/storage/sdcard1 5". Just change the 5 to an auto. Then reboot and it should be ok.
Click to expand...
Click to collapse
It's always the small things that gets forgotten, sigh.
I knew I needed to update that, but did not find it at 4am. Now it's in my tree, so next version will have it fixed.
Also need a better way to write sdcard image, I guess, without uploading a whole gig or so of zeros which will get slow. I tried to put in some shortcuts to minimize the write area, but failed so far. Since everything is in the same partition, changing stuff on the fly is hard.
Perhaps a solution where we only use sdcard as means to do initial bootstrap and write correct recovery and use /data/media as the actual sdcard would be better after all.
Follow up question
Could one of you guys explain a method of going back to stock from this? What I mean, is it possible to install Leapinlar's version 2.1 back to the emmc using the recovery used to install this emmc-based CM 10.1? If you suggest that we backup before installing this ROM does that mean that we can use that backup to restore the stock we have on emmc now back to emmc if this were not to work out well?
jentous said:
Could one of you guys explain a method of going back to stock from this? What I mean, is it possible to install Leapinlar's version 2.1 back to the emmc using the recovery used to install this emmc-based CM 10.1? If you suggest that we backup before installing this ROM does that mean that we can use that backup to restore the stock we have on emmc now back to emmc if this were not to work out well?
Click to expand...
Click to collapse
For restore (note, I did not really test any of these steps, but that's how it should unfold):
boot into recovery image from sdcard you made at the beginning.
Upload the backup boot image there (adb push mmcblk0p4 /tmp)
then do adb shell and in there write the image in place:
dd if=/tmp/mmcblk0p4 of=/dev/block/mmcblk0p4 bs=1048576
then do:
mount /bootdata ; rm /bootdata/BootCnt
The removal of BootCnt will tell stock u-boot to force factory restore.
now remove sdcard and reboot, the Nook will do factory restore and you are back to some sort of early 2.0.0 B&N release.
verygreen said:
It's always the small things that gets forgotten, sigh.
I knew I needed to update that, but did not find it at 4am. Now it's in my tree, so next version will have it fixed.
Also need a better way to write sdcard image, I guess, without uploading a whole gig or so of zeros which will get slow. I tried to put in some shortcuts to minimize the write area, but failed so far. Since everything is in the same partition, changing stuff on the fly is hard.
Perhaps a solution where we only use sdcard as means to do initial bootstrap and write correct recovery and use /data/media as the actual sdcard would be better after all.
Click to expand...
Click to collapse
I've been trying to examine what you have done here, and have most of it figured.
That CM zip is pretty straight forward where it just flashes the rom to emmc /system and replaces the boot.img.
The CWM looks straight forward too, but you must use the empty file for something and I can't quite figure that. I thought maybe you were using it to mount something on emmc but I see no code to do that in the ramdisk. You might have the code in a customized init binary. Recovery looks like just a normal 6.0.3.2 recovery from CM.
A suggestion on the CWM recovery.fstab. Change the boot partition fstype from vfat to emmc and backup/restore will handle it properly. And change the emmc to datamedia and /dev/null instead of vfat and 0p10. That way the emmc media partition will mount properly.
Sent from my Nook HD+ running CM10 on Hybrid SD
leapinlar said:
That CM zip is pretty straight forward where it just flashes the rom to emmc /system and replaces the boot.img.
Click to expand...
Click to collapse
Yes, it's pretty straight-forward, and that was one of the goals. Unlike Kindle where you need to jump through some crazy hoops due to Amazon design decisions, Nook is significantly more relaxed.
The CWM looks straight forward too, but you must use the empty file for something and I can't quite figure that. I thought maybe you were using it to mount something on emmc but I see no code to do that in the ramdisk. You might have the code in a customized init binary. Recovery looks like just a normal 6.0.3.2 recovery from CM.
Click to expand...
Click to collapse
The recovery IS straighforward, there's no modified init or anything like that. I am not sure what empty file do you refer to.
The only difference between this CWM and sdcard cwm for sdcard installs are: removed repartitioning code in postboot script and updated fstab to point back at emmc.
A suggestion on the CWM recovery.fstab, change the boot partition fstype from vfat to emmc and backup/restore will handle it properly. And change the emmc to datamedia and /dev/null instead of vfat and 0p10. That way the emmc media partition will mount properly.
Click to expand...
Click to collapse
Aha, thanks. I'll try this and it'll probably solve the remaining CWM problems for me.
Also need to do twrp image, I guess.
verygreen said:
The recovery IS straighforward, there's no modified init or anything like that. I am not sure what empty file do you refer to.
Click to expand...
Click to collapse
I'm talking about the "file" in the recovery image. It is about 950MB and all zeros.
And if you make those mods to the recovery.fstab, then users can use that CWM to reflash back to stock using the B&N zips.
leapinlar said:
I'm talking about the "file" in the recovery image. It is about 950MB and all zeros.
Click to expand...
Click to collapse
Whoops, forgot to remove.
This is how I zero out sdcard content so it better compresses before uploading it somewhere.
jentous said:
Could one of you guys explain a method of going back to stock from this? What I mean, is it possible to install Leapinlar's version 2.1 back to the emmc using the recovery used to install this emmc-based CM 10.1? If you suggest that we backup before installing this ROM does that mean that we can use that backup to restore the stock we have on emmc now back to emmc if this were not to work out well?
Click to expand...
Click to collapse
Based on what verygreen said in the posts above, you should be able to use my stock CWM SD to both backup and restore his new setup. And you can restore an earlier backup of stock too. You can use my 2.1 zip on my thread to put the new stock on if you want replacing his CM10.1 on emmc.
Thanks verygreen, you are awesome!
EDIT: Yes! I just flashed verygreen's new CM10.1 emmc to my internal memory using my stock CWM SD. Worked perfectly.
I just uploaded emmc-cwm-early2.img.gz with fixed recovery.fstab and a zero file removed as well.
Got it going
Thanks Verygreen and Leapinlar.
I got it installed and I saved the boot partition just in case. I hopefully will not be needing to restore, but it is nice to know that I can.
The installed ROM appears snappy and I will report back any issues I discover.
my sdcard is working great after updating the mount. Thanks!
leapinlar said:
Based on what verygreen said in the posts above, you should be able to use my stock CWM SD to both backup and restore his new setup. And you can restore an earlier backup of stock too. You can use my 2.1 zip on my thread to put the new stock on if you want replacing his CM10.1 on emmc.
Thanks verygreen, you are awesome!
EDIT: Yes! I just flashed verygreen's new CM10.1 emmc to my internal memory using my stock CWM SD. Worked perfectly.
Click to expand...
Click to collapse
verygreen said:
I just uploaded emmc-cwm-early2.img.gz with fixed recovery.fstab and a zero file removed as well.
Click to expand...
Click to collapse
Is there any effective difference between the 2 recoveries? That is.. is there any reason i should be bothering to keep 2 different recovery SD cards?
Thanks for all the great work!
aszid said:
Is there any effective difference between the 2 recoveries? That is.. is there any reason i should be bothering to keep 2 different recovery SD cards?
Click to expand...
Click to collapse
There's no great logic in my recovery, just an image I use to test-drive my installs for now.
So you can use whatever other recovery you like.
Hello all. This is my own custom kernel.
I tailored it to work on stock roms.
I updated the sources (as my knowledge allows me to do it) up to 2.6.35.14.
I put there SWAP support (via a second partition on your SD card). You can enable it with Swapper2.
I also put init.d support. You *must* follow the step number 2 detailed in this guide: http://forum.xda-developers.com/showthread.php?t=2287540, as I already did step 1 for you.
EXT4 and NTFS support is there, too, in the case that you have a sdcard formatted in that file systems, but I haven't tested the NTFS features.
HTC Performance locks is disabled: you can underclock down to 19,2 khz if you want to.
Also, there are SmartAssV2 as default governor and Simple I/O as scheduler.
I hope I will soon be able to put undervolting there, or more CPU clocks for more choices of clock settings.
Comments, please, and enjoy!!
Edit:
You have to copy the files inside modules.zip to
Code:
/system/lib/modules
. Thanks to johan111 for pointing to this.
tokafondo said:
Hello all. This is my own custom kernel.
I tailored it to work on stock roms.
I updated the sources (as my knowledge allows me to do it) up to 2.6.35.14.
I put there SWAP support (via a second partition on your SD card). You can enable it with Swapper2.
I also put init.d support. You *must* follow the step number 2 detailed in this guide: http://forum.xda-developers.com/showthread.php?t=2287540, as I already did step 1 for you.
EXT4 and NTFS support is there, too, in the case that you have a sdcard formatted in that file systems, but I haven't tested the NTFS features.
HTC Performance locks is disabled: you can underclock down to 19,2 khz if you want to.
Also, there are SmartAssV2 as default governor and Simple I/O as scheduler.
I hope I will soon be able to put undervolting there, or more CPU clocks for more choices of clock settings.
Comments, please, and enjoy!!
Click to expand...
Click to collapse
very very good mate ! , but how can i flash it? from fastboot or ? , and what about swap tested? on stock rom?
mohabmoka said:
very very good mate ! , but how can i flash it? from fastboot or ? , and what about swap tested? on stock rom?
Click to expand...
Click to collapse
Yes, you will have to flash it by using fastboot:
(remember to have a cwm backup just in case you want to reflash your original boot partition)
Code:
fastboot flash boot bootv6initd.img
Swap partition goes as second partition of SD card. Swapper2 will work to format it as 'swap' type.
hm, happy to see still chacha development is active....did anyone tested it?
eager
ajeevlal said:
hm, happy to see still chacha development is active....did anyone tested it?
Click to expand...
Click to collapse
I'm eager to try it but I just love your port man, I will get a new phone in march so I will have the time to test more things on my chacha
hm i tried to build kitkat but it didnt work and it needs more knowledge than what i have.... and if we can keep the kernal up to date, may be some issues in custom rom might get fixed (HOPE)
nice
ajeevlal said:
hm i tried to build kitkat but it didnt work and it needs more knowledge than what i have.... and if we can keep the kernal up to date, may be some issues in custom rom might get fixed (HOPE)
Click to expand...
Click to collapse
keep it up mate, kitkat cannot beat you! j/k Jelly Bean is already an amazing rom
swashie said:
keep it up mate, kitkat cannot beat you! j/k Jelly Bean is already an amazing rom
Click to expand...
Click to collapse
you could do it man !!
tokafondo, I haven't really taken a look at your kernel yet, but I recommend you take a look at the OWL project kernel, as well as Luzifer1984's forks. Might help you gain some insights into rom features and functionality for the future.
honestly, I'm really surprised nobody has forked OWL project's stuff and compiled all of it for the ChaCha yet. They even have an updated ClockworkMod, which if compiled correctly, should work with our device.
Seems their 10.1 roms are also stable, and most if not all features of the device work.
here's the link to their kernel: https://github.com/JDevs/OWL-Predator-KERNEL
and here's Luzifer's github page: https://github.com/Luzifer1984?tab=repositories
there's also Adlx's stuff, which has been very successful so far: https://github.com/adumont/htc-kernel-msm7227/
I'd really love to see a decent, fully stable, feature rich kernel with great battery life for the ChaCha.
As I said, I haven't tried yours out yet, but will definitely give it a look in the next few days!
kronflux said:
tokafondo, I haven't really taken a look at your kernel yet, but I recommend you take a look at the OWL project kernel, as well as Luzifer1984's forks. Might help you gain some insights into rom features and functionality for the future.
honestly, I'm really surprised nobody has forked OWL project's stuff and compiled all of it for the ChaCha yet. They even have an updated ClockworkMod, which if compiled correctly, should work with our device.
Seems their 10.1 roms are also stable, and most if not all features of the device work.
here's the link to their kernel: https://github.com/JDevs/OWL-Predator-KERNEL
and here's Luzifer's github page: https://github.com/Luzifer1984?tab=repositories
there's also Adlx's stuff, which has been very successful so far: https://github.com/adumont/htc-kernel-msm7227/
I'd really love to see a decent, fully stable, feature rich kernel with great battery life for the ChaCha.
As I said, I haven't tried yours out yet, but will definitely give it a look in the next few days!
Click to expand...
Click to collapse
Thanks. I'm not that into the trying to port or get things to be done in ChaCha for fun. I don't see the benefit of having the latest version of Android working just because I could be done. 2.3.5 and Sense does the trick and allows me to work with my phone.
I would like to have some external reports of success or failure with my kernel. I did it for myself but though others could also benefit from it -- if there is a benefit at all.
kernel tested - no WiFi
I have tested your kernel and found WiFi error. This prevents WiFi activation. I tried with this ROM http://forum.xda-developers.com/showthread.php?t=1644087 and with this one http://forum.xda-developers.com/showthread.php?t=1690088.
johan111 said:
I have tested your kernel and found WiFi error. This prevents WiFi activation. I tried with this ROM http://forum.xda-developers.com/showthread.php?t=1644087 and with this one http://forum.xda-developers.com/showthread.php?t=1690088.
Click to expand...
Click to collapse
My mistake!!! :silly:
You have to copy the modules included in the attached zip file to
Code:
/system/lib/modules
you should be able to connect to wifi after that.
I also put init.d support. You *must* follow the step number 2 detailed in this guide: http://forum.xda-developers.com/showthread.php?t=2287540, as I already did step 1 for you.
Click to expand...
Click to collapse
i cant file called sysinit in system/bin !! or i must create it and type the code inside it?
It's a text file you should create. Type in the code, set owner and permissions and you are done.
Custom Kernel Not Supporting on Chacha with Stock Rom (Rooted with Busybox)
tokafondo said:
Hello all. This is my own custom kernel.
I tailored it to work on stock roms.
I updated the sources (as my knowledge allows me to do it) up to 2.6.35.14.
I put there SWAP support (via a second partition on your SD card). You can enable it with Swapper2.
I also put init.d support. You *must* follow the step number 2 detailed in this guide: http://forum.xda-developers.com/showthread.php?t=2287540, as I already did step 1 for you.
EXT4 and NTFS support is there, too, in the case that you have a sdcard formatted in that file systems, but I haven't tested the NTFS features.
HTC Performance locks is disabled: you can underclock down to 19,2 khz if you want to.
Also, there are SmartAssV2 as default governor and Simple I/O as scheduler.
I hope I will soon be able to put undervolting there, or more CPU clocks for more choices of clock settings.
Comments, please, and enjoy!!
Edit:
You have to copy the files inside modules.zip to
Code:
/system/lib/modules
. Thanks to johan111 for pointing to this.
Click to expand...
Click to collapse
The moment I install the provided zip, and reboots, the phone becomes un-stable and the screen flickers constantly with the icons.
Android :2.3.3
Stock Chacha Sense 2.1 based on India: 1.20.720.1
Kernel: 2.6.35.
Any help !!
F2FS for VILLE
AOSP only!
Current CM or most any of our AOSP ROMs around here that use a current CM based kernel.
THIS IS EXPERIMENTAL AND HAS POTENTIAL FOR DATA LOSS IF DONE IMPROPERLY. IF YOU ARE NOT COMFORTABLE WITH THAT PLEASE DO NOT ATTEMPT. I CANNOT BE AVAILABLE FOR 24/7 SUPPORT ON THIS.
These mods will provide the ability to format /data and /cache in F2FS format instead of EXT4. Use extreme caution. The will erase your entire /data partition just like a clean flash. I cannot and will not be held responsible for your failure to keep backups handy. F2FS is still considered experimental by Samsung and should be by you the user as well.
What is F2FS?
F2FS wiki
Why F2FS?
F2FS put to the test vs EXT4
How to switch?
PLEASE READ INSTRUCTIONS CAREFULLY. IF NOT FOLLOWED YOU WILL LIKELY BOOTLOOP!!
F2FS capable TWRP Recovery This is the same as the Official TWRP built with the added F2FS support commits. When wiping a partition you will have the option to reformat in F2FS now as well.
Kernel+fstab conversion zip Flash this after converting partitions to F2FS to install a CM kernel with F2FS support built in. This zip uses an anykernel installer so it should be comparable with most current ROMS. The zip will extract your current boot.img, unpack and replace your current fstab with a new fstab to indicate you current partition types, replace kernel with F2FS capable kernel , then repack and replace the boot.img
Fstab conversion zip For use only when you are already running a F2FS kernel and only need to update fstab after switching to/from F2FS/EXT4. This installer will only unpack, edit the fstab, and repack the boot.img. This will not replace the kernel, you must already be using an F2FS kernel or be returning to EXT4 only to make use of this zip.
DOWNLOADS
Downloads
Procedure for fresh conversion including new Rom flashing:
1. Backup everthing you want to keep with titanium backup or whatever backup you choose.
2. Fastboot flash the new recovery img.
3. Run a twrp backup in case things get ugly!
4. Flash new ROM now if desired.
5. Still in recovery...Goto wipe -> hit Advanced wipe. Select data and hit change partition type. Convert to F2FS. Repeat for cache.
6. Flash the Kernel+fstab conversion zip.
7. Reboot and profit. Any partition app on market can confirm new format changes.
Procedure for nightly ROM updates after F2FS conversion:
1. Flaah nightly
2. Flash kernel+fstab conversion zip.
Procedure if you want to convert back and forth after initial conversion for testing purposes:
1. Change formats of data/cache as desired (only ext4 and f2fs supported).
2. Flash fstab conversion zip to update format types before attempting boot.
Code:
CHANGELOG
V1.0 - Initial release
Thanks To/Credits:
@jrior001 - For Op
@cannondaleV2000 [crazy right] - For The Idea/every thing
Devs, feel free to use or modify any of this for your own work just give thanks to where it came from. It was not all my original work, I must give thanks to Metallice and jrior00 a few other devs in the grouper forum whose scripts I adapted for my own work.
Source:
Kernel
Recovery tree
Fstab scripts
BUGs :
while converting to f2fs the sd card becomes wiped on hboot 2.16 and I'm just going to go on a whim and say 2.15 as well I don't run it so it has not been tested
You have been warned so no one complain "plz sir you wiped my sd y u no say dis" you will be laughed at
Flashalot said:
BUGs :
while converting to f2fs the sd card becomes wiped on hboot 2.16 and I'm just going to go on a whim and say 2.15 as well I don't run it so it has not been tested
You have been warned so no one complain "plz sir you wiped my sd y u no say dis" you will be laughed at
Click to expand...
Click to collapse
What about converting system to f2fs?
Is it possible to rebuild it based on TWRP 2.8.5.0 (latest)?
You have not mention anything about S-off.. Is it necessary? If yes, add this please in your how to .
Edit (to avoid extra post) i am taking about step 6
Sent from my MI 2S using Tapatalk
NightHeron said:
You have not mention anything about S-off.. Is it necessary? If yes, add this please in your how to
Sent from my MI 2S using Tapatalk
Click to expand...
Click to collapse
Flashing recovery through fastboot never needs s-off
also @Flashalot, will this work on my M7 if I replaced the zImage? We have an F2FS compatible TWRP but no F2FS compatible kernel
javelinanddart said:
What about converting system to f2fs?
Click to expand...
Click to collapse
If it's just system I believe your ok
Rapier said:
Is it possible to rebuild it based on TWRP 2.8.5.0 (latest)?
Click to expand...
Click to collapse
Yes it's just taking a while because I'm back to using separate recovery branch's as I believe this would be the cause as to why I am having the sd card wipe bug and I'm only one person [emoji6]
NightHeron said:
You have not mention anything about S-off.. Is it necessary? If yes, add this please in your how to .
Edit (to avoid extra post) i am taking about step 6
soff don't matter
Sent from my MI 2S using Tapatalk
Click to expand...
Click to collapse
Not needed
dd98 said:
Flashing recovery through fastboot never needs s-off
also @Flashalot, will this work on my M7 if I replaced the zImage? We have an F2FS compatible TWRP but no F2FS compatible kernel
Click to expand...
Click to collapse
Well to give you a insider tip f2fs is about to be released on m7 in a couple of days it's getting the final touches from @cannondaleV2000
Question: If I use a custom kernel (like IceCode or Void), I should first flash the kernel then the conversion zip right? And all the features and functionality of the custom kernel will be preserved just that it'll have added F2FS support. Right?
Question2: What happens if DATA?CACHE/SYSTEM are converted and I restore a nandroid backup made before while I didn't have F2FS? I remember that during restore, partitions are reformatted prior to restoring data on them. Will they be formatted with the new F2FS or they'll be formatted as they were before when I was making the backup (eg EXT4)?
EDIT: I've flashed the recovery and after flashing it sdcard shows only 2.5 GB total space...is this supposed to happen? Reading again your post with the BUG I assume you have a 2.16 hboot...could it be that the recovery is also made for 2.16 and this could be the case? Shouldn't be 2 different versions for 2.15 and 2.16? Also you might state this in the OP cause it is not saying anything about hboot requirement (or I couldn't find this)
It seems like the recovery is for 2.16 hboot only so it is not based on the official TWRP 2.8.1.0 (that's for hboot 2.15). Flashing it on a 2.15 hboot makes the storage showing wrong size. I flashed back the TWRP 2.8.5.0 official and everything is back to normal
Rapier said:
Question: If I use a custom kernel (like IceCode or Void), I should first flash the kernel then the conversion zip right? And all the features and functionality of the custom kernel will be preserved just that it'll have added F2FS support. Right?
Question2: What happens if DATA?CACHE/SYSTEM are converted and I restore a nandroid backup made before while I didn't have F2FS? I remember that during restore, partitions are reformatted prior to restoring data on them. Will they be formatted with the new F2FS or they'll be formatted as they were before when I was making the backup (eg EXT4)?
EDIT: I've flashed the recovery and after flashing it sdcard shows only 2.5 GB total space...is this supposed to happen?
Click to expand...
Click to collapse
since i believe those kernels use there own zImage then I believe the answer would be a no but for any of those who make custom kernels i have all the patches they need in the op
you would have to flash the kernel+fstab conversion because it was formated in EXT4
Rapier said:
EDIT: I've flashed the recovery and after flashing it sdcard shows only 2.5 GB total space...is this supposed to happen? Reading again your post with the BUG I assume you have a 2.16 hboot...could it be that the recovery is also made for 2.16 and this could be the case? Shouldn't be 2 different versions for 2.15 and 2.16? Also you might state this in the OP cause it is not saying anything about hboot requirement (or I couldn't find this)
It seems like the recovery is for 2.16 hboot only so it is not based on the official TWRP 2.8.1.0 (that's for hboot 2.15). Flashing it on a 2.15 hboot makes the storage showing wrong size. I flashed back the TWRP 2.8.5.0 official and everything is back to normal
Click to expand...
Click to collapse
it based on the unified recovery so there would be no need for a hboot requirement kinda already stated i have to make 2 diff ones ill make them in the morning should hit me up on hangouts instead of xda ya know lol
Flashalot said:
it based on the unified recovery so there would be no need for a hboot requirement kinda already stated i have to make 2 diff ones ill make them in the morning should hit me up on hangouts instead of xda ya know lol
Click to expand...
Click to collapse
Yes, I know we should talk on hangouts but I posted here cause I thought that the questions and answers will be of general interest and maybe others will want to know also
And if the recovery is for both hboots don't know why is showing incorrect size for sdcard...
Sent from nowhere over the air...
Rapier said:
Yes, I know we should talk on hangouts but I posted here cause I thought that the questions and answers will be of general interest and maybe others will want to know also
And if the recovery is for both hboots don't know why is showing incorrect size for sdcard...
Sent from nowhere over the air...
Click to expand...
Click to collapse
yea i guess so and i have no clue but im going to redo all the recovery edits and upgrade it to the latest twrp hopeful;y it wont take so long...
@Flashalot can you make tutorial how to compile TWRP from source with support for F2FS.
@Flashalot
Can you add the list of custom kernels that support F2FS to the OP?
My Void KitKat Kernel
My Frosted Kernel
@mikronac.ns's Stockie kernel (coming soon at least, I added the patches today, it needs to be released)
@rmbq's Bubba Kernel (old though, doesn't support ROM builds made after August 2014)
EDIT: Also I only see 640MB of Internal SD space on HBOOT 2.15. That's not right...
mikronac.ns said:
@Flashalot can you make tutorial how to compile TWRP from source with support for F2FS.
Click to expand...
Click to collapse
all my repos are up all you have to do is pull them and build like any other twrp recovery if you really want me to I guess
javelinanddart said:
@Flashalot
Can you add the list of custom kernels that support F2FS to the OP?
My Void KitKat Kernel
My Frosted Kernel
@mikronac.ns's Stockie kernel (coming soon at least, I added the patches today, it needs to be released)
@rmbq's Bubba Kernel (old though, doesn't support ROM builds made after August 2014)
EDIT: Also I only see 640MB of Internal SD space on HBOOT 2.15. That's not right...
Click to expand...
Click to collapse
Yea sure also don't worry that's from the messed up recovery sent the recovery to some cany5 testers today hopefully fix the problem if so I'll release it today
Flashalot said:
all my repos are up all you have to do is pull them and build like any other twrp recovery if you really want me to I guess
Yea sure also don't worry that's from the messed up recovery sent the recovery to some cany5 testers today hopefully fix the problem if so I'll release it today
Click to expand...
Click to collapse
OK. By the way, I have an updated installer. This requires us to maintain two installers because HBOOT 2.15 has a different FSTAB than HBOOT 2.16. I also deleted unnecessary junk to make the script smaller. And (being a grammer Nazi) I added some capatalizations to make it look nicer and corrected some grammar. I'll upload it when I'm done
EDIT: @Flashalot
https://github.com/javelinanddart/f2fs_fstab_convert is the installer (two seperate folders)
Zips are attached
javelinanddart said:
OK. By the way, I have an updated installer. This requires us to maintain two installers because HBOOT 2.15 has a different FSTAB than HBOOT 2.16. I also deleted unnecessary junk to make the script smaller. And (being a grammer Nazi) I added some capatalizations to make it look nicer and corrected some grammar. I'll upload it when I'm done
EDIT: @Flashalot
https://github.com/javelinanddart/f2fs_fstab_convert is the installer (two seperate folders)
Zips are attached
Click to expand...
Click to collapse
Ahhh nice also the grammar as well ill just pack this up in a aroma zip and call it a day lol probably redo that as well
Flashalot said:
Ahhh nice also the grammar as well ill just pack this up in a aroma zip and call it a day lol probably redo that as well
Click to expand...
Click to collapse
I can pack them as an AROMA Installer, don't worry, I just didn't know if you wanted it to be an AROMA installer. Is the test recovery working by the way?
EDIT: I pushed the AROMA installer commits. It is a unified installer now + has a check to make sure you don't screw anything up if you're on the wrong device or HBOOT
Question, I only lost my internal sd data if I convert that partition? If i convert system, data, cache. My photo wil be deleted too?
lorddavid said:
Question, I only lost my internal sd data if I convert that partition? If i convert system, data, cache. My photo wil be deleted too?
Click to expand...
Click to collapse
Backup your sdcard on your pc for safety. I couldn't try it to test for sure since the recovery didn't work properly on hboot 2.15. I'm waiting for a new one to test especially that are some new custom kernels with F2FS support
Sent from nowhere over the air...