UNOFFICIAL CM12.1 for Nook HD/HD+ [2015-12-18] - Nook HD, HD+ Android Development

This thread is a direct continuation of @Hashcode's work for porting to Lollipop. Because of his and @verygreen's heavy lifting, porting to CM12.1 happened almost painlessly, for which I'm grateful. Their contributions compelled me to share something back. Thus, I'm uploading personal builds of CM12.1 for HD and HD+ in this shared Box folder. While I do not own a hummingbird, sister builds are generated more or less concomitantly.
Some of the important device-specific changes from KitKat/CM11 are described in Hashcode's thread. The goal is to keep as close as possible to CM upstream, and integrate whatever fixes and enhancements we find over time. More progress information will be added here gradually, as I have time. A lot of useful discussion happened on the CM12.0 thread, and the status of things is available to anyone willing to search. Hunting for possible bug fixes, understanding how to actually boot a newer kernel are some of my current priorities. I am not a developer, and the usual disclaimers apply.
Recovery Information
Up to date eMMC TWRP images are included in the respective device folders. Personally, I've had a good experience with TWRP, and do not plan on looking at other recovery distributions. Now, there have been (very) sporadic reports of broken partition tables, soft-bricked devices, etc, blamed on recovery. Although recovery is usually not the actual culprit, here are some ways you can rescue a completely unresponsive device:
It's a good idea to keep a microSD card around, with verygreen's external recovery image from here.
Once booted off the external recovery, you can easily fix whatever is broken (ADB is your friend here). There's no need to re-install CM11, as re-flashing recovery and/or boot will most likely fix your issue.
Recovery partition: dd if=<path to recovery image> of=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery
Boot partition: dd if=<path to boot/kernel image> of=/dev/block/platform/omap/omap_hsmmc.1/by-name/boot
Afterwards, you should at the very least have a working internal recovery. I don't recall any instance where /system and/or /data became corrupted because of recovery, but you can certainly fix them now.
I've never tested this part, but I believe that you may be able to install an eMMC CM12 ZIP with verygreen's external CWM, even if /data and /cache are F2FS (assuming you copied all ZIPs onto the external card). My understanding is that only /dev/block/platform/omap/omap_hsmmc.1/by-name/system (always ext4, mountable by any recovery) is touched during installation, so you may even bypass TWRP completely.
P.S. If you broke you bootloader by flashing the wrong recovery flavor, despite all images being clearly labeled as hummingbird or ovation, well, no sympathy for you… Still, you can bring your device back to life within minutes as described above.
Progress towards Official CM12 Nightlies
As of now, most things are ready for turning official nightlies on, including official TWRP images and SELinux Enforcing support, albeit with this proviso:
My HW composer changes described in post #3 and #602 are not included upstream, since the plan was to fix upstream for all devices using CyanogenMod/android_hardware_ti_omap4.
The stumbling block with SELinux Enforcing had been remounting /system upon each new install, to write the customized WLAN NVS BIN. I'm avoiding this step by modifying the scripts to store the Wi-Fi calibration data in /rom now, with the added benefit that it only needs to be generated once. These changes are also not captured upstream, and may never be. If someone figures out an upstream-approved way of writing to /system upon first boot under Enforcing, then we'll probably switch back to the old fix-mac script.
On a personal note, posting on my threads is pretty tricky business... My builds were never intended for general consumption, but rather a way to move porting and development forward, and I often debate only keeping the GitHub repositories for people to build themselves. Obviously, that would upset hundreds of people at this point, so I make an effort to upload reasonably bug-free builds, as well as help even with trivial non-problems whenever I can. Nevertheless, low quality, or badly written posts (and I don't mean bad English) are a sure way to get ignored, and my memory is pretty long term Basically, I won't police content here, but I also don't want to deal with the the kind of stupidity and entitlement so prevalent in real life.
In conclusion, no need to thank (unless you really want to), or ask about donating, etc, but do reassess the limits of your current understanding before making bold claims, as I do too. Nothing worse than having to fix a trail of misinformation... Also, comparisons to other people's work (unless constructive), complains about the state of things, or simply starting with "no offense" and such, will make your problem much less likely to be solved by me.
XDA:DevDB Information
UNOFFICIAL CM12.1, ROM for the Barnes & Noble Nook HD, HD
Contributors
amaces, Hashcode, verygreen, Jon Lee
Source Code: http://github.com/airend
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.0.x
Version Information
Status: Testing
Created 2015-04-16
Last Updated 2015-09-14

All Things Kernel
The information below (branch names, kernel progress, etc) is slowly becoming out of date (post #2 in the Marshmallow thread has more details). Although it feels pretty archaic at this point, I'm leaving this information here, mostly for historical reasons.
My primary focus has been and continues to be an even better kernel. Instead of opening a separate thread, I will be using this space for kernel updates and related information, in a sort of log format.
Since making any of the fancier OMAP-specific kernel trees work properly is a huge headache with limited benefits, I just merged the linux-3.0.101 patches, mainly for testing (the d-3.0 branch). These patches may help with the ARM core, not so much with OMAP parts, and certainly no change to any of the Nook-specific systems. Subjectively, the normal kernel still feels marginally more stable, but hey, everything still works.
It's mid May, and for the past couple of weeks, branch g-3.0 has slowly become my default kernel. It contains additional merges from the Google 3.0 OMAP kernel, the .101 commits, plus cherry-picked changes from various sources. Hopefully, all these make for a better kernel, although the holy grail remains K3.4…
I've been experimenting with improvements upon KSM; UKSM and PKSM are supposed to better recover duplicated/lost RAM (the former in the default g-3.0 branch, the latter in p-3.0). As with KSM, they need to be enabled (and optimally tuned) through the sysfs interface (echo 1 > /sys/kernel/mm/[up]ksm/run).
A significant number of patches were added for LZ4 support, and to make zram/zcache actually use it. I think it makes things snappier, but we'll have to wait and see. Also, it turns out that good old KSM is better after all; PKSM creates instability, and UKSM is a lot more CPU hungry, very much undesired on an already underpowered device.
Another exciting week for K3.0… @Hashcode uploaded a bunch of LMK/low RAM/etc optimizations for some AMZ/OMAP44xx variants, which I'm stealing for the HDs. As I'm better understanding the use of MFLAG/QOS for frame prioritization, I ported some of these changes from K3.4. The most exciting however, is the DMA-buffered K3.0 that I have working (branch dma-buf). It definitely feels better, although figuring out how to completely switch away from memory carveouts, fix the communication with OMX/Ducati for HW accelerated video, is complicated. This branch will remain an experimental project till K3.4 is up and running.
Just for testing, I'm rebasing most of my changes on top of the official CM12.1 kernel, and made the new iosched branch default for a while. This branch contains many changes to the block layer, cherry-picked from @faux123's tuna kernel. We now have newer I/O schedulers, such as FIOPS, ROW, and eventually BFQ. The current default elevator is ROW with 256 KB readahead. A few other interesting patches popped up, mainly related to unaligned access on ARM, and related optimizations.
Since July, all changes are grouped into feature branches on top of the upstream kernel, which are finally merged into the cm-12 branch, the default for the foreseeable future. This way of doing things is easier to maintain, and makes these changes easier to read, when deciding what to keep/discard for upstream.

HW Composer Issues & Fixes
The goal, and probably one of the base requirements to have these devices included in the CM12 nightlies, is to have a stable ROM with normal HW accelerated overlays. As of now, we achieved this by mostly reverting to the HW composer in CM11, although understanding why the newer code in hardware/ti/omap4 creates these underflows is equally important. Post #602 contains more information about this issue.
Starting with the July 14th builds, disabling HW overlays shouldn't be necessary any longer.
Before mid-July, we were using the upstream HWC in CyanogenMod/android_hardware_ti_omap4. As discussed ad nauseam, that combination of upstream K3.0/PVR modules/SGX DDK binaries/HWC runs into serious GFX buffer underflows. With five or more composer overlays, the panel attempts to reset constantly, which causes display flickers, followed by reboot (dumpsys SurfaceFlinger|grep -A 10 type will show how consistent this bug is).
In the meantime, a poor workaround was to disable HW overlays in Developer options. To make it stick across reboots, you could use this /data/local/userinit.sh:
Code:
#!/system/bin/sh
(while :
do
sf=$(service list | grep -c "SurfaceFlinger")
if [ $sf -eq 1 ]
then
service call SurfaceFlinger 1008 i32 1
break
else
sleep 2
fi
done
) &

First!!! Great to see you start your own thread. Thanks for all the great work

ac-t660 said:
If I have the 3/24 ROM already installed, should I dirty-flash the 4/8 version or do I need to reset and fresh install it in order to properly get the changes?
And like everybody else has said - thanks amaces and hashcode, incredible job!
Click to expand...
Click to collapse
Doh! I must have been typing my question as you were creating this new thread. Moving it since you and everyone using your builds are moving over here. Thanks again!

Based on this, I'd say that should be possible soon, if not already. However, that wasn't the case with the initial builds. I'd say no harm wiping just /system, and maybe /cache, flashing a CM12.1 ZIP, plus the proper GApps, and see how it goes.

Thanks!
I've flashed your 8 Apr build, and it (mostly) looks good. I still get the occasional forced reboots after some flickering. The flickering tends to occur when changing from portrait to landscape and pulling down the settings bar.
I very much look forward to see some progression.
Can you provide some instructions with installing TWRP on the HD+? I have Cyanoboot installed and flashed your build using CWM recovery.
Thanks.

In response to this post in the 12.0 thread.
amaces said:
The changelog would basically be the CM12.1 one
Click to expand...
Click to collapse
Great, so can you point to the latest CM12.1 commit that you've included when you make a release? Knowing the date doesn't pin it down completely.
amaces said:
About the ovation kernels, those images were for CM12.0, and while they may work with current builds (for reasons stated above), they don't provide any benefit anymore.
Click to expand...
Click to collapse
So we should use our original boot/kernel images?

Thanks!!
Hey amaces,
Thanks so much for the 12.1 builds. On the 4/4 build and will be testing out the 4/8 build over the weekend.
Thanks!!

shdware said:
Can you provide some instructions with installing TWRP on the HD+? I have Cyanoboot installed and flashed your build using CWM recovery.
Click to expand...
Click to collapse
Flashify can do that for you inside the ROM, or you could dd if=recovery.img of=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery inside adb shell or terminal. Also, current TWRP allows flashing of boot/recovery images directly.

MossyTC said:
Great, so can you point to the latest CM12.1 commit that you've included when you make a release? Knowing the date doesn't pin it down completely.
Click to expand...
Click to collapse
Sure, can do, although that kind of tagging needs to be thought out. I could simply append the CM review change number, but that's not very useful since most changes are in repositories that don't affect our devices. I'll look if anyone found a good way to do it (frankly, I don't recall seeing it done).
MossyTC said:
So we should use our original boot/kernel images?
Click to expand...
Click to collapse
The ROMs come with their own kernel. Those independent kernels were simply testing a few patches for the buffer underflow/flickering issues, and were meant for easy swapping within compatible CM12.0 builds.

Hi amaces,
I had done the 5.0 build, what do I need to do in order to pull in the 5.1?
TIA

andtron said:
Hi amaces,
I had done the 5.0 build, what do I need to do in order to pull in the 5.1?
TIA
Click to expand...
Click to collapse
I think it's better to backup your apps (I use titanium), do a full wipe and then install the 5.1 rom and gapps.

I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
When I go to Settings -> Storage it says total space 12.67GB but "Available" is only 700MB, which doesn't add up and doesn't agree with the graph.
I have:
Apps 0.92GB
Pictures, videos 5.62MB
Audio 296KB
Downloads 1.20GB
Cached data 1.24MB
Misc 1.65GB
Adding that up is just under 3.8GB total so I should have about 8.9GB free, but it only reports 700MB.
Something is wrong with the free space calculation. Any help here? This wasn't a problem on the previous CM12.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.

Thanks Tschumi.
My question is more on how to pull the sources and build the 5.1 myself.

mr72 said:
I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
When I go to Settings -> Storage it says total space 12.67GB but "Available" is only 700MB, which doesn't add up and doesn't agree with the graph.
[…] Adding that up is just under 3.8GB total so I should have about 8.9GB free, but it only reports 700MB.
Something is wrong with the free space calculation. Any help here? This wasn't a problem on the previous CM12.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.
Click to expand...
Click to collapse
That must be… frustrating. So, you're saying this happened on CM11, then CM12.0 was fine, and now the bug is back on CM12.1? There are a couple of unusual/puzzling issues that people report, including the reboot-instead-of-poweroff bug. Never having experienced these, it's hard to figure out the cause, but I'll keep it in mind.
andtron said:
My question is more on how to pull the sources and build the 5.1 myself.
Click to expand...
Click to collapse
These days, it's very easy; you simply upgrade your LP5.0/CM12.0 sources with: repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1

mr72 said:
I am running the 04/08 and it is working fine except one major problem that is the bane of Android everywhere since kitkat...
It keeps telling me I have insufficient storage space to do anything, update apps or install new apps, and there are hardly any apps on the device.
BTW I did a clean install (full system wipe) before installing the CM12.1.
Any help is appreciated. I am at my wit's end on this issue.
Click to expand...
Click to collapse
I think it has something to do with updating from stock to cm. Go to 'terminal emulator' app, type 'su' then 'df'. Let us know what is the output.
Also, backup all your data. Do you mind clean install again? Which recovery are you using? If you convert your data partition to F2FS I'm sure it'll fix it. Not because F2FS will fix it, but because converting it to F2FS will format the entire /data partition (including the virtual /sdcard). There might be old files downloaded when you used stock rom.

extrem0 said:
...If you convert your data partition to F2FS...
Click to expand...
Click to collapse
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!

J-Pod said:
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!
Click to expand...
Click to collapse
I did it using twrp recovery 2.8.6.0 built by amaces. There's an option that allows you to convert some partitions to f2fs. Remember, it will erase all your files in your nook. Do a backup of your files before converting to f2fs.

J-Pod said:
Quick question, how does one go about converting the partition to f2fs on the ovation? I've done a couple searches but can't find anything definitive such as which recovery I should have installed and if it is a zip that I would need to flash.
Thanks!
Click to expand...
Click to collapse
Using @amaces TWRP, go to Wipe, check the data box, select "advanced wipe then it's something like " repair file system". I'm sure you can figure it from that.

Related

WARNING: You will need TWRP configuration in your device tree soon!

Sometime in the next few days (maybe this weekend), we will be merging https://gerrit.omnirom.org/#/c/1169/
This will allow TWRP to build properly on userdebug builds. As a warning, it WILL break anyone who doesn't have TWRP config in their device tree when it is merged! (You will get errors about missing files in bootable/recovery/res if I recall correctly)
See http://forum.xda-developers.com/showthread.php?t=1943625 for info on various TWRP device tree configurations. At an absolute minimum I believe you will need the device resolution added to avoid breaking your build.
For additional details, see:
Find5:
https://gerrit.omnirom.org/#/c/1633/
Yuga:
https://gerrit.omnirom.org/#/c/1682/ (Depends on fusion3-common changes)
pollux-common (pollux_windy and pollux don't have specific items and just inherit common):
https://gerrit.omnirom.org/#/c/1155/ (Depends on fusion3-common changes)
fusion3-common:
https://gerrit.omnirom.org/#/c/1152/
flo:
https://gerrit.omnirom.org/#/c/1634/
mako:
https://gerrit.omnirom.org/#/c/1635/
@Entropy512
Hey there!
Add me on hangouts sir:
[email protected]
What about this TWRP configuration for honami?
https://github.com/Omni-Xperia/android_device_sony_rhine-common/commits/cm-10.2
i have built one for pollux and it works
Just wondering, does this recovery actually get flashed when installing? I.e. do all the parameters need to be set properly to build the ROM, or just enough to not break the build? I'm already using TWRP and I'm not sure of the right BoardConfig.mk settings but if I'm just trying to port it to my device that shouldn't matter right? Though I noticed there are device trees on the TeamWin GitHub for building TWRP, for my device (n8013) it seems out of date.
Edit: well cool, turned out not to matter and it seems like my build actually booted, I'm pleasantly surprised .
iofthestorm said:
Just wondering, does this recovery actually get flashed when installing? I.e. do all the parameters need to be set properly to build the ROM, or just enough to not break the build? I'm already using TWRP and I'm not sure of the right BoardConfig.mk settings but if I'm just trying to port it to my device that shouldn't matter right? Though I noticed there are device trees on the TeamWin GitHub for building TWRP, for my device (n8013) it seems out of date.
Edit: well cool, turned out not to matter and it seems like my build actually booted, I'm pleasantly surprised .
Click to expand...
Click to collapse
Pretty much what happens is, TeamWin will get a device tree, modify it to be compatible with TWRP, and use that to build for that device. The actual core source for TWRP itself is in a separate repository that is constantly updated. So pretty much its like this : once your device tree is modified to build TWRP for your device during a build, it will build using TWRP source , which is android_bootable_recovery, for omnirom specifically.
Think of it like this: you setup a device tree to say "build TWRP using this source code" . once the device tree is looking for that source code, it'll always build twrp without issues (for the most part). Now the location your device tree looks to is the twrp source itself, which is updated and improved all the time, so if you're device tree is setup properly for tarp, you will have a recovery.img in your out directory after a build that is as up-to-date build of twrp to when you last did a repo sync
Sent from my SGH-I337 using Tapatalk
jakew02 said:
Pretty much what happens is, TeamWin will get a device tree, modify it to be compatible with TWRP, and use that to build for that device. The actual core source for TWRP itself is in a separate repository that is constantly updated. So pretty much its like this : once your device tree is modified to build TWRP for your device during a build, it will build using TWRP source , which is android_bootable_recovery, for omnirom specifically.
Think of it like this: you setup a device tree to say "build TWRP using this source code" . once the device tree is looking for that source code, it'll always build twrp without issues (for the most part). Now the location your device tree looks to is the twrp source itself, which is updated and improved all the time, so if you're device tree is setup properly for tarp, you will have a recovery.img in your out directory after a build that is as up-to-date build of twrp to when you last did a repo sync
Sent from my SGH-I337 using Tapatalk
Click to expand...
Click to collapse
Ah thanks, that's useful, but not really what I was asking about. I got that part, I just wanted to know if flashing the ROM actually flashes the recovery that was built in tree as well, and it seems like the answer is no (at least for me my recovery didn't change). As such it seems like the main point that Entropy512 was making is that if you don't add the resolution to your BoardConfig.mk the build won't complete, but otherwise it doesn't really matter if you set the other parameters correctly.
The paths I was referring to were the mount points for the internal and external SD, I thought they had changed since ICS but I think they might still have symlinks to the old paths for compatibility's sake.
iofthestorm said:
Ah thanks, that's useful, but not really what I was asking about. I got that part, I just wanted to know if flashing the ROM actually flashes the recovery that was built in tree as well, and it seems like the answer is no (at least for me my recovery didn't change). As such it seems like the main point that Entropy512 was making is that if you don't add the resolution to your BoardConfig.mk the build won't complete, but otherwise it doesn't really matter if you set the other parameters correctly.
The paths I was referring to were the mount points for the internal and external SD, I thought they had changed since ICS but I think they might still have symlinks to the old paths for compatibility's sake.
Click to expand...
Click to collapse
You mention mount points for the SD, I have been building for the HTC One S and while all the mount points in the my ville/rootdir are correct for example in the fstab.qcom file
# SD card
/devices/platform/msm_sdcc.1/mmc_host/mmc0 /storage/sdcard0 auto defaults voldmanaged=sdcard:36
The rom shows it as unavailable/missing and asks me to format the SD card, I tried and the message keeps popping up.
Basically my question is, will building twrp recovery for the device sort out the missing SD card.
iofthestorm said:
Ah thanks, that's useful, but not really what I was asking about. I got that part, I just wanted to know if flashing the ROM actually flashes the recovery that was built in tree as well, and it seems like the answer is no (at least for me my recovery didn't change). As such it seems like the main point that Entropy512 was making is that if you don't add the resolution to your BoardConfig.mk the build won't complete, but otherwise it doesn't really matter if you set the other parameters correctly.
The paths I was referring to were the mount points for the internal and external SD, I thought they had changed since ICS but I think they might still have symlinks to the old paths for compatibility's sake.
Click to expand...
Click to collapse
flashing a ROM will never flash a recovery, but some devices have the recovery as part of the boot.img, so when you flash a new kernel, for example, you will be flashing a new recovery as well
iofthestorm said:
Just wondering, does this recovery actually get flashed when installing? I.e. do all the parameters need to be set properly to build the ROM, or just enough to not break the build? I'm already using TWRP and I'm not sure of the right BoardConfig.mk settings but if I'm just trying to port it to my device that shouldn't matter right? Though I noticed there are device trees on the TeamWin GitHub for building TWRP, for my device (n8013) it seems out of date.
Edit: well cool, turned out not to matter and it seems like my build actually booted, I'm pleasantly surprised .
Click to expand...
Click to collapse
Ideally you should have a goal of building a fully functional recovery.
However, with the exception of older Samsungs (galaxys2 family and older for the most part) and Sonys, you don't NEED the recovery to be fully functional. With the galaxys2 family and Sonys - yeah you need it. (Actually Sonys do have a workaround, but the GS2 family does not.)
That said, leaving a partially configured recovery configuration is bad practice.
jakew02 said:
flashing a ROM will never flash a recovery, but some devices have the recovery as part of the boot.img, so when you flash a new kernel, for example, you will be flashing a new recovery as well
Click to expand...
Click to collapse
Yeah, that'd be what I was thinking of. My first Android phone, the Samsung Fascinate, had a weird setup like that.
Entropy512 said:
Ideally you should have a goal of building a fully functional recovery.
However, with the exception of older Samsungs (galaxys2 family and older for the most part) and Sonys, you don't NEED the recovery to be fully functional. With the galaxys2 family and Sonys - yeah you need it. (Actually Sonys do have a workaround, but the GS2 family does not.)
That said, leaving a partially configured recovery configuration is bad practice.
Click to expand...
Click to collapse
Alright, that's what I figured. Yeah, I'll fix it later for sure, I just didn't have the time this weekend and I didn't plan on submitting a patch to make it officially supported anyway, as I just wanted to try it out for myself at this point. And I figured since it's the n8013 you'd be the best person to support that anyway, I only know enough to get myself in trouble.
(do you still have your N8013 by the way?)
iofthestorm said:
Yeah, that'd be what I was thinking of. My first Android phone, the Samsung Fascinate, had a weird setup like that.
Alright, that's what I figured. Yeah, I'll fix it later for sure, I just didn't have the time this weekend and I didn't plan on submitting a patch to make it officially supported anyway, as I just wanted to try it out for myself at this point. And I figured since it's the n8013 you'd be the best person to support that anyway, I only know enough to get myself in trouble.
(do you still have your N8013 by the way?)
Click to expand...
Click to collapse
I do, but it mostly collects dust these days. At some point I'll try to get Omni up on it, I've just had too much else to do lately.
So another question, what is the mechanism by which twrp.fstab is used? I decided to flash my recovery for the heck of it (sidenote: on the 4.4 branch it still has the AOSP recovery in the manifest, but I just added omnirom/android_bootable_recovery to my local_manifests.xml) and it actually runs but nothing appears to be mounted. I notice that some TWRPify commits have a twrp.fstab but they don't do a PRODUCT_COPY_FILES for that file so I'm wondering how it even gets used? I see for example that your commit for flo is doing it: https://gerrit.omnirom.org/#/c/1523/ but then this guy didn't actually add it to PRODUCT_COPY_FILES for hammerhead: https://gerrit.omnirom.org/#/c/1588/ . Is that just a mistake on Mithun's part, or am I misunderstanding how this fstab is used? Is there any reason for it to be any different than the fstab.smdk4x12 in the device tree? Just trying to figure out how things work here.
Also, is it preferable to use the by-name symlinks over the raw /dev/block/mmcblk0p9 type device identifiers? Should I open another thread for this?
My hackjob device trees are https://github.com/ibrahima/android_device_samsung_n80xx-common and https://github.com/ibrahima/android_device_samsung_n8013 .
Edit: I guess my main question is, how is that twrp.fstab different from TARGET_RECOVERY_FSTAB? Some of the device trees with it (eg. your flo changeset that I linked above) don't seem to set this unless I'm looking in the wrong place, and I've seen at least one that sets TARGET_RECOVERY_FSTAB to /etc/twrp.fstab. Found this quote from @Dees_Troy:
You can create a twrp.fstab file and then use PRODUCT_COPY_FILES += device/oem/codename/twrp.fstab:recovery/root/etc/twrp.fstab to get the twrp.fstab into the recovery ramdisk
Click to expand...
Click to collapse
from http://forum.xda-developers.com/showthread.php?p=45164117 . If I already have an /etc/recovery.fstab it should work without the twrp.fstab right?
Edit2: Oh, derp, the twrp.fstab explanation is in the "How to Compile TWRP" thread. Filing away for later reading... (this is fun and all, but my professors aren't going to accept an Android 4.4 build in place of my homework )
Edit3: My god, this is basically me: http://xkcd.com/356/ and the truck is my homework/midterms... welp, at least I got a recovery with proper fstab, so for anyone else trying to TWRPify yes, you do need a twrp.fstab because the new fstab format in Android 4.3+ is not used by TWRP yet so you need one in the older format for it to mount your stuff. Haven't actually tried flashing anything with my recovery yet, but I feel like it should probably work, but again... trucks and all that
If it's not in PRODUCT_COPY_FILES - yes, that is a mistake.
(hopefully that commit isn't merged - accessing omni's gerrit is problematic for me from some locations. If the TWRP FSTAB is added to the device tree but isn't being copied that's grounds for a -1)
Yeah, he -1ed it himself for other reasons I suppose. Cool cool, looks like I'm learning stuff
By the way, after the hard drive meltdown and subsequent loss of two weeks of gerrit data, a lot of the links in your OP are broken in that they go to different tickets which have now subsumed those ticket numbers that were lost. For those who are curious and have been foiled by Gerrit's somewhat obtuse search box, if you type message:TWRP in the search box (to search commit messages) you'll find examples.

[Nook HD/HD+] EMMC CM11 install - updated 11/29

I see there's this new CM11 going, and thanks to @Hashcode who solved most of the complex problems already, here's my first stab at CM11 on our Nook HDs that installs into internal memory (EMMC).
The install is a lot similar to how it was done in CM10.2 days, but you will need a new recovery image (and a new sdcard image for those doing initial install):
So, For Nook HD+: Initial ovation sdcard image (cwm) | ovation recovery image (CWM)
For Nook HD: hummingbird Initial sdcard image | hummingbird recovery image (CWM)
I did some light testing and things seems to be working for whatever light loads I came up with, but still there are probably tons of problems that I have not yet noticed. Please write in the comments about what's broken and I'll try to fix it. Once it's good enough, I'll try to get official nightlies going for CM11 as well, I guess.
Latest CM11 EMMC images are now available as CM11 nightlies at:
For Nook HD+ get ovation builds
For Nook HD get hummingbird builds
There also might be experimental builds available referenced below in the history section.
(Also for completeness, For Nook HD+ sdcard image cm-11-20141129-UNOFFICIAL-ovation-sdcard.zip, | initial sdcard image for ovation )
For new Installs:
Download the initial sdcard image
ungzip and write to sdcard using dd (winimage or whatever for those stuck on Windows)
Instert the card into your nook and reboot
Flash the recovery image
Flash cm11 image
Flash whatever other extra things you need like gapps
remove the sdcard
reboot the nook
For upgrades from CM10.x (the only tested are 10.2 and 10.1). If you have any problems after upgrade - you'll need to do factory reset to clear /data:
Download recovery zip and CM11 install and place it on the nook
Reboot into recovery you already have installed
Flash the recovery zip you just downloaded
reboot into recovery again (This is important! Failure to do this will botch your upgrade and you'll need to wipe /data) so that the new recovery is started.
Install CM11, install other stuff you need like gapps
reboot
enjoy
Note: After upgrade you will need to reenter all of your wifi passwords.
Useful apps:
Overall loudness and volume control app: NookHDVolumeAdjuster-1.apk
Touch screen sensitivity control: NookTouchscreenSensitivityAdjuster-4.apk (backup link)
USB host control (usually only needed on official CM builds, as otherwise you can use Quick Settings panel): USBHostSwitcher.apk
Known problems:
- attempting to reformat external sdcard from android crashes volume manager - seems to be upstream problem of some sort. The sdcard is left in some strange state, so don't do it. (if you did, reformat the sdcard on your PC, all data will be lost either way)
Changelog:
2014/11/297 - Bring sdcard build to current source version:
* cm-11-20141129-UNOFFICIAL-ovation-sdcard.zip
2014/08/17 - Bring sdcard build to current source version:
* cm-11-20140817-UNOFFICIAL-ovation-sdcard.zip
2014/01/18 - Fixed 1080p movie playback on Nook HD+:
* cm-11-20140118-UNOFFICIAL-ovation-emmc.zip
* cm-11-20140118-UNOFFICIAL-ovation-sdcard.zip
2014/01/17 - Fixed headset mic issue
* cm-11-20140117-UNOFFICIAL-ovation-emmc.zip
* cm-11-20140117-UNOFFICIAL-hummingbird-emmc.zip
* cm-11-20140117-UNOFFICIAL-ovation-sdcard.zip
2014/01/15 - Switched to TI wpa supplicant, should fix a bunch of wifi-related issues
* cm-11-20140115-UNOFFICIAL-ovation-emmc.zip
* cm-11-20140115-UNOFFICIAL-hummingbird-emmc.zip
* cm-11-20140115-UNOFFICIAL-ovation-sdcard.zip
2014/01/09 - Fixed inability to write to sdcards.
* cm-11-20140110-UNOFFICIAL-ovation-emmc.zip
* cm-11-20140110-UNOFFICIAL-hummingbird-emmc.zip
* cm-11-20140110-UNOFFICIAL-ovation-sdcard.zip
2014/01/08 - Misc updates: autodetect sdcard format, not just vfat. fuzzy touch patch courtesy of D Marble, bt-pan services that reportedly fix bt tethering for some people.
* cm-11-20140109-UNOFFICIAL-ovation-emmc.zip
* cm-11-20140109-UNOFFICIAL-hummingbird-emmc.zip
2014/01/06 - Initial release
* cm-11-20140106-UNOFFICIAL-ovation-emmc.zip
* cm-11-20140106-UNOFFICIAL-hummingbird-emmc.zip
* cm-11-20140106-UNOFFICIAL-ovation-sdcard.zip
The screen kept flickering like a tube light few times.
Thank you! Welcome back
Sent from my BN NookHD+ using xda app-developers app
Welcome back, you've been missed greatly. I kept telling everyone not to panic, you would be back.
Sent from my BN NookHD+ using XDA Premium HD app
Thanks dude. I was hoping you'd start building it. Downloading now!
Working well so far. Thanks for making it and glad to have you back.
for those who need gapps you could see below (Be sure to choose 4.4.2 gapps.)
Link for PA gapps : http://forum.xda-developers.com/showthread.php?t=2397942 <MINI MODULAR PACKAGE 121 MB>download link http://goo.im/devs/paranoidandroid/roms/gapps-mini/pa_gapps-modular-mini-4.4.2-20131230-signed.zip
My personal favorite is BaNK's gapps : http://forum.xda-developers.com/showthread.php?t=2012857 <core gapps only, 17MB>download link http://www.androidfilehost.com/?fid=23269279319195954
Thanks for starting the work again -- I can't wait for official nightlies. And welcome back.
Also, it seems that we have to use CWM. Is there a reason TWRP isn't supported, or is that on the to-do list?
Nice to see this, I've used Bokbokan's eMMC build off his blog with TRIM support by default (MAG2GA ver06 10/2012), and I've used yours with TRIM everything worked great.
Does this build come with TRIM enabled?
Will this be updatable via CM updates in settings?
Thank you for making my tablet a tablet again!
It would be interesting to know if it presents visible differences from CM 10.2 regarding responsiveness, especially with ART enabled. It's the last fort to be conquered with our nooks (trim+art). Sadly my nook is not back yet so any reports would be welcome.
Awesome
Nice to see this, I've used Bokbokan's eMMC build (off his blog) with TRIM support enabled by default (MAG2GA ver06 10/2012), and I've used your CM10.2 with TRIM everything worked great.
Does this build come with TRIM enabled?
Will this be updatable via CM updates in settings?
Thank you for making my tablet a tablet again!
jjjooonnn said:
Nice to see this, I've used Bokbokan's eMMC build (off his blog) with TRIM support enabled by default (MAG2GA ver06 10/2012), and I've used your CM10.2 with TRIM everything worked great.
Does this build come with TRIM enabled?
Will this be updatable via CM updates in settings?
Thank you for making my tablet a tablet again!
Click to expand...
Click to collapse
It should be updatable via the settings once it's an official built. Right now, all of the builds are unofficial ones, so they have to be fully downloaded and flashed.
verygreen is the official device maintainer for CM though, so once he "approves" of the build, it will be built nightly by the CM servers, and then it will be fully integrated into their update mechanism (or CyanDelta if you use that). Just like the 10.2 builds.
TeutonJon78 said:
Also, it seems that we have to use CWM. Is there a reason TWRP isn't supported, or is that on the to-do list?
Click to expand...
Click to collapse
It's on the todo list, but cwm was easier to make at first (as in, next to zero effort)
jjjooonnn said:
Does this build come with TRIM enabled?
Click to expand...
Click to collapse
Yes, this has TRIM-enabled kernel, though I have not decided if I should do it for the official releases.
Have there been any more bricks with the trim-fixed kernels in the past couple of months?
Will this be updatable via CM updates in settings?
Click to expand...
Click to collapse
I guess yes, once there are official nightlies again. But I want to make sure it's at least of adequate quality before enabling that.
Just an advisory: I just flashed this over Succulent's rom with no problems, BUT I lost all my saved wifi profiles and had to reflash gapps. Not any big deal, but to anybody else who plans to do that and isn't coming from CM 10.1/2: be prepared. Relatively painless upgrade, though. Very glad to see TRIM enabled. Don't plan on enabling ART until xposed/gravitybox is compatible. This is much, much smoother than Succulent's build.
Good job!
I can't speak for anyone but didn't see anything from a quick search in the post: TRIM FAQ. I can attest that mine works and I believe it should be one of the bad eMMC (MAG2GA ver06 not ver05).
I did test TRIM (vdc fstrim dotrim) no issues, and found the CM11 under updates (after I updated to CM11) so I can attest to that much!
Thanks for the reply
Darrian said:
Just an advisory: I just flashed this over Succulent's rom with no problems, BUT I lost all my saved wifi profiles and had to reflash gapps. Not any big deal, but to anybody else who plans to do that and isn't coming from CM 10.1/2: be prepared. Relatively painless upgrade, though. Very glad to see TRIM enabled. Don't plan on enabling ART until xposed/gravitybox is compatible. This is much, much smoother than Succulent's build.
Click to expand...
Click to collapse
I would say they are about same smooth. Succulent's build has some nice framework and more option in performance settings. But just from system ui or user experience they are almost the same. Not could I tell the difference in app opening or transition.
Stock launcher Does lag when press the app drawer butter from home screen. But I use Nova launcher to solve the problem.
No find significant performance inprovememt over cm10.2 yet. Maybe Kitkat just does more job in UX polishing rather then performance.
Hopefully we could find some Performance MOD to use in KitKat.
It may very well be due to the fact that I upgraded from CM 10.2 and did not do a clean install, but for me Succulent's build was extremely laggy, many apps froze frequently, and when too many apps (more than like 3) were open it would reboot itself. I have none of those problems with this build, it's super smooth and fast and I haven't had any apps become laggy or crash or reboot my tablet. And this is upgrading from CM 10.2>Succulent's KK>Verygreen's KK; I still haven't done a factory reset and don't plan to unless it becomes necessary later. I use Nova as well. I'm not saying Succulent's build is bad, I thought it was bearable enough to use and was planning on using it long term, updating with each new build until it got to where I thought it should be, but then I installed this build and the difference is staggering. If I reflashed Succulent's build and wiped my data partition I might have a better experience, but now that I have this I don't see any need to.
this is great, glad to see you're back =)
my nook is currently being borrowed, i was wondering if anyone could quickly benchmark it?
thanks
Thank you Verygreen for this new build.
I will try it today.
I have 2 questions about CM11 and Nook HD+ hardware:
- did the HD+ have a bluetooth low energy (BT 4.0) chips?
- did the HD+ have a Low-power audio playback (kitkat new feature) capable chips?
If yes, is it included in this new CM11 build?
Thanks
Edit:
I found that Nook HD+ has wl1271l chip and uses wl12xx driver. That chip is BT 4.0 and BLE. See here http://www.rfm.com/products/data/wls1271l.pdf
But this thread show that BLE isn't activated in CM.
verygreen said:
久しぶりでした
(Also for completeness, For Nook HD+ sdcard image cm-11-20140106-UNOFFICIAL-ovation-sdcard.zip, | initial sdcard image for ovation )
Click to expand...
Click to collapse
Thanks verygreen. Great to see your are back in action.
The SDCARD image link is downloading emmc image. Here is the correct like if any one is looking.
cm-11-20140106-UNOFFICIAL-ovation-sdcard.zip

Suggestion:TWRP, exfat, GT-N7000 external SD Card bug

On my Samsung GT-N7000 I'm trying Omnirom again. I've tried it in the past and also tried vanilla CM stable and nightlies. I have also tried SuperNexus and PA and some other stuff that left no impression. Basically on this device for functional hardware, reasonable user control and a coherent UI it is Samsung's Touchwiz rooted, or Omnirom.
It is a bit too hard to install Omnirom and it can be horribly tedious to go from Omnirom back to stock or to another ROM. It's OK after you have done it a few times, but it is a huge obstacle for anyone trying to discover the way via inaccurate, misleading and fragmented documentation. The install guide at omnirom.org is actually utterly useless for this particular device, a complete non-starter. XpLoDWilD your GT-N7000 specific thread at http://forum.xda-developers.com/showthread.php?t=2516933 almost guarantees a boot loop because it only mentions but doesn't identify or link to versions of CWM which are adequate. In fact unless the user by diligent searching (or more likely by blind chance) comes across a link to the specific suitable raw kernel then it is one big dead end. You could spend hours and days searching for a suitable CWM and never find it because actually you should be searching for raw_kernel_r#_j##.zip. But how is anyone meant to know this. It turns what is actually a reliable and rather trouble free 15 or 20 minute process into a some kind of waking torment. In the past the documentation on installing via CWM was so bad that I used ODIN, which is less than ideal IMO because it means that anyone switching from stock to Omni doesn't get the chance to make a full nandroid backup of the original system (so to revert means a very tedious clean install).
So assuming the end user somehow finds the right raw kernel whose recovery can install Omnirom, what should they do? Of course they should back up their current apps and also make a nandroid backup. Apps backup is easy with oandbackup or titanium or similar. How about a nandroid backup to external SD? No problem in CWM but once you have TWRP installed you can't use it to access anything on an exfat formatted external SD card! You can back up before installing Omnirom but afterwards you can't restore! This is 100% nuts. exfat has now been around for 8 years. CWM supports it brilliantly. Even my crusty old Debian stable desktop reads and writes to exfat at very high speeds even via a FUSE FS and my puny Asus EeePC netbook running XP Home handles it fine. TWRP? Nope. exfat? Wha tha? Aaaaaagh.
Sorry to rant But for these specific devices Omnirom (with an exfat SD) is really the only high quality competitor to the stock Samsung, and there surely isn't a good reason for it being so frustrating to install and also to revert? Is TWRP really such a killer facility that it is worth foregoing the ability to backup and restore to the now very common exfat microSDHC? I run plain CM 11 on another device and OTA updates work fine on that. In these days of phatter pipes is it really worth making a huge compromise in functionality simply to avoid 200MB of downloads sometimes? On this device the delta updates are going to fail for many anyway unless they use an exfat card, but if they use an exfat card they.....oooouuuurrrggg...vicious circle.
/rant over.
Loving Omnirom btw and writing as a fan.
#blamesamsung
The Exynos Galaxy S2 family are some of the only devices remaining that don't have separate recovery partitions. This has always led to various annoyances for custom firmware users since it's impossible to change recovery without changing kernel.
Probably the documentation could be updated to indicate a double-flash though. Flash once to get a working recovery, flash a second time to get a working /system
Entropy512 said:
#blamesamsung
The Exynos Galaxy S2 family are some of the only devices remaining that don't have separate recovery partitions. This has always led to various annoyances for custom firmware users since it's impossible to change recovery without changing kernel.
Probably the documentation could be updated to indicate a double-flash though. Flash once to get a working recovery, flash a second time to get a working /system
Click to expand...
Click to collapse
Thanks for responding. I do appreciate that the exynos based devices are sons-of-b...b...bad persons.
I know documentation is boring and mostly thankless but it also matters a lot, most especially for projects which invite the user to perform realtively complex and potentially hazardous tasks.
Personally I would be very happy to edit/update XpLoDWilD's guide, but of course I can't because it's a forum post, not a wiki, so he owns it and it will remain there guiding new and trusting people into disappointment and boot loop oblivion until he decides to change it.
Omnirom has some issues but on the GT-N7000 is probably the only really mature and coherent alternative UI to Samsung's Touchwiz. To me it seems simply insane to direct newcomers into an unnecessary, time consuming, badly described and potentialy hazardous obstacle course, when in fact installation can be done with only small inconvenience.
I'm currently looking for information about installing OmniROM (I'm currently running CM11 nightlies), and I can attest the information in XpLoDWilD's post is somewhat vague, and also doesn't fully correlate with the directions to install Omni at the official wiki -- I'm assuming this lack of correlation is partly due to the fact, mentioned in this thread, that the N7000 doesn't have a separate recovery partition.
Something which made me especially uncertain about the installation process is the following part:
XpLoDWilD said:
- Make sure you're running a proper working ClockworkMod-Recovery - WITH SELINUX SUPPORT!
Click to expand...
Click to collapse
My understanding is that SeLinux is a feature of the kernel -- not the recovery console -- am I wrong about this? Or should I look for SeLinux in the features of the recovery console as well? (if so, how?)
What I currently do, is run adb, or start a console from the normal operating mode (not recovery mode), run the command:
Code:
getenforce
and confirm the reply is:
Code:
Enforcing
which means I have a kernel with SeLinux. Is that good enough to ensure the requisites for the installation are provided?
I'd appreciate any input about this matter.
julian67 said:
Personally I would be very happy to edit/update XpLoDWilD's guide, but of course I can't because it's a forum post, not a wiki, so he owns it and it will remain there guiding new and trusting people into disappointment and boot loop oblivion until he decides to change it.
Click to expand...
Click to collapse
Cant you add device-specific installation guide at the official wiki?
sagie said:
Cant you add device-specific installation guide at the official wiki?
Click to expand...
Click to collapse
I'm back on rooted Samsung TouchWiz. As things stand I wouldn't encourage any normal end user with a GT-N7000 to try a ROM. Hardware support is poor and unlikely to improve, installation documentation is misleading, backup is difficult, and restoring stock Samsung successfully requires ODIN. Also you stand a real chance of bricking the device. On my B+N Nook HD CM11 nightly is, as far as I can tell, beyond criticism but on these Exynos based devices all the third party ROMs have poor hardware support, poor multimedia support, poor stability and truly terrible battery life (even with no gapps installed). I will keep trying out ROMs occasionally and if the day arrives where the hardware is truly supported I will write a guide and drink a bottle of french fizz, but at the moment I would discourage any regular end user from doing anything to their GT-N7000 except running the newest available official firmware and rooting it if required.
I'm pretty sure I can save my twrp backups to my exfat sdcard.
edit: yup. just touch "internal storage" on the twrp backup page and select your sdcard.
julian67 said:
I'm back on rooted Samsung TouchWiz. As things stand I wouldn't encourage any normal end user with a GT-N7000 to try a ROM. Hardware support is poor and unlikely to improve, installation documentation is misleading, backup is difficult, and restoring stock Samsung successfully requires ODIN. Also you stand a real chance of bricking the device. On my B+N Nook HD CM11 nightly is, as far as I can tell, beyond criticism but on these Exynos based devices all the third party ROMs have poor hardware support, poor multimedia support, poor stability and truly terrible battery life (even with no gapps installed). I will keep trying out ROMs occasionally and if the day arrives where the hardware is truly supported I will write a guide and drink a bottle of french fizz, but at the moment I would discourage any regular end user from doing anything to their GT-N7000 except running the newest available official firmware and rooting it if required.
Click to expand...
Click to collapse
i've been using omnirom as my daily driver for 2 weeks now. love kitkat and omnirom features, but its still very unstable i think. stuff that's bothering me for now:
-stock camera is really plain, can't even switch to front camera
-video playback sometimes fail
-music playback will fail the first time i launch and play a song or 2. have to reboot and it'll work all day long
-intermittent random reboots, about 3 times so far the whole week
-wifi signal range is somewhat lower compared to touchwiz rom
-stock clock app, can't manually input time via keypad when you want to add an alarm
-contacts app is very confusing, can't even add a contact with ease. well at least for me that is
other than that kit kat is sure a welcome on this legendary device. contemplating the switch back to stock touchwiz, but loathe at the idea of setting up everything again zzz
In answer to this, and if it can help.
That the second time I install a ROM on my N7000, so it was still a bit frightening for me
Based on a CM10.1, I already had an old CWM.
1) From CWM I've just installed Philz Touch
2) On Philz, i've wiped everything, formated both internal and external sd cards (well I wanted something reeeally clean)
3) Used abd for copying omnirom and Gapp zip on the root
4) installed them from Philz Touch.
And it works like a charm (... but not enough feedback yet, just 2 days).
Now the question is to know if a day Omnirom will accept CWM based recoveries for updates.
TWRP is unfortunately not available on N7000 (from what I see, only USA flavors of Galaxy Note1).
Thanks!
Polux
Polux44 said:
In answer to this, and if it can help.
That the second time I install a ROM on my N7000, so it was still a bit frightening for me
Based on a CM10.1, I already had an old CWM.
1) From CWM I've just installed Philz Touch
2) On Philz, i've wiped everything, formated both internal and external sd cards (well I wanted something reeeally clean)
3) Used abd for copying omnirom and Gapp zip on the root
4) installed them from Philz Touch.
And it works like a charm (... but not enough feedback yet, just 2 days).
Now the question is to know if a day Omnirom will accept CWM based recoveries for updates.
TWRP is unfortunately not available on N7000 (from what I see, only USA flavors of Galaxy Note1).
Thanks!
Polux
Click to expand...
Click to collapse
Per my earlier post - You cannot change kernels on the Samsung GS2 family (including N7000) without also changing recovery.
Conversely, you can't change recovery without changing kernel. It's a limitation of this device since the recovery partition is not actually used, and recovery is in the normal kernel.
Once you flash Omni, your recovery will be TWRP. The reason TWRP doesn't "officially" support any of the GS2 family is because, as I said - you can't change recoveries without changing kernels.
Entropy512 said:
Once you flash Omni, your recovery will be TWRP. The reason TWRP doesn't "officially" support any of the GS2 family is because, as I said - you can't change recoveries without changing kernels.
Click to expand...
Click to collapse
Yes thanks for the precision, i've just seen that now my recovery was TWRP. (well which is good for me since it means I can use OTA). Your details helped me to understand why recovery and kernel are linked together, for my device.
Does it mean that installing omni on a non GS2 device (let's say a more recent device) will not overwrite the existing recovery?
Thanks again!
Polux44 said:
Yes thanks for the precision, i've just seen that now my recovery was TWRP. (well which is good for me since it means I can use OTA). Your details helped me to understand why recovery and kernel are linked together, for my device.
Does it mean that installing omni on a non GS2 device (let's say a more recent device) will not overwrite the existing recovery?
Thanks again!
Click to expand...
Click to collapse
Correct. Sony devices also have this limitation, there is a semi-workaround (where the kernel pulls recovery ramdisk from another location) on those that *in theory* could be done on the old Samsungs... but so few people are working on the old Samsungs that it isn't likely to happen.
Pretty much all GS1s and Exynos GS2s had this limitation. Qualcomm GS2s (Skyrocket/Hercules) had a separate recovery, as did all GS3s and onwards.

[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.

[ROM]Unofficial OmniRom 5.1 for the Galaxy S 4G (SGH-T959V and T959P)

Code:
Code:
/*
* Your probably long expired warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you
* and point my finger right back at you.
*/
Installation Instructions
Make sure you have a second partition on your SD card before flashing!!!! This can be created with minitool partition wizard on Windows or gparted on Linux.
If on a BML rom (stock-based GB)...
0. Read "Things to take note of" below
1. Reboot to recovery
2. Make sure your version of CWM is at least 5.x
3. Install zip. It will reboot a couple of times, don't be worried.
4. If you want root or Gapps, flash them now
If on an MTD rom (CM7 and all ICS+)(I tested CM9, CM10.1 and CM11)...
0. Read "Things to take note of" below
1. Reboot to recovery
2. Wipe data, and cache paritions (just in case). If updating to a newer build, you can probably skip this step
3. Install zip
4. If you want root or Gapps, install them now
The first boot can take several minutes. Be patient. If it takes 10+ minutes, pull the battery and reboot to recovery.
Things to Take Note Of
Humberos (the i9000 maintainer) has moved on to different projects which means no first-gen Galaxy S devices are being actively maintained. Builds may break at any time!
I actually have a T959P, not a T959V... It was released by Telus in Canada. It is a very similar device (I can run ROMs for the T959V with limited problems - ie sometimes I get wakelocks and the gps never works), it has a different GPS chipset and also uses different cell bands (but I can still use your guys modems but I lose access to the 850Mhz band). I have created a build specifically for the T959V as best as I can guess and also provide T959P builds.
The USB connection is MTP and not mass storage as Omni has removed mass storage. In recovery there is still an option to mount as mass storage device.
This build is very close to the official omni source code. This means that the recovery is TWRP and there aren't any added "features"
In order to get it rooted, you need to install SuperSu.
Gapps reportedly slow down the device significantly so tread carefully.
Backup Backup Backup! I'm not responsible for you losing any data.
Working
Taking pictures
RIL
SMS
Data
Recovery
Bluetooth
Wifi
Vibration
Powered-off charging animation
Flash from BML
Video Recording
Automatic Brightness
Moving Apps to the SD Card
GPS
Encryption
Compass
SElinux in enforcing mode
What probably doesn't
Microphone mute option doesn't work during calls
What doesn't
720p recording is very laggy
What's been removed
TV-Out - It was removed upstream plus I think binary blobs are broken in Lollipop...
Live wallpapers - this is a low-ram device
Everything else is not tested!!!
XDA:DevDB Information
Unofficial OmniRom 5.1 for the Galaxy S 4G (T959V) and Galaxy S Fascinate 4G (T959P), ROM for the Samsung Galaxy S 4G
Contributors
xc-racer99, humberos
Source Code: http://github.com/omnirom
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.0.x
ROM Firmware Required: All
Based On: OmniRom
Version Information
Status: No Longer Updated
Created 2015-06-30
Last Updated 2016-05-12
Thanks Time!
This would not have been possible without the following people:
Thanks to humberos for bringing Lollipop to the first-gen Galaxy S series. This would not have been possible without his work.
Thanks to FB and Dao for their work on the CM-11 device tree. I used several of their fixes.
Thanks to noiphonehere for his device trees and kernel, most of my work was based off of his.
Thanks to bhundven and the other members of teamacid for their work on the aries kernel.
Thanks to all others that have helped get this phone to where it is today!
Thanks to vcmerritt. A name you're probably not familiar with, but he was the only one to create something for the T959P and without him I'd still be on stock...
Build your own!
Follow the instructions at http://docs.omnirom.org/Setting_Up_A_Compile_Environment using the android-5.1 branch
Before doing a repo sync, put the galaxy_s_series.xml file from the Download folder in .repo/local_manifests folder of the source tree.
After syncing the source, open a terminal and in the directory where you downloaded the source code type "source ./build/envsetup.sh" and then "brunch galaxys4gmtd"
Changelog
Changelog for 07/03/2015 Build
Newer Omni source
Added volume controls and flight mode toggle to power button menu
Added Bigmem option. This increases available RAM by ~20mb but breaks 720p video recording. Humberos created the kernel setup and I integrated a toggle for it into Advanced device settings.
Selinux is now in enforcing mode. I had to modify the GPS startup to have any chance of getting here. Please let me know if it still works/doesn't work/never worked
Notifications are sometimes wonky. To fix, in Settings, go to Performance, then Advanced. Select Force high-end graphics and reboot your phone.
Changelog for 2015/07/20 Build
The data partition is now the second partition of the SD Card as opposed to internal storage
Gapps now work. If you get error 461 when installing from Play Store, a full data wipe should fix it. You can try experimenting with clearing data for the Play Store and/or Play Services or removing and re-adding your Google account if you don't want to do a full data wipe.
HSPA vs UMTS settings in DeviceSettings has been fixed
High-End graphics are forced by default to fix notification issue
ART parameters have been tweaked
Miscellaneous other tweaks, see my Github for details
Changelog for 2015/07/24 Build
Stabilized bluetooth connection
Fixed typo in GPS initialization. Does it work?
Added ability to use f2fs file system on /data. Supposed to give better performance
Added force fast charge and touch wake to kernel. Touchwake is accessible through its sysfs path, fast charge through Performance Settings, BatterySelinux currently denies these requests...
Changelog for the 2015/07/29 Build
This is a maintenance build. Very little has changed
Some more RAM freed (disabled some debugging stuff, TV-Out driver, IR driver)
Sepolicy updated for fast charge and touch wake
GPS initialization tweaked - unsure if works. If it doesn't, a dmesg would be appreciated
Changelog for 2015/08/02 Build
SElinux changed to permissive - this build only
GPS sepolicy changed - unsure if all necessary things are implemented
Changelog for 2015/08/13 Build
Selinux back to enforcing. Thanks to @anoymonos for the dmesg and @DerPugNa for offering to send me one as well
Fixed encryption
Changelog for 2015/08/31 Build
Updated Android version (5.1.1_r5 to 5.1.1_r12)(upstream Omni Change)
Restoring /system in TWRP should now work
When installing from BML, a chance is given to install gapps and/or SuperSu before rebooting
zRam is now actually used...
Changelog for 15/10/2015 Build
Fixed typo in updater.sh (thanks @FBis251!)
Update Omni source code - plenty of little tweaks since last build
Source Code and Downloads
Main Source
http://github.com/omnirom
Device Specific Source Code
http://github.com/xc-racer99/android_device_samsung_telusgalaxys4gmtd for the device tree (see android-5.1-t959v branch)
http://github.com/xc-racer99/android_device_samsung_aries-common for the common device tree (see android-5.1 branch)
http://github.com/xc-racer99/android_kernel_samsung_aries for the kernel (see android-5.1 branch)
http://github.com/xc-racer99/proprietary_vendor_samsung for the prop blobs (see android-5.1 branch)
Downloads!
All builds are found at https://drive.google.com/folderview...VVSzJxYVU3eHlWZGR1VVNZUWk1V1QzOUk&usp=sharing
Please let me know if the link doesn't work! There are also builds there for the T959P, in case there are any users of it left.
Gapps
Gapps do not work on builds prior to 2015/07/20. On more recent builds, they can be installed from http://forum.xda-developers.com/showpost.php?p=59731008&postcount=2
SuperSu
SuperSu can be found at https://download.chainfire.eu/696/SuperSU/
Thanks thanks ....
Awesome work @xc-racer99!
Wow, bringing this ole device back from a coma here. Nice to see someone else willing to work on lollipop for this oldie but goodie. Keep this device alive man.
Edit: If you are in need for some GFX for this thread, let me know and I'll see what I can brew up for you.
GFX.myst. said:
Wow, bringing this ole device back from a coma here. Nice to see someone else willing to work on lollipop for this oldie but goodie. Keep this device alive man.
Edit: If you are in need for some GFX for this thread, let me know and I'll see what I can brew up for you.
Click to expand...
Click to collapse
I hope I can keep this great little device going a little longer, however it will probably get tough. I did a repo sync earlier today and things are starting to break. The last few builds haven't even booted. With humberos no longer maintaining the i9000 and aries-common, I've had to fork the aries-common repository to try to keep going. The only upside of this is that I now have a little bit more freedom and can add things in if I want to.
Thanks for the offer of the graphics. If I can get a new build working, then I'll probably take you up on your offer. I think I've traced the problem but I'll have to wait and see...
For anyone that is trying/has tried this out, I'd be very curious on the status of the GPS on the T959V. I'm interested in creating the sepolicies for it so we can put selinux into enforcing mode but I don't want to go to the effort if it doesn't even work right now.
I've downloaded the zip and one of the smaller Gapps packages...won't be able to flash until early next week...I'll be out of town...will post results later...thanks for keeping this phone current.
New Build Uploaded!
Download is still at the same link as before, just use the 2015-07-03 build
I managed to find out why my new builds hadn't been booting - it was because the syntax for using a custom kernel toolchain had changed.
Anyway...
Changelog for 07/03/2015 Build
Newer Omni source
Added volume controls and flight mode toggle to power button menu
Added Bigmem option. This increases available RAM by ~20mb but breaks 720p video recording. Humberos created the kernel setup and I integrated a toggle for it into Advanced device settings.
Selinux is now in enforcing mode. I had to modify the GPS startup to have any chance of getting here. Please let me know if it still works/doesn't work/never worked
On another note, I've had a look at re-implementing TV-Out support. It doesn't look promising as several of the functions in the android frameworks that it used have been tweaked.... Still working on it but don't hold your breath.
Also, if somebody could test dock audio that would be appreciated. I don't have any way of testing it. If it doesn't work, I do have an idea on how to fix it (for those interested, another almost-aries device, the Infuse 4G, had to modify things slightly to get it to work. I would try to emulate their solution).
Omg download nowwww....thanks my friend
Alright, I'm having some issues on the latest build with notifications and the lockscreen. I'm still working on tracing down the reason for the problem...
DickyG said:
I've downloaded the zip and one of the smaller Gapps packages...won't be able to flash until early next week...I'll be out of town...will post results later...thanks for keeping this phone current.
Click to expand...
Click to collapse
Hello, im a user of a t959v. And I've been using this rom for three days. Everything is fine and very smooth on this rom except that, I can't install anything from the playstore. I always get (cannot install app due to an error 963). And Ive tried all the gapps, even the new link provided but still no luck.
billowusu47 said:
Hello, im a user of a t959v. And I've been using this rom for three days. Everything is fine and very smooth on this rom except that, I can't install anything from the playstore. I always get (cannot install app due to an error 963). And Ive tried all the gapps, even the new link provided but still no luck.
Click to expand...
Click to collapse
Good to hear that that's its (mostly) been working for you. I was hoping that the gapps problem was just me
Out of curiosity, which of the alternate gapps did you try?
A brief google of the error brings up a couple of possibilities...
Try an older gapps version. The ones from devloz on the i9000 thread devloz and the oldest revision for 5.1.1 are probably your best bet. Please be aware that Google Play store will automatically update!!! In order to prevent this, you will need to create a folder called "com.android.vending-1.apk" in /data/app (use a root explorer such as ES File Explorer or adb if you know how). If a file with that name already exists, delete it first.
Another thing to try would be to unmount your sdcard first before trying to install an app. I know, its a terrible work-around but it should work. This is because the error is that Google Play is trying to save some data on your sdcard but then for some reason it fails (I'm not sure why).
I'll hopefully get around to seeing if its a permissions problem after I find out what's been causing the issue with the notifications on the latest build.
P.S. Does the GPS work?
Early update...
...ROM flashed fine...a little slow to boot...about 3 minutes...but it booted.
...Gapps flashed fine...used 20150513_5.1.x package
...Installed Super SU (although I don't think that's necessary) and TB.
...So far only gave a quick test to camera and web browser...no problems.
...Am now in the process of re-installing user apps and data from TB...this will take a while.
When I'm done with that, I use Link2SD to link most of my user files to the SD card. After that is all set up, I'll test stuff like GPS, root access, etc. I'll post back later...maybe tomorrow.
But so far so good.
OK...I did some testing tonight and here's some results.
Working:
.it boots
.root
.browser
.playstore
.camera
.link2sd (about 180 mb free in internal)
.camera
.wifi
.email
Nor working:
.bluetooth
.google search/voice search
.just about all the rest of the Gapps
.tons of force closes including Maps so can't test GPS
Won't be able to do anymore testing until next week.
DickyG said:
OK...I did some testing tonight and here's some results.
Working:
.it boots
.root
.browser
.playstore
.camera
.link2sd (about 180 mb free in internal)
.camera
.wifi
.email
Nor working:
.bluetooth
.google search/voice search
.just about all the rest of the Gapps
.tons of force closes including Maps so can't test GPS
Won't be able to do anymore testing until next week.
Click to expand...
Click to collapse
Alright, thanks very much for the update. I'll do some more testing here and see if I can solve anything. For me, bluetooth file transfers to the phone work but not from the phone.
I've been looking at the notification "error" where the lockscreen notifications do not appear correctly. It appears to have been introduced upstream with a merge. I'm having difficulty finding out exactly what changed and since no errors are being thrown in the logcat, it could be a while...
For testing the GPS, there's an app from the Play Store called GPS Test which does a nice job of showing satellites and whether or not you have a lock on them.
you're the man!
nice one! its nice that this device are still alive.! and now were on 5.1
DerPuGNa said:
nice one! its nice that this device are still alive.! and now were on 5.1
Click to expand...
Click to collapse
No, it should be Humberos is the man! I basically re-hashed his code for the i9000 and used bits and pieces from people like Bhundven, noiphonehere, maxfierke, Dao, and FB to get things to work properly.
For a status update, I figured out the lockscreen notification problem. I have a new build being made that I hopefully will be able to upload in the next couple of days (internet dependent). TV-Out looks totally broken as the proprietary blobs no longer function. I don't have the know-how to make ugly hacks to get them to work. The new build will have SElinux in enforcing mode and have the different GPS initialization (like the last build) until someone tells me that it doesn't work
Uh-oh, looks like I jumped the gun.... Having problems once again
Any updates on getting the play store to work? I have searched, downloaded, and tried every gapp made for 5.1. I found that I can load any app on the rom, if I get the APK version of it.
AgainstTheFlow said:
Any updates on getting the play store to work? I have searched, downloaded, and tried every gapp made for 5.1. I found that I can load any app on the rom, if I get the APK version of it.
Click to expand...
Click to collapse
Darn, so its still not working. Not surprising. I've been struggling on the notification issue and am at my wit's end as to what the problem is. I don't think its only our phone as several i9000 users have been reporting it as well. Whether it is only the first-gen Galaxy S series that is having the problem or not is anyone's guess. My programming skills are insufficient to fix the issue!
I'll have another look at gapps over the next couple of days and see if I can figure out a combination that works 100% of the time.
I'm assuming the error message is still 963 or does it silently fail now? Its probably related to the fact that we have only an external sd card and no internal sd card like most devices...
All the problems with the notifications that I've found are:
Only one notification will show up at a time
Large notifications such as the music player do not render properly. They are cut off at the normal notification size and occasionally it seems as if there are two layers there (one for the small version, one for the bigger version) (see attached picture, taken with VLC as the media player, but also appears with Apollo)
Notifications don't always show up. A little icon appears in the top left corner of the status bar but no notification is present. Seems hit or miss
The words No notifications appears in the lockscreen just above the clock when there are no notifications. Otherwise, a notification (and only one) which can't be clicked covers part of the clock

Categories

Resources