Nook HD+ CM10 development (sdcard) updated 5/11 - Nook HD, HD+ Android Development

Finally here it is, the long awaited CM10 for Nook HD+ (early snapshot, anyway).
This codebase is currently hardcoded to work from sdcard only.
How to build from source (you need to meet all the usual cm10 build prerequirements),
Get the source:
Code:
mkdir android/system
cd android/system
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/repo
chmod a+x ~/repo
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
wget -O .repo/local_manifest.xml https://github.com/verygreen/android_manifests/raw/master/ovation-jb/local_manifest.xml
repo sync -j16
(device repo on github)
(temp kludge for source kernel build: get my kernel from https://github.com/verygreen/green_kernel_omap and put it to kernel/bn/ovation (use ovation-3.0 branch for 3.0.31 kernel or ovation-aosp-kernel for 3.0.50), then put B&N source distro copies of wlan and wpan kernel dirs to external inside of kernel dir, and also desired version of sgx proprietary-open tar file into external/sgx)
Build:
Code:
. build/envsetup.sh
lunch cm_ovation-userdebug
. vendor/cm/get-prebuilts
mka bacon
In the out/target/product/ovation output dir you'll have the update file generated: cm-10-XXXXXXXX-UNOFFICIAL-ovation.zip
If you do not want to build from source, here's my current (as of this post, see bottom for newer versions) binary snapshot: cm-10-20130511-UNOFFICIAL-ovation-sdcard.zip
(additionally there's emmc version, follow installation instructions here, but use this install file: cm-10-20130511-UNOFFICIAL-ovation-emmc.zip)
You will also need updated cwm image: sdcard-cwm-early4.img.gz
For first time install only (you will need 4G or bigger sdcard, smaller ones are not supported and not tested):
gunzip cwm image and write it to your sdcard (entire sdcard not just one partition of it), use either dd on Linux/MacOS or Win32 Image Writer for those impaired by Windows. Make sure to use sdcard rated for fast small IO for best results.
(Note: There is now experimental recovery image that does not require adb that's currently documented in this post)
Insert the card into the Nook and reboot the nook, CWM should start.
(This will also automatically repartition the card into a correct layout no matter the size (but no smaller than 4G).
In the CWM:
Go to "mounts and storage", choose "mount /sdcard".
Press power button to go back to the main menu.
Now do
Code:
adb push cm-10-XXXXXXXX-UNOFFICIAL-ovation.zip /sdcard
Also push whatever other zip files you want to install to /sdcard too.
(if you don't have operational adb, you can also just turn off the nook at this stage, put zip files to volume named "CM10SDCARD" (not "boot"), then put sdcard back into nook and start it again)
Next, choose "install zip from sdcard", and then "Choose zip from sdcard" and first cm-...zip, and then whatever other packages you have the need to install.
When done installing, press the power button to go one level up in the menu and then choose reboot.
This will reboot you into CM10.
If you ever need to get back to CWM later, use either "reboot to recovery" power menu, or reboot, and once B&N nook logo shows up, press and hold power and home keys together for about 4 seconds.
To reboot into stock nook software, just poweroff, remove sdcard, then poweron.
Caveats:
- Current sdcard layout is ~800M system and ~900M data for less than 16G and 2G data for 16G+ cards, the rest is a separate sdcard (because having sdcard to live on data is kind of dangerous). I am still taking feedback on these sizes better to change these early on while there are not a lot of users.
- This snapshot uses B&N binary kernel from 2.0, it happens to oops in mtp_open if you have mtp storage mode enabled and plug into a computer, so steer clear of it for now I guess, this will be fixed later. (if your nook reboots when plugged into computer or right on boot while plugged - this is it, likely to happen after first install).
- /cache is shared with stock ROM, helps for slower sdcards at the expense of slower boots when you switch your OS from stock to CM10 or back.
- Upgrade from 20121209 snapshot note: that snapshot had bad kernel that had problems with sdcards. Most advisable thing is to redo entire install (after downloading new, cwm-early3 image first). You might also be able to just install kernel from the update.zip and write it to the first partition on the sdcard, that shuld also fix all issues and will let your existing cwm to work to flash this new image.
Things that I know are not working:
- Coming out of sleep sometimes there's a crash (this is related to wifi, the workaround is to disable wifi while sleeping in the options).
- Rebooting to stock with sdcard still in causes stock to hang at 99% booting and sit there, simply pop out the sdcard and it will finish booting.
- on-headphones microphone is not currently used even if present (I now believe this is actually not a bug, and stock has the same behavior).
- Bluetooth signal strength is very low
- Hulu+ and other such things requiring DRM do not work.
This is now at feature-parity with stock B&N ROM, I believe (other than DRM).
Experimental versions:
Other than the stable version above, there are some experimental versions below that are tested before (hopefully) being promoted to the stable status.
01/07 version with a different kernel, otherwise same as 12/31
01/08 version with a recompiled B&N kernel, otherwise same as 12/31
01/19 version with a yet another different kernel, updated CM10 base and default dpi/screen size changes
02/12 Some CM10 changes from upstream and updated wifi drivers from B&N 2.0.6 code drop (hoping that it will fix the annoying coming out of suspend crash - nope, it did not.)
02/20 Don't reboot into emmc stock on crash, it does us no good. Revert Z-axis in accelerometer for hopefully better responsiveness.
wifi should no longer drain battery when sleeping, cover close will blank screen, gfx issues hopefully fixed
Enjoy.

Finally, a major step in the right direction. Thank you very much for your efforts.

Thanks for that.
One question before try it:
formating /sdcard from CWM will not format the internal "sdcard" directory of the Nook?

Thank you very much. Your work is always appreciated.
The ability to mount and use the internal storage would be great.

Many thanks for this, got it working for some reason the format sdcard step seemed to fail - but got it working by manual format under linux.
Now have gapps and everything else I need installed - so will play with it later but so far seems to run very smooth.
Agree that seeing nook internal storage would be good

Wow, fantastic, will try it tonight. Just checking, no problem using 64G card? Also, I'm assuming for the moment it leaves the complete data structure in tact on the B&N internal memory? Just mostly not mounted? Reason I ask is its a shortcut to get the apps that are already installed there, especially the B&N specific ones. Otherwise I could pull with ADB.
Thanks again!

verygreen said:
Caveats:
- Current sdcard layout is ~800M system and ~900M data, the rest is a separate sdcard (because having sdcard to live on data is kind of dangerous). I am taking feedback on these sizesm better to change these early on while there are not a lot of users.
- There's no access to "sdcard" on internal nook drive, though this could be organized if people think that's useful.
- This snapshot uses B&N binary kernel from 2.0, it happens to oops in mtp_open if you have mtp storage mode enabled and plug into a computer, so steer clear of it for now I guess, this will be fixed later. (if your nook reboots when plugged into computer or right on boot while plugged - this is it).
- /cache is shared with stock ROM, helps for slower sdcards at the expense of slower boots when you switch your OS from stock to CM10 or back.
Click to expand...
Click to collapse
Nice, just some quick questions here.
when you said build, I assume you means cross-compile, right? I know most people are not gonna compile stuff themself, and just use the binary. But so people know if they wanna learn since x86 and arm are different architecture. Just compiling from x86 isn't gonna work.
I agree the size is a bit bloated ATM. Even the gigantic Galaxy Note 2 is about that size also.
The access to internal SD can be useful. Assuming you brought 32GB version of Nook, then you have like 25GB+ worth of storage sitting there. If possible it should be mounted(only old /mnt/sdcard area), whether that be to /mnt/sdcard or /mnt/int_sdcard
I notice you build this based on JB version of android, which is what 4.1 or 4.2? But still using the B&N kernel which is 4.0.4? I'm sure some of the stuff works. I made that mistake as well when attempt to put Play market on the nook earlier.
Thanks for your hardwork.

someone0 said:
Nice, just some quick questions here.
when you said build, I assume you means cross-compile, right? I know most people are not gonna compile stuff themself, and just use the binary. But so people know if they wanna learn since x86 and arm are different architecture. Just compiling from x86 isn't gonna work.
Click to expand...
Click to collapse
Yes, it's cross-compiling, which is still building.
The cm repos provide necessay cross-compilers and all that stuff, though.
I agree the size is a bit bloated ATM. Even the gigantic Galaxy Note 2 is about that size also.
Click to expand...
Click to collapse
So the better sizes are?
I notice you build this based on JB version of android, which is what 4.1 or 4.2? But still using the B&N kernel which is 4.0.4? I'm sure some of the stuff works. I made that mistake as well when attempt to put Play market on the nook earlier.
Click to expand...
Click to collapse
build is based around 4.1.2.
B&N kernel is pretty much inline with JB (3.0.31), so it works pretty well (other than the mtp_open oops). I'll switch to building it from source anyway, but this will take some time.

dbh369 said:
Wow, fantastic, will try it tonight. Just checking, no problem using 64G card?
Click to expand...
Click to collapse
I don't have anything this big, so only tried 16G.
Also, I'm assuming for the moment it leaves the complete data structure in tact on the B&N internal memory? Just mostly not mounted?
Click to expand...
Click to collapse
Mostly. /cache is shared so this one is modified.
Also to get recovery we are reusing stuff in /bootdata (BCB and boot counter).
Reason I ask is its a shortcut to get the apps that are already installed there, especially the B&N specific ones. Otherwise I could pull with ADB.
Click to expand...
Click to collapse
You should not be sharing apps between the two, they might be different version too, anyway.

Is there any reason to think this would not work on the NOOK HD as well? I understand that the reason it may have not been tested is that no one is willing to test it, but if it "should work" then I'd be willing to purchase the HD and test and report results.
Verygreen, thank you for all your continued hard work with the CM/NOOK bases.

Thanks for this.
A few things , you are maybe already thinking of implementing these:
1. It would be good if you could dual boot both systems with a menu or holding a volume button to boot to stock nook os, instead of having to take out the sd card, save a bit of time and ease (the slot is quite hard to open )
2. Access to internal storage would be good. I have 32gb nook, so not being able to use 25gb of free space on the internal storage is not great, but I'm sure its quite easy to fix. Is it just a matter of mounting it correctly ?
Everything seems great, with the tearing issue do you know what the problem is ?

jay_ntwr said:
Is there any reason to think this would not work on the NOOK HD as well? I understand that the reason it may have not been tested is that no one is willing to test it, but if it "should work" then I'd be willing to purchase the HD and test and report results.
Verygreen, thank you for all your continued hard work with the CM/NOOK bases.
Click to expand...
Click to collapse
I could be proved wrong but I don't think it will work for you on a HD. It doesn't work on a HD for me....

With Nook HD, try rebooting a few times with card installed see if it goes to cwm,

tried on HD
CelticWebSolutions said:
I could be proved wrong but I don't think it will work for you on a HD. It doesn't work on a HD for me....
Click to expand...
Click to collapse
I tried the CWM card in my HD. I can concur that the HD doesn't boot from the card, it just goes to rooted stock.

ArcSmurf said:
Many thanks for this, got it working for some reason the format sdcard step seemed to fail - but got it working by manual format under linux.
Now have gapps and everything else I need installed - so will play with it later but so far seems to run very smooth.
Agree that seeing nook internal storage would be good
Click to expand...
Click to collapse
I got this problem too, format sdcard from cwm doesn't work.
It says Failed to mount /sdcard ... Skipping format ..
How did you fix ?

Really loving your efforts! Damn, thank you very much! I'll see if I can contribute soon, after I get my new computer. Can't wait for CM10 on HD+, it'll actually utilise the Nook HD+'s potential. It's dual-core, it can playback full HD, but it's limited by software.

Managed to get it to format sd card after I messed about formatting the sd card completely again and writing the cwm image

HiddenG said:
Really loving your efforts! Damn, thank you very much! I'll see if I can contribute soon, after I get my new computer. Can't wait for CM10 on HD+, it'll actually utilise the Nook HD+'s potential. It's dual-core, it can playback full HD, but it's limited by software.
Click to expand...
Click to collapse
quadcore.

jay_ntwr said:
Is there any reason to think this would not work on the NOOK HD as well? I understand that the reason it may have not been tested is that no one is willing to test it, but if it "should work" then I'd be willing to purchase the HD and test and report results.
Click to expand...
Click to collapse
Yes, this will not work on the nook HD directly, that has different uboot, different kernel and different SoC (not to mention different display).

I can't get /sdcard to mount or format no matter what I do. I'm using Windows, which seems to always be a hindrance in the root community.
Also, I'm fairly certain the the Nook HD+ processor (OMAP 4470) is a dual-core. Besides the main cores it has the two ARM Cortex-M3 cores, but it is still technically a dual-core processor.
PS- I'm running the Nook HD+ 16GB. Could the 16GB vs. 32GB cause any issues? Just wondering.

Related

[MOD]Epic 4G Dual Boot Support -- NOW WITH APP!!!

Dual Boot Support
DualBoot Helper APP is now on the market! (See bottom of this post for more info)
DISCLAIMER: I am not responsible for anything, ever. It is not my fault if you do not read. I do not explain things because I enjoy banging on the keyboard. If you do not read this entire post before jumping in then do not expect me or anyone else to be much help. By following this guide and any links YOU assume all responsibility for your device and anything that happens with it.
What is it?
Dual booting allows you to run two separate roms on your device at one time. It is done by intercepting the mount points during the startup of the device. This is accomplished by checking the sdcard for a specifically named file when the kernel first loads and uses the appropriate files to boot with the correct partitions. Reading from the sdcard is slower than reading from the internal memory of the phone so the speed of your sdcard will drastically determine the speed any rom runs. On the same note a rom flashed to the sdcard will take longer than usual on the first boot.
What does it do for me?
Running two separate roms has many uses for just about everyone. Users can use dual booting to try different roms, themes, apps, modifications, or anything while keeping their existing installation intact. The uses are just about endless. Besides testing different roms, this allows the user try these things and make sure they are compatible and stable before pushing the changes to their internal memory. Rom developers have all of the above options plus a few. Rom developers can additionally use dual booting to test builds of their roms without fear of soft bricking their device. For advanced users, you can mount the partitions of the other rom (be it sdcard or internal) and fix bad apk files or messed up files. The options really are limitless!
What do I need?
Sdcard 2GB or larger
Dual boot compatible kernel
Other things I should know...
*The kernel MUST support BOTH roms you flash. Unfortunately this means you can NOT mix froyo and gingerbread roms. Make sure you know what the kernel supports before you flash anything!
*If you compare roms, benchmarks will hold no value due to the sdcard being so much slower than internal memory.
*Faster sdcards will perform better than slower ones. Note: the stock 16GB sdcard is a class 2 which simply classifies it's minimum speed. A higher class sdcard will more than likely perform faster but the class rating is a minimum and not a maximum. It is entirely possible that a certain class 2 card can out perform a different class 6 card. Keep this in mind when researching to buy a new faster sdcard. More info in this post.
*First boot takes longer than usual. Up to 15 minutes! Please wait until the rom boots and the initial media scanner is done before you judge usability.
*Using a rom from the sdcard will cause the sdcard to wear faster. This is due to many more reads and writes of data than normal. The Epic simply does not have the internal capacity to run dual roms on the NAND. That being said the sdcard is our next option. While it may reduce the over all life of the sdcard keep in mind there are other android devices like the Nook Color and the other Galaxy S phones that have internal sdcards running the Android operating system. My personal opinion with is with other devices running off internal sdcards and with the price of sdcards getting cheaper and cheaper it was worth it to explore this option for the Epic.
Ok ok, so how do I get started?
I am going to break the steps down into sections. Please read everything to ensure you understand what all is involved in getting everything working. I recommend making a backup in Clockwork Mod and saving it to your PC before you even get started.
Section 1 - Setting up the environment
Step 1. Flash a compatible kernel (Kernel developers, PM me if you add my dual boot support to your kernel and I will update the list below) Remember you can NOT mix a eclair, froyo, or gingerbread roms and the kernel MUST support both roms!
Currently compatible kernels:
Genocide 2.0 Supported Roms: EC05, EB13, and DK28
Section 2 - Preparing sdcard
Important information!!!! This will destroy ALL data on your sdcard so if you lose pictures of your dog, cwm backups, nudies of your spouse, etc then you can't blame me. BACKUP YOUR SDCARD!
The easy way:
Reboot into recovery mode with a program like Rom Manager, Quick Boot, or type 'reboot recovery' from a terminal. (NOT 3-finger boot to recovery...this will NOT work)
The easy way WILL erase your sdcard with NO confirmation....you have been warned!
Choose one of the following flashable zips to automatically partition your sdcard
DualBoot_Partition_RFS.zip
DualBoot_Partition_EXT4.zip
The manual way:
Reboot into recovery mode with a program like Rom Manager, Quick Boot, or type 'adb reboot recovery' from a command line. (adb commands assume you have a working install of the Android SDK)
While in recovery issue the following commands:
Code:
adb shell
cd /sbin
./dbpart.sh --help
I put many hours into the partitioning script to make it as simple to use as possible. Simply follow program usage instructions.
Section 3 - Preparing a rom
Since we have blank partitions on the sdcard we need to populate them with data. There are multiple ways to accomplish this and you can choose which solution best suits your needs. I am not going to cover ALL methods here but enough to suffice any likely scenario needed.
The dd method will clone your current setup to the sdcard (these commands may take up to 15 minutes)
The easy way:
Flash this dd script: DualBoot_Clone_to_sdcard.zip
The manual way:
Code:
adb shell
dd if=/dev/block/stl9 of=/dev/block/mmcblk0p2
dd if=/dev/block/stl10 of=/dev/block/mmcblk0p3
dd if=/dev/block/stl11 of=/dev/block/mmcblk0p4
Preparation is complete. Please skip down to booting from sdcard.
The flash method is for flashing a new rom to the sdcard.
The easy way:
There is no sure fire easy way just yet. Stay tuned though.
The manual way:
This method is not that difficult so there is no need to be intimidated by it. It requires editing a few lines of the script that Clockwork Mod executes when flashing a rom or addon. For this example I am going to use a file named epicrom.zip but you can use any name you wish.
Step 1. On your PC, open epicrom.zip (I recommend using a program like 7zip)
Step 2. Navigate to the META_INF\com\google\android\ folder.
Step 3. Drag the file updater-script out of the zip to your desktop.
Step 4. Open the updater-script file with a text editor such as notepad (I recommend notepad++ or textpad)
Step 5. Change every instance of /dev/block/stl9 to /dev/block/mmcblk0p2
Step 6. Change every instance of /dev/block/stl10 to /dev/block/mmcblk0p3
Step 7. Change every instance of /dev/block/stl11 to /dev/block/mmcblk0p4
Step 8. Delete the entire line for any lines that contain /dev/block/bml7 or /dev/block/stl7 to disable flashing another kernel and breaking dual boot support.
Step 9. Save the file and drag and drop it back into epicrom.zip and let it replace the old one.
Note: If you get a status 6 or some other error when trying to flash it is likely you made a typo or your text editor did no save the updater-script file correctly. Recommended action is to correct the typo and/or use one of the recommended text editors note in Step 4.
Section 4 - Flashing to sdcard
Flashing a rom from this point is the same as you usually do. Put the modified rom on your sdcard and flash with Clockwork Mod like usual. I recommend doing a backup in Clockwork Mod BEFORE you flash in case you messed anything up by accident and end up flashing over internal memory when you meant to flash to the sdcard.
Section 5 - Booting sdcard
To boot from the sdcard place a file in the root of your sdcard called 'bootsdcard'. If you named it correctly upon reboot, the kernel will load the rom from the sdcard and not internal memory.
To boot back into internal memory simply remove this file from your sdcard and reboot.
You can switch back and forth using this method. If the file is there it boots sdcard, if the file is not there it boots normally. Pretty simple right?
Section 6 - Other flashables (not roms)
Themes, addons, and anything else that is flashable with Clockwork Mod must be modified in the same fashion as the rom. Use the same procedure documented in Section 3, The flash method.
Kernel Developers:
If you would like to add dual boot support to your kernel please refer to this commit: https://github.com/Rodderik/Genocide-Kernel/commit/a5dfd9f369ae4f2c90c1e7fc7d8995f88f72bd01
I will update this section if I push any specific changes to dual booting.
Now with an APP!
DualBoot Helper
VenumX coded up an APK to work with Clockwork Mod to run the scripts.
http://forum.xda-developers.com/showthread.php?p=15486144#post15486144
Questions, concerns, gripes, or complaints can be left in this thread. If you need to report any problems please be as detailed as possible.
woot
Thats my boy!!!! Make me proud!!!!!!!!!!
w00t! go man go!
Holy ****! This is huge! Thanks!
Sent from my SPH-D700 using Tapatalk
OMFG this is way amazing ;P
Thr genious once again with another first
Sent from my SPH-D700 using XDA Premium App
Edit
nevermind...
good work!!!!!!!!!!!!
davidrules7778 said:
I got a question...
Would i be able to run dual versions of android
Ex 2.1 and 2.2
or 2.2 and 2.3
if the kernal is compatible?
Click to expand...
Click to collapse
if the kernEl was compatible yes...but none of them are...and likely won't be
Good damn job bro.. Let's keep the dev community developing
Rodderik said:
if the kernEl was compatible yes...but none of them are...and likely won't be
Click to expand...
Click to collapse
what if u made one of the eclair kernal compatible or gingerbread whenever we get custom kernals for it?
Or is it not possible to make eclair kernals compatible?
i think i could make a GB kernel now.. but you wouldnt be able to mix gb with froyo or eclair, because a GB kernel wont boot those builds..
Awesome work bro! Amazing...simply amazing!
chris41g said:
i think i could make a GB kernel now.. but you wouldnt be able to mix gb with froyo or eclair, because a GB kernel wont boot those builds..
Click to expand...
Click to collapse
yup i'm going to help chris41g put together a gb kernel for you guys
as far as eclair...honestly who still uses eclair? and why?
Rodderik said:
as far as eclair...honestly who still uses eclair? and why?
Click to expand...
Click to collapse
Just what I was thinking.
Tested on EC05 just now. I uhh... likey? =)
to bad no multi android versions though =(
why cant the kernel read off the sdcard? do you need drivers from samsung once again?
Shoulon said:
Tested on EC05 just now. I uhh... likey? =)
to bad no multi android versions though =(
why cant the kernel read off the sdcard? do you need drivers from samsung once again?
Click to expand...
Click to collapse
well the kernel is stored in bml7 and called by sbl/param during boot so unless we can get a bootloader to intercept the initial loading of the kernel and pass it off we are stuck with one kernel at a time
Very Nice Work !!!
Hey rodd... I think you should work on an aosp gingerbread kernel ... this is a great advancement in devlopment man... right when it was slowing again
Sent from my SPH-D700 using XDA App
this is amazing, thanks for this!!
You cannot make a cross OS kernel. We cannot integrate this into GB yet because there is no GB source, no GB source, no custom kernel. This is Froyo only, and well, someone else can make an eclair only kernel, but that is stupid.

[DEV] Lenovo Ideapad A1 Kernel Development/Testing

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.

[NookHD+] CM10.1 native emmc install Now part of CM Nightlies

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.

[Nook HD] CM10.1 native EMMCNow part of CM nightliies

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, you do loose B&N ROM for good after installing this.
This is work in progress, yadda yadda.
Follow this install guide substituting various filenames with filenames below if you don't understand the below instructions
Get nookhd-emmc-cwm.img.gz, gunzip and write it to an sdcard of at least 1G in size (all content on that card will be lost). (use dd under Linux and MacOS, use Win32DiskImager or similar tool under Windows, use 7zip under windows to unpack).
Download CWM recovery zip if you want internal recovery to be replaced with CM one (if you don't know what is it about, then you need it). As another option there's a graphical TWRP recovery available. (you can only have one recovery option)
Also download latest nightly from http://download.cyanogenmod.com/?device=hummingbird
You can write installation zips for recovery, cm binary + whatever else you need and transfer them to Nook user storage (if you have it activated and all), OR add all these files + whatever other packages you might need right away on to the sdcard.
Insert sdcard into Nook and reboot the Nook, next install recovery (if desired) and the cm10.1 binary and whatever else you put there.
Use Install zip from sdcard, if you copied installation zips to sdcard, otherwise use "choose zip from internal sdcard" - both options are in "Unstall update from zip file".
Erase /data (only on initial install, this is important to avoid crashes on bootup! Naturally, make sure you have copies of whatever important info from there before you remove).
Remove the sdcard 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).
Known problems:
- Nook app reports incompatible in market (workaround1: just sideload it ; workaround2: change ro.product.device to nookhd in build.prop) - This is because they specifically blacklist Nooks! For workaround #2, revert the value back to hummingbird when done installing, otherwise you'll lose sound.
- Certain sdcards still remain unstable.
- Google Earth crashes when you press "my location" button, but works fine otherwise.
Changelog:
13/08/09 - We are part of official CM and latest nightly from here is what you should get now: http://download.cyanogenmod.com/?device=hummingbird
13/08/01 - cm-10.1-20130801-UNOFFICIAL-hummingbird-emmc.zip
- Data usage statistics should now work
13/07/19 - cm-10.1-20130719-UNOFFICIAL-hummingbird-emmc.zip (backup link)
- Update wifi drivers to R5.SP3.06
- Kernel with initial charger control for the charger app to work
- 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.
13/07/11 - cm-10.1-20130712-UNOFFICIAL-hummingbird-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-hummingbird-emmc.zip
- Rebased on cm-10.1.1 for security fixes.
13/07/08 - cm-10.1-20130708-UNOFFICIAL-hummingbird-emmc.zip
- ExFAT and NTFS support from upstream
13/07/06 - cm-10.1-20130706-UNOFFICIAL-hummingbird-emmc.zip
- revert accidentally applies frequency bump patch that made it into 07/04
13/07/04 - cm-10.1-20130704-UNOFFICIAL-hummingbird-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-hummingbird-emmc.zip
- usb ids changed to match stock
- swap support enabled
13/06/30 - cm-10.1-20130630-UNOFFICIAL-hummingbird-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-hummingbird-emmc.zip
- Experimental kernel work
- enabled 1.5GHz freq by default
- in-kernel bluetooth
13/06/24 - cm-10.1-20130624-UNOFFICIAL-hummingbird-emmc.zip
- more kernel drivers for bt hid, usb 3g modems and gps devices
13/06/15 - cm-10.1-20130615-UNOFFICIAL-hummingbird-emmc.zip
- WiFi Direct and BT tethering are now working
- /sdcard now points to internal storage.
13/06/13 - cm-10.1-20130613-UNOFFICIAL-hummingbird-emmc.zip
- Boosted speaker and headset audio levels.
- gfx cash on startup fixed
- Zinio now works out of the box
13/06/12 - cm-10.1-20130612-UNOFFICIAL-hummingbird-emmc.zip
- Fixed HDMI audio
- Fixed HDMI video upside-down picture
- Added usb audio support
- Enabled tabbed view in Settings app.
13/06/10 - cm-10.1-20130611-UNOFFICIAL-hummingbird-emmc.zip
- Initial release
This is unrelated development to bokbokan's sdcard/hybrid install, because he does not make his source code available, so don't ask me to pick features from his build.
oh my god
finally, :laugh:
Works great.
Sent from my Nook HD running CM10.1 on emmc.
Sweet!!!!!!
Will test it out.
I guess this means we will have access to a working repo soon so we all can start building from source.
dubidu said:
I guess this means we will have access to a working repo soon so we all can start building from source.
Click to expand...
Click to collapse
https://github.com/verygreen/android_device_bn_hummingbird
verygreen said:
https://github.com/verygreen/android_device_bn_hummingbird
Click to expand...
Click to collapse
Txs
Woohoo! Fantastic work! And thank you so much for posting source.
New binary release: cm-10.1-20130612-UNOFFICIAL-hummingbird-emmc.zip
Changes:
- Fixed HDMI audio
- Fixed HDMI video upside-down picture
- Added usb audio support
- Enabled tabbed view in Settings app. (This seems to be looking ok, but if you find it's too bad, let me know and we certainly can try to roll it back or only have it for landscape or some other stuff).
Thank you!! :victory:
Running fantastic for me. Thanks.
AMAZING! I just wanted to cruise by the forums because I was bored with nothing new until I see this post! Awesome work is all I can say. Does this mean no more reboot restores with /system and complete control and customization of the device without the unlocked bootloader?
Haven't look at the code yet, but I believe if you change "ro.product.device" in "build.prop" you will loose all the sound.
Can someone test it?
Niiiiice! Thanks, been waiting on this.
Now, quick question: There is a stock ROM to flash, right? I just exchanged another HD & it was easy enough to just remove the SD card. I've only had this HD a week.
Thanks!
Oh yeah, I remember now: Yes, there is.
http://forum.xda-developers.com/showthread.php?t=2062613
LAYGO said:
Niiiiice! Thanks, been waiting on this.
Now, quick question: There is a stock ROM to flash, right? I just exchanged another HD & it was easy enough to just remove the SD card. I've only had this HD a week.
Thanks!
Click to expand...
Click to collapse
This is a ROM to replace the stock on emmc. You should back up your stock first. E.mote has an excellent tutorial that verygreen links in his OP here. Then you can restore that backup to get back to stock if you need to return it.
Edit: Guide is here. Just substitute the files from the OP instead of the ones listed in the guide:
http://forum.xda-developers.com/showthread.php?p=42399961
Sent from my Nook HD+ running CM10.1 on emmc.
leapinlar said:
This is a ROM to replace the stock on emmc. You should back up your stock first. E.mote has an excellent tutorial that verygreen links in his OP here. Then you can restore that backup to get back to stock if you need to return it.
Edit: Guide is here. Just substitute the files from the OP instead of the ones listed in the guide:
http://forum.xda-developers.com/showthread.php?p=42399961
Sent from my Nook HD+ running CM10.1 on emmc.
Click to expand...
Click to collapse
I guess I wasn't clear in my question (too early). I just needed to know if there was a stock ROM to flash back to stock in case I had to return it. Of course, I could just Nandroid my stock install too (DUH, didn't think about that, just like you said).
Updating to latest ROM?
Folks,
I picked up a Nook HD+ 16Gb last night and followed the guide to install CM10.1. Everything went smoothly. A big THANK YOU to verygreen and lepinlar for all the work in creating this and the guides/instructions on how to install.
I've got a couple questions:
I installed the cm-10.1-20130608-UNOFFICIAL-ovation-emmc ROM and have made some changes on the tablet (added my daughters as Users, downloaded some apps, etc). How would I go about upgrading to the cm-10.1-20130612-UNOFFICIAL-hummingbird-emmc ROM? Would I lose the changes I've already made? Is there way to install/upgrade to the new ROM and keep the changes I've already made? Thanks.
Shenandoah
shenandoah2 said:
Folks,
I picked up a Nook HD+ 16Gb last night and followed the guide to install CM10.1. Everything went smoothly. A big THANK YOU to verygreen and lepinlar for all the work in creating this and the guides/instructions on how to install.
I've got a couple questions:
I installed the cm-10.1-20130608-UNOFFICIAL-ovation-emmc ROM and have made some changes on the tablet (added my daughters as Users, downloaded some apps, etc). How would I go about upgrading to the cm-10.1-20130612-UNOFFICIAL-hummingbird-emmc ROM? Would I lose the changes I've already made? Is there way to install/upgrade to the new ROM and keep the changes I've already made? Thanks.
Shenandoah
Click to expand...
Click to collapse
First you do not want to flash that ROM to your HD+. If you look at the filenames you will see ovation (which means HD+) and hummingbird (which means HD). But if you want to upgrade to a newer ovation ROM, just flash the newer ROM over the top of your old ROM. It will keep all your changes you've made.
Sent from my Nook HD+ running CM10.1 on emmc.
Lepinlar,
Sorry about the post. I didn't read it close enough to realize it was for the HD (not the HD+). Should I delete my original post so it doesn't confuse anyone else?
Shenandoah
shenandoah2 said:
Lepinlar,
Sorry about the post. I didn't read it close enough to realize it was for the HD (not the HD+). Should I delete my original post so it doesn't confuse anyone else?
Shenandoah
Click to expand...
Click to collapse
No, it might actually help others users who are confused by the issue. Leave it there as originally posted.
Sent from my Nook HD+ running CM10.1 on emmc.
Awesome ROM, thanks for doing this. Battery life vs stock is amazing, UI looks much better, more customizable, great having root to back up apps and etc.
I had a small issue with the 06/08 build on my HD+ where the battery would not recharge. Power cycling (turning it off and then on again) seemed to fix it. Is anyone seeing this issue with this 06/12 build? Thanks!

[ROM] CARBON-KK-UNOFFICIAL_f2fs-20150526-moto_msm8960

Hi guys,
for those of us who are waiting for at least the M1 of CM12 before switching lanes, I did a build of Carbon (and a few of CM11, previously) for our Photons.
This is an odexed ("user", not "userdbg") build, running on the cm-12.1 kernel branch and using the latest available f2fs_tools. It also features a modified init which can use either f2fs or ext4 for /cache and /data - so switching to f2fs is highly recommended, but not mandatory. Superuser is included.
This is esentially for those who switched to CM12 just for f2fs; it's miles faster than cm12, and a bit more responsive that the old official cm11 nightlies.
A word of warning. TWRP's "change filesystem" function formats the partition (PhilZ does too, but at least it makes that explicit).
So what you want to do when switching from an ext4 ROM is,
before you begin: copy everything in the internal sdcard somewhere on the external sdcard; this is needed, since the "internal sdcard" is actually a folder in /data;
in TWRP, begin by creating a backup of /data (that saves everything except the "internal sdcard" and /cache - that's why you need step #1);
do the FS change for both /data and /cache
restore the /data backup, on the freshly formatted /data partition; ignore the "different filesystem" warning, it's inconsequential;
install the ROM;
once you booted the phone, copy back the old contents of the internal sdcard
You only need to do this when you change filesystems, which will be exactly once if you like my ROMs And obviously, if you don't, you have to use the exact same procedure before flashing an ext4 ROM, if you don't want to lose data.
Though, in all fairness, I'd recommend flashing this cleanly - unless you're upgrading from an ext4 Carbon build.
A note on the radio
I have included a tool called radio-tool (of my own design) that allows people to enable/disable the US GSM lock and individual network bands;
if you're having the SIM mod, and are from, or have business in, the US, you can use it to kill the CDMA and Sprint LTE bands altogether, as well as to enable US GSM bands and disable the US GSM lock;
the source code is here
Use (as superuser)
Code:
radio-tool [dbg] [{+|-}opt [...]]
where opt is one of
uslock - US GSM lockout
cdma - CDMA bands (CDMA800 / CDMA1800 / CDMA2000 1xEV-DO)
usgsm - US GSM/HSPA bands (GSM850, GSM1900, WCDMA850, WCDMA1900)
eugsm - EU GSM/HSPA bands (GSM900, GSM1800, WCDMA900, WCDMA2100)
sprlte - Sprint LTE (LTE25, 1900)
vzwlte - Verizon LTE (LTE13, 700)
Download:
ROM: CARBON-KK-UNOFFICIAL_f2fs-20150526-moto_msm8960.zip
Recoveries: TWRP-2.8.6.0-20150526-f2fs-moto_msm8960_jbbl-xt897.img, PhilZ-6.59.0-20150520-crkk_f2fs-moto_msm8960_jbbl-xt897.
You do not need to use a su app with this; but if you want to, please use the latest SuperSU. Attempting to use a different, or older, su app could result in no radio.
Changes from stock Carbon:
alternative mount points support - this enables the ROM to work with either f2fs or ext4 for /data and /cache
tuned mount settings - kickass speed with both ext4 and f2fs
256MB of lz4-compressed swap space (zram0)
built on gcc-4.8-sabermod
build.prop tweaks - this defaults to GSM/WCDMA - plus a few radio and network tweaks;
added a few goodies that are present in CM builds (Term, Apollo, Calendar, CMWallpapers, VideoEditor, plus the cmdline utils);
removed the stats and the update apps (for obvious reasons)
added Romanian (programmers) keyboard support in Asanti Keypad
built with: twrp 2.8.6.0, cm12.1 kernel, cm12.1 f2fs-tools, cm12.1 e2fsprogs, cm12.1 exfat, cm12.1 fuse.
(this will allow me to pick up any improvements in kernel, file systems, and recovery, with great ease )
Quirks:
MTP doesn't start by default in TWRP, despite the fact that it claims to be enabled; disable and re-enable MTP, and it will work
in PhilZ' mount menu, entries for cache and data are duplicated; this is cosmetic - mounting and umounting works just fine, regarless which of the two entries for each partition you choose
.
Older, CM11 vanilla builds:
Download:
cm-11-20150427-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip - repo syncs, builds with TWRP, uses branch cm-12.1 of the kernel, uses latest available f2fs-tools
Use latest SuperSU with any of the CM ROMs - older, or different, su apps might make the radio not work.
NOTE. These ROMs are actually moto_msm8960_jbbl, so they should work on all devices for which official moto_msm8960_jbbl builds did, as long as they're still on the JB bootloader (jbbl) and you have a device-specific recovery that supports f2fs. A suitable PhilZ touch for non-xt897's can be found on the AtrixHD thread, courtesy of @palmbeach05, or you could use PhilZ-6.59.0-20150506-crkk_f2fs-moto_msm8960_jbbl-mb866 (note, despite the -mb866 suffix, it should work on any moto_msm8960_jbbl device except xt897).
The current repo is available here. To use,
repo init -u https://github.com/mionica/android.git -b cr_kk_gcc-4.8
repo sync
. build/envsetup.sh
breakfast carbon_moto_msm8960_jbbl
edit the .repo/local_manifests/roomservice.xml, changing the device project for android_device_motorola_moto_msm8960_jbbl to
Code:
<project path="android" name="mionica/android_device_motorola_moto_msm8960_jbbl" remote="mionica" revision="cr_kk_xt897" />
repo sync again
finally, (cd vendor/carbon && ./get-prebuilts).
After you do that, you're good to go - (optional) configure ccache (if it's your first build), (optional) enable ccache, choosecombo, then mka carbon 2>&1 | tee BUILD.LOG.
If you're not sure how to do any of these, either just use the provided ROM, or search on youtube for "building CyanogenMod" - that should help, I know it helped me Anyway, this thread is not the right place for learning how to build Android.
Mirrored for archival purposes.
This server WILL BE SLOW. You've been warned.
http://lionspaws.net/cm-11-20150401-UNOFFICIAL_f2fs-moto_msm8960_jbbl/
98e652a97965ba5d88cb9068fe7d4dbe *cm-11-20150401-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip
Using it for the last few days, seems good so far. Thanks
taking a break
Quick one. I'll take a break from this for now - my little sister's phone broke down, so she got my Photon. I just ordered one from the States today, but between that arriving and cornholiogsm doing the SIM mod, it might take a while (US to Ireland to Czech Republic to Ireland - and Tomas is pretty busy in my experience).
Thanks much for building this!
Forgive my ignorance, I've been using CM11 a while but other than the initial installation in which I followed wiki instructions, have only ever updated thru the phone. But since there hasn't been an update in a couple months, I'm considering installing this, particularly to solve the google service problems. If it makes the phone faster with better file system and ram stuff, that's a bonus, although concerned that might cause problems in the future. I don't fully understand what you mean by messed up build and odexed user stuff means. Basically I wonder can I just install this on top of the latest CM11 nightly without issues ("dirty flash")? My "recovery" is recovery-clockwork-6.0.4.4-xt926 clock but I only used that cuz that was what the wiki said, I've never used it since the initial install.
If the answer is yes, and I understand your post right, these are the install steps:
1. Download cm-11-20150408-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip
2. Download & install TWRP-2.8.6.0-20150408-cm11_f2fs-moto_msm8960_jbbl.img
3. Change filesystem of /cache and /data to f2fs using TWRP
4. Install cm-11-20150408-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip using TWRP
You said something about flash SuperSU alongside this. I don't recall having to do that before, can you provide a little more info?
Do I need to reinstall gapps, and if so, is it the same as I used before, gapps-kk-20140606-signed.zip?
And a couple more easy questions I could probably find by searching... how do I install that twrp....img file, can I do that thru clockwork... and how do I get into clockwork anyway, I remember it was holding some volume key during power or something but last time I tried to guess weird things happened with robots getting operations and such so if you happen to know the right keys/etc that would be convenient... will twrp replace clockwork and have the same keys to get boot to it, if not, what keys?
And last but not least... when CM11 M13 finally comes out, will I be able to upgrade to that from this, or perhaps because of the stuff you've taken from CM12 (f2fs/zram/etc) maybe I can't, or maybe I can if I set the filesystem back to default with TWRP first? How bout if one day I decide to use Lollipop (which I may never do anyway as I understand it's only recommended for phones with more than 1GB memory), will I be able to upgrade to CM12 the same way as regular CM11 user? I'd always used official stuff so this unofficial is making me nervous, but I really want my google stuff working right again and my battery to last all day like it used to...
Wait what wiki told you to use CWM for xt926!? CM's wiki?
enigma9o7 said:
Thanks much for building this!
Forgive my ignorance, I've been using CM11 a while but other than the initial installation in which I followed wiki instructions, have only ever updated thru the phone. But since there hasn't been an update in a couple months, I'm considering installing this, particularly to solve the google service problems. If it makes the phone faster with better file system and ram stuff, that's a bonus, although concerned that might cause problems in the future. I don't fully understand what you mean by messed up build and odexed user stuff means. Basically I wonder can I just install this on top of the latest CM11 nightly without issues ("dirty flash")? My "recovery" is recovery-clockwork-6.0.4.4-xt926 clock but I only used that cuz that was what the wiki said, I've never used it since the initial install.
If the answer is yes, and I understand your post right, these are the install steps:
1. Download cm-11-20150408-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip
2. Download & install TWRP-2.8.6.0-20150408-cm11_f2fs-moto_msm8960_jbbl.img
3. Change filesystem of /cache and /data to f2fs using TWRP
4. Install cm-11-20150408-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip using TWRP
You said something about flash SuperSU alongside this. I don't recall having to do that before, can you provide a little more info?
Do I need to reinstall gapps, and if so, is it the same as I used before, gapps-kk-20140606-signed.zip?
And a couple more easy questions I could probably find by searching... how do I install that twrp....img file, can I do that thru clockwork... and how do I get into clockwork anyway, I remember it was holding some volume key during power or something but last time I tried to guess weird things happened with robots getting operations and such so if you happen to know the right keys/etc that would be convenient... will twrp replace clockwork and have the same keys to get boot to it, if not, what keys?
And last but not least... when CM11 M13 finally comes out, will I be able to upgrade to that from this, or perhaps because of the stuff you've taken from CM12 (f2fs/zram/etc) maybe I can't, or maybe I can if I set the filesystem back to default with TWRP first? How bout if one day I decide to use Lollipop (which I may never do anyway as I understand it's only recommended for phones with more than 1GB memory), will I be able to upgrade to CM12 the same way as regular CM11 user? I'd always used official stuff so this unofficial is making me nervous, but I really want my google stuff working right again and my battery to last all day like it used to...
Click to expand...
Click to collapse
I agree with @arrrghhh you should use what your device maintainers recommend you use. I would also recommend you looking at what bootloader you have before trying this as there are KKBL builds in a different thread on I believe the RHD section. Odexed is like what you get from the manufacturer. It has .apk and odex files in it. odex assist the apk files. 6.0.4.4 is outdated, as 6.0.5.1 is the most recent. The install method you just recited is exactly what the OP just said. Per the OP, SU was not built into the 4/8 ROM, so you need to flash it as well. Yes you should be able to flash that Gapps, you just have to update your Gapps after finishing setup via playstore. Lollipop is able to be used on your device, as it currently has official builds. 5.0 had issues, 5.1 just got its official release yesterday. As far as unofficial builds go, I refer you to epinter and krystianp who both took an older device and provided unofficial updates that were very stable, despite the neverending work on a custom kernel. Furthermore, you can go talk to Quarx about unofficial builds, since his builds has been running the Defy for years. So being nervous about an unofficial build is like saying you're nervous about using a generic brand of something vs the more publicized item. Battery life will always be an issue if you have a bad setup (wifi and bt on all the time, max bright screen, hrs of listening to music or streaming, etc.)
@enigma9o7 Personally, I can't wait to do an unofficial cm11 build based on the cm11 m13 code base - with f2fs, and I expect, by then, zram (if it proves useful on cm11 at all - this thing works unreasonably well to begin with ). So I wouldn't worry about m13, as I'm pretty sure to release a parallel build on its side.
Now, I'm a bit impaired re. testing equipment atm but I have a mind to keep building this weekly or so anyway, while I judge the commits to be low-risk, and resume the riskier stuff once I get the new toy. Was away from Dublin this week, hence from my home PC , but that gets fixed tonight...
mionica said:
@enigma9o7 Personally, I can't wait to do an unofficial cm11 build based on the cm11 m13 code base - with f2fs, and I expect, by then, zram (if it proves useful on cm11 at all - this thing works unreasonably well to begin with ). So I wouldn't worry about m13, as I'm pretty sure to release a parallel build on its side.
Now, I'm a bit impaired re. testing equipment atm but I have a mind to keep building this weekly or so anyway, while I judge the commits to be low-risk, and resume the riskier stuff once I get the new toy. Was away from Dublin this week, hence from my home PC , but that gets fixed tonight...
Click to expand...
Click to collapse
One question i did have that i was wondering, when you built the kernel, did you set it up for GSM, CDMA, or both? I know we've talked via pm about things, but i've gotten it to boot up with your kernel, but no signal and baseband unknown
Sent from my ATRIX HD using XDA Free mobile app
palmbeach05 said:
One question i did have that i was wondering, when you built the kernel, did you set it up for GSM, CDMA, or both? I know we've talked via pm about things, but i've gotten it to boot up with your kernel, but no signal and baseband unknown
Click to expand...
Click to collapse
Mmm will have to check. For me it's working in the EU using GSM/HSPA on the xt897 with the SIM mod.
I used the stock config from the cm12.1 xt897 kernel - I'll have to diff that with the cm11 one.
Another possibility is that it wouldn't work because of SElinux mismatches between kernel and userland. The following has to be in the fstab:
Code:
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware ext4 ro,nosuid,nodev,noatime,nodiratime,barrier=1,[b]context=u:object_r:radio_efs_file:s0[/b] wait,check
If it doesn't, on the xt897 you get no WiFi, but I expect results might vary by device
All I'm saying is, it might or might not be a kernel config, would have to check when I get to my PC.
mionica said:
I used the stock config from the cm12.1 xt897 kernel - I'll have to diff that with the cm11 one.
Click to expand...
Click to collapse
I reviewed the entire changelog from cm-11.0 to HEAD, and couldn't find anything that looked even remotely radio-related, so I reckon it's most likely the SElinux thing. And now that I built a TWRP that has a chance of running on AHD, I guess you could tell me whether that's the case
arrrghhh said:
Wait what wiki told you to use CWM for xt926!? CM's wiki?
Click to expand...
Click to collapse
Yep, pretty sure. All started a year ago when I was looking for an android smartphone with a keyboard, this one was rated best, wikipedia itself said CM was required for kitkat, so looked into CM, found their installation wiki http://wiki.cyanogenmod.org/w/Install_CM_for_xt897 which step #2 is install clockworkmod recovery. Right now if I follow the link it leads to recovery-clockwork-6.0.1.3-asanti.img, but I'm pretty sure at the time I originally installed it lead to that version I used, which did work fine for installing CM as I do have it installed. But it's possible something else lead me to that version, I can't really remember for 100% sure, but I definitely started from CMs wiki.
---------- Post added at 10:17 AM ---------- Previous post was at 10:04 AM ----------
palmbeach05 said:
I would also recommend you looking at what bootloader you have before trying this as there are KKBL builds in a different thread on I believe the RHD section
....
The install method you just recited is exactly what the OP just said. Per the OP, SU was not built into the 4/8 ROM, so you need to flash it as well.
...
Yes you should be able to flash that Gapps, you just have to update your Gapps after finishing setup via playstore.
...
So being nervous about an unofficial build is like saying you're nervous about using a generic brand of something vs the more publicized item.
Click to expand...
Click to collapse
Thanks. My understanding is there is no KKBL for Photon Q anyway, but anyways I've always used the msm...jbbl roms.
Okay, will add installing SU to install steps.
Since I already have that version of gapps, my question is do I need to reinstall it then update everything. Shouldn't it already be good? I didn't have to reinstall gapps with the official nightlies, so want to know if I really need to for this.
My concern with unofficial is not that I dont trust it or think it's less stable, just that it may make it more difficult in future to upgrade or get back onto official path as I may not be able to follow the same steps as everyone else.
I'm still unsure if it's okay to dirty flash over CM11 nightly. I do actually use my phone for work so don't want to mess it up... but really want google stuff working again and can't keep waiting forever for official cm11.
enigma9o7 said:
Yep, pretty sure. All started a year ago when I was looking for an android smartphone with a keyboard, this one was rated best, wikipedia itself said CM was required for kitkat, so looked into CM, found their installation wiki http://wiki.cyanogenmod.org/w/Install_CM_for_xt897 which step #2 is install clockworkmod recovery. Right now if I follow the link it leads to recovery-clockwork-6.0.1.3-asanti.img, but I'm pretty sure at the time I originally installed it lead to that version I used, which did work fine for installing CM as I do have it installed. But it's possible something else lead me to that version, I can't really remember for 100% sure, but I definitely started from CMs wiki.
---------- Post added at 10:17 AM ---------- Previous post was at 10:04 AM ----------
Thanks. My understanding is there is no KKBL for Photon Q anyway, but anyways I've always used the msm...jbbl roms.
Okay, will add installing SU to install steps.
Since I already have that version of gapps, my question is do I need to reinstall it then update everything. Shouldn't it already be good? I didn't have to reinstall gapps with the official nightlies, so want to know if I really need to for this.
My concern with unofficial is not that I dont trust it or think it's less stable, just that it may make it more difficult in future to upgrade or get back onto official path as I may not be able to follow the same steps as everyone else.
I'm still unsure if it's okay to dirty flash over CM11 nightly. I do actually use my phone for work so don't want to mess it up... but really want google stuff working again and can't keep waiting forever for official cm11.
Click to expand...
Click to collapse
Yes, you can dirty flash this ontop of an existing CM11 after switching /data and /cache from ext4 to f2fs. Gapps will be fine since they install on the /system partition.
Sent from my ATRIX HD using XDA Free mobile app
Switched to Carbon, but preserved most of the goodies from CM; links in the first post.
Also added a note on how to hack your radio to disable CDMA/LTE - so you could go with this phone in the US and never register on Sprint's network (unless they have a GSM/WCDMA network in place too, which should be fine).
I decided to give it a try with your latest CM11. I installed the TWRP from your first post, was able to backup fine, but don't see how to reformat as f2fs....
enigma9o7 said:
I decided to give it a try with your latest CM11. I installed the TWRP from your first post, was able to backup fine, but don't see how to reformat as f2fs....
Click to expand...
Click to collapse
There should be an option to wipe things, go there
Sent from my ATRIX HD using XDA Free mobile app
palmbeach05 said:
There should be an option to wipe things, go there
Click to expand...
Click to collapse
Thanks, found it.
And now I'm stuck. But I bet it's an easy solution.
I changed filesystems, restored data & cache, installed cm (04/27), installed superuser (wasnt sure if needed, but figured it couldnt hurt), and I booted.
No wifi or phone service but I'm hoping the last step will fix that, restoring sdcard0. However, I can't figure out how to copy that back. I used ES File Explorer to copy it to a folder in sdcard1 before I started. But now I can't paste it back to /storage, always told copy fails. There is a 0 byte file called sdcard0 there, if I delete it, it comes back. Since it's not a directory I can't change to it and copy the contents of my previous save into it... I tried deleting it and making a folder called sdcard0 before it recreated the 0 byte file but that failed too.
I thought maybe I'd try command line, but I'm no expert there... I su'd and tried similar things as in EX but similar results.
I thought I'd try to copy it back with TWRPs file manager, but I couldn't figure out where to put it, there was no /storage directory, so I tried putting it in / and that started copying for a while but before it was done it rebooted and just hung at the TeamWin screen until I powered off...
So yeah. Dunno how to restore sdcard0. Help please....
edit: maybe superuser doesn't work? I tried to use default "file manager" and it wont let me switch to root mode. Then I noticed that while trying ES File Manager again I didnt see the popup about "root granted" or something like that that I normally see. But superuser is installed, its in the apps menu and runs and a quick look thru the settings seems okay to me, but I don't recall ever setting anything before.
edit2: I'm giving up and going to try to go back to last cm11 nightly and hope my phone starts working again. I tried reflashing multiple times, eventually tried supersu instead of superuser and that worked to get root explorer working, but I still couldn't copy over sdcard0 using ES anyway, but using default filemanager I could start (although I hate that filemanager cuz I dont know how to change directories, usually have to tap about 15 times before it opens a folder), but it would always start then reboot before it finished. So I still dunno how to copy that back.
enigma9o7 said:
No wifi or phone service but I'm hoping the last step will fix that, restoring sdcard0. However, I can't figure out how to copy that back. I used ES File Explorer to copy it to a folder in sdcard1 before I started. But now I can't paste it back to /storage, always told copy fails. There is a 0 byte file called sdcard0 there, if I delete it, it comes back. Since it's not a directory I can't change to it and copy the contents of my previous save into it... I tried deleting it and making a folder called sdcard0 before it recreated the 0 byte file but that failed too.
Click to expand...
Click to collapse
Superuser is probably not a smart choice on KK. Use SuperSU instead.
The very first boot is somehow handled differently - I discovered this when I worked on integrating SuperSU into a catch-all zip of mine (alongside Windows Mobile ringtones, Midnight Commander, patched hosts, and a few other goodies). I got no radio with my package, but if I flased SuperSU instead, it worked.
It took me a coupe of tries to find the culprit - a flag file in /etc that SuperSU created after the first boot (and I attempted to create that from my zip). Made my zip not create that, and bang! everything worked just fine. Btw, removing that file after the first boot had no effect, the phone'd be screwed until you wiped /data.
Now, the fact that SuperSU handles the first boot differently kinda makes me think that older su's might very well not work (properly) on KK - and what you're reporting seems to confirm that.
I would strongly suggest going Carbon instead; that includes a working su. It's essentially CM with a different boot logo and a good few extra customization options (which you can safely ignore if you're not into that sort of thing).
So if you didn't go back yet, try either
flashing carbon and being done with it, everything will work;
flash the cm rom alongside supersu, not any other root app,
Either way, root will work, phone will work, and you'll be able to copy stuff around to your heart's desire.
As for a FM, I strongly suggest an app called Total Commander. The UI is atrocious as of late (the author is obviously better at coding than designing icons ), but it' probably the most complete FM solution for Android, bar none. And it's free, without adds; wait til you try it in landscape
I'm sorry for you inconvenience, but I also somehow feel it's earned - the OP said SuperSU back before Carbon replaced CM; because that's what I was using, and it worked for me - no guarantees if you went your own way. I've re-added the limitation and made it bold+orange in the CM part of the post (Carbon has its own, fully working, su).
Added the 2015.05.03 build of Carbon; links to 2015.04.30 removed.
At this stage, CM users should have everything they liked about CM, already compiled in (except for WhisperPush, the point of which I don't quite see).
Changelog from 2015.04.30:
added Calendar (!!!) - why on earth would the Carbon guys build an ROM without this?!
built on gcc-4.8.x-sabermod-20150429
added CMWallpapers, Video Editor
added the previously-missed vim, unrar, zip and gdbserver
synced with upstream; in particular, there was a noteworthy GPU memory allocation improvement in the kernel
Todo:
add an app for messing with the NV settings (enable/disable bands, enable/disable US GSM lockdown)
enable zram.
Added the 2015.05.05 build of Carbon; links to 2015.05.03/04 removed.
Changelog from 2015.05.04:
set default governor to msm-dcvs - better out-of-box performance
imported the cm-12.1 init support (including swap enabling)
Changelog from 2015.05.03:
support for fstab alternatives, cm12-style (my own code in fs_mgr); now you can use the ROM with either f2fs or ext4 for /cache and /data
massively improved FS performance for both ext4 and f2fs - tuned the fstab settings for best performance;
added radio-tool to enable/disable US GSM lock and groups of radio bands (CDMAs, US GSM/HSPA, EU GSM/HSPA, Sprint LTE, Verizon LTE) - see spoiler in first post
Todo:
figure out why swapping doesn't want to start, despite the device being there and mkswap succeeding (error -16).
Updating the recovery to a 20150505 build is highly recommended.

Categories

Resources