Related
CM10 "Jelly Bean" for
Samsung Wave I (GT-S8500) & Wave II (GT-S8530)
Alpha 0.32 Release
“Seriously, Don’t Try To Sell This... You’ll Really, REALLY Regret It” Edition
Hey all,
So once again it’s time. Introducing the first alpha development preview of CyanogenMod 10 (based on Jelly Bean) for the Samsung Wave.
This preview is intended only for developers as it is in a very early development stage and not all features of the device are fully working.
Let’s emphasize that-- THIS IS AN ALPHA, RELEASED FOR YOU TO PLAY WITH AND GET A SENSE OF WHAT’S TO COME. AND SOME THINGS DOESN’T WORK. REALLY. IF YOU ARE EXPECTING ANYTHING CLOSE TO PERFECTION, WALK AWAY FROM YOUR COMPUTER, LOWER YOUR EXPECTATIONS FOR AN HOUR OR SO, THEN COME BACK. MORE EXCITING DISCLAIMERS/WARNINGS IN ALL CAPITAL LETTERS CAN BE FOUND BELOW. READ THEM.
FAQ IS RIGHT HERE, CLICK AND READ BEFORE POSTING
WHAT DOESN’T WORK (BUGS/TODO)
Most of the modem (GSM/GPRS) functionallity because there's proprietary protocol between Bada and AMSS used, not implemented in any known Android RIL.
GPS - heavily related with above, as GPS chip is wired to Call Processor
Microphone - most likely related to modem - appears to be controlled by AMSS at some part
Magnetometer (Compass) - haven't looked into it carefully yet
Proximity sensor - haven't looked into it carefully yet
WHAT DOES (SHOULD) WORK
Sound playback
Screen
Wifi/BT
Accelerometer
Camera
Camera LED
Battery Gauge Warning: Don't leave it charging without supervising - if it gets enormously hot, disconnect it - this can literally blow up battery as there is no overheating protection yet. Do not leave it connected on 100% - it'll discharge by 1% all the time, and then recharge, what's very unhealthy for battery.
SUPPORT
You get none. Zero. Zip. We obligate ourselves to providing nothing further. You are on your own and will have to help each other via this thread. This is provided “as-is”, and if you don’t like it, use Bada or other releases.
We basically lack time to give full dedication to this rom, and we’re looking for skilled devs who know the Android, and/or other things that might be relevant.
Please join us on IRC: some people are on #badadroid (freenode).
BUG REPORTS
This is the format for a bug report: “XXXXX isn’t working. Here is how to fix it: [INCLUDE SOLUTION]” Don’t have source? Too bad. You’ll have to wait then.
If you report bugs, please don’t be disappointed if we can’t fix them immediately (or even never). It’s not because we don’t care, but because we don’t have time or don’t know how to fix it.
Please attach logcat and dmesg dump in your bug report. Dmesg should contain messages from both - bootup and issue occuring (you can't dump it 1 hour after bootup, rather 2 minutes after)
How to dump logs - Google for "android logcat dmesg" Or... whatever, here's one of 3204109 methods available.
In the Terminal Emulator enter:
"su"
Accept request for SuperUser access.
"dmesg > /emmc/dmesg.log"
"logcat -b system -b radio -b events -b main > /emmc/logcat.log"
Download them from phone, archive and upload them.
Note: You might need to change /emmc/ to /tmp/, /sdcard/, or something that will help you obtaining these logs.
Privacy warning: Your logcat might contain sensitive information like your IMEI, IMSI, cell stations you were nearby, numbers you called and got calls from and SMS sent and received. If you don't want to publish this info - send them privately to one of developers.
Click to expand...
Click to collapse
If the Badadroid is restarting before you're able to catch any log:
Download http://goo.im/devs/Rebellos/wave/bterm.exe
Try to start kernel normally, when you see Badadroid logo start holding the middle key pressed. Keep the middle key pressed until phone restarts and shows the text: FOTA DOWNLOAD MODE & bTerm
Connect phone to PC.
Start bterm.exe
Type 4 commands:
Code:
open
dumpram 0x4FF00000 0x100000
close
exit
There should appear file called dump_ram_0x4FF00000.0x00100000.bin - pack it and attach it to your bug report.
Click to expand...
Click to collapse
Bug reports without logs are completely useless.
NOTE: DEVELOPERS WANTED. Please contact us if you are a developer with something to contribute.
I do heavily encourage to work together on the better, common project instead of making kang releases and demanding money for somebody else's work.
Read as: If you think you can make something better than this by doing less and muchazo Ctrl+C Ctrl+V - you suck, go figure the rest.
HOW TO BUILD
I do recommend perfect tutorial by fattire: https://docs.google.com/document/d/19f7Z1rxJHa5grNlNFSkh7hQ0LmDOuPdKMQUg8HFiyzs/edit?hl=en_US
Of course you have to init with -b jellybean and modify some steps.
local manifest to use: https://raw.github.com/Rebell/android_wave_local_manifest/jellybean/local_manifest.xml
I do it like this:
Code:
cd ~
mkdir wave
cd wave
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
cd .repo
wget https://raw.github.com/Rebell/android_wave_local_manifest/jellybean/local_manifest.xml
cd ..
repo sync -j8
cd vendor/cm/
./get-prebuilts
cd ../../
. build/envsetup.sh
brunch wave
device name is wave so the build invocation can be brunch wave
FIRST INSTALLATION
Bada 2.0 is required
Enter Bada Settings->General->Memory and make sure you have at least:
370MB of free "System" memory
150MB of free "User" memory
400MB of free "Applications" memory
Download 3 packages: BOOTFILES, armlinux_boot and selected release for your device (please pay attention if it's S8500 or S8530 BOOTFILES and FOTA you're choosing!):
Releases: http://goo.im/devs/Rebellos/wave
Start Bada.
Extract zImage from zip and copy it to the Bada's User partition (the one about 390MB big).
Copy whole .zip to the Bada's User partition.
Flash BOOTFILES and FOTA using Multiloader.
If you have been already using my FOTA bootloaders, you don't need to flash BOOTFILES.
Reboot the phone holding Power and Call key.
FOTA set of red messages should appear, after about 15seconds Badadroid logo shows up.
Be patient, first bootup will keep unresponsible on Badadroid logo for up to 5 minutes.
CWM Recovery starts, pick:
- install zip from sdcard
- choose zip from sdcard
- cm-10-wave-<release id>.zip
- Yes - install
Reboot holding the Power key
You can remove installation .zip from the User partition from Android level by connecting through USB in MTP mode.
Do not remove zImage file and modem directory.
Normal bootup is available using Power+Call keys
CWM Recovery mode is available using Power+Volume Up keys
CWM Flashing does overwrite zImage. So every next update you can just flash .zip through CWM.
HOW TO UNINSTALL
Follow the steps there: http://forum.xda-developers.com/showpost.php?p=35107469&postcount=393 (thanks Volk204)
THANKS TO
Oleg_k, mijoma, nbates66, anghelyi, Volk204, mikegapinski, hunktb, autra, Tigrouzen and many others.
Special thanks to chrmhoffmann for letting me kang his release description.
CHANGELOG
Releases available there: http://goo.im/devs/Rebellos/wave
0.32 - original releasenotes and link http://forum.xda-developers.com/showpost.php?p=41131519&postcount=2408 - courtesy of Volk204
Incorrect LCD type detection in S8530 with HWREV 0x5 has been fixed. LCD should work on ~99% of Waves 2. (Thanks to Rebellos)
Bluetooth MAC is correct.
Modem directory moved to /data/radio (experimental patch)
RIL: Fixed handling SMSC number in national format
Corrections to the key mapping. Still to be polished. Call key as BACK, Middle as MENU, long press - recent apps, End Call as ENDCALL, long press show power off menu (fixed correct power off process), short press "Go to Home"(it is not real HOME key, but it revert to HOME screen in most of cases), lock as HOLD - only screen on/off (framework patch)
Key mapping visualisation: http://img203.imageshack.us/img203/6838/badadroidv032.jpg
Upstream CM patches.
0.31
Screen waking up has been fixed for S8530 with LCD type 3. (kernel only update, thanks to Volk204 for providing a quick fix, people with working S8530 screen doesn't need to update!)
You can overwrite only zImage on bada_user partition if you don't want to download whole zip.
0.3
Fixed fetching incorrect NITZ date and time when network didn't provide proper data (like 1971/1/1/ 01:00:00).
Fixed showing up No signal/Network unavailable when phone did actually register into network.
Proximity sensor is working. There's no light sensor in Wave.
Compass is working. Might need some further calibration.
USSD requests are working. (Network codes like *#1234# to check your account balance etc.)
Basic outgoing calls are possible. NO SOUND YET
RIL logs has been moved from systemlog to radiolog - In future reports please attach all logs! I updated logcat fetching instructions.
SIM recognition and detection in most of the cases should be fixed.
Preferred network mode (2G/3G) selection. (Probably the choice won't persist between restarts)
S8530 screen is waking up properly now. Couldn't test it on S8530 with screen type 3, so this might need a fix for these.
Random screen crash due to MMC driver going crazy should be fixed on some boards - it MIGHT cause issues on other boards - it'd be visible on dmesg.
Experimental Samsung RIL Socket (originally done by Paul Kocialkowski) utilisation to control calling sound pathes. More to come in next releases.
Better S8500 touchscreen calibration (thanks to Tigrouzen)
Airplane mode
0.2
Almost all of the features in this release were implemented by Volk204, send him a big beer.
Real IMEI reading out of NVdata.
SIM card unlocking with PIN.
Registering to mobile network.
Incoming call support, answer/hangup option. NO AUDIO RECEIVING OR SENDING DURING CALL YET No outgoing calls yet.
Receiving SMS.
Sending SMS.
Time from network updates (NITZ)
Tons of other important things you won't even notice nor imagine how much effort did it take.
Upstream CM10 changes.
0.1
FOTAs update is required to the version with "for_0_07" name.
To update from older versions - first manually unpack zImage from archive just like during first installation, then after rebooting you can continue installation.
Kernel and platform are now unified for both Wave1 and Wave2 - only FOTA used does differ between models.
SD Card should get detected on all of the devices now.
Fixed backlight on Wave2 - LCD waking up is still not working properly.
Fixed kernel panic due to WiFi initialization fault - thanks Volk204.
WiFi is working on Wave2 now - thanks chemosun
Much better HW key handling - big kudos to Volk204.
Increased system partition size to 375MB (should be big enough to fit GApps in it now and leave some "living space")
Implemented experimental battery charger and fuel gauge driver - Warning: Don't leave it charging without supervising - if it gets enormously hot, disconnect it - this can literally blow up battery as there is no overheating protection yet.
Do not leave it connected on 100% - it'll discharge by 1% all the time, and then recharge, what's very unhealthy for battery.
Included Mocha-IPC and Mocha-RIL drivers, very basic, very buggy, but should bootup modem into Low-Power-Mode and read battery status. (C CODERS WANTED)
Fixed mounting of internal sd card as main storage - it should be possible to fully use features like Market and Camera without external-SD card.
CM10 mainline patches.
FOTA bootloader does now support recovery boot by holding volume-up key only (no need to hold middle key anymore). Needs update of FOTA.
Enabled overclocking to 1.2GHz and 1.4GHz. <Volk204>
JPEG buffers patch from Aries, so there's even more RAM available (~250MB) <Volk204>
Fixed "Advanced Settings" derived from Galaxy S. <Volk204>
Fixed TVOut. <Volk204>
Simple IO scheduler pulled from Aries. <Volk204>
Vibrator intensity control from Aries. <Volk204>
0.07
Not released, renamed to 0.1
0.06
Reworked whole installation procedure, .imgs relocated and resized.
Cache(18MB) + System(250MB) goes to bada_private partition
Data(400MB) goes to bada_apps.
zImage is kept on bada_user (390MB), bada_user also becomes user storage (internal sd card) on Android, so it's shared with Bada
Pulled Torch fix into release. (Herpderp me, forgot it in 0.05)
Cleaned up unnecessary things in platform (auto-brightness for example)
Recovery should be fully working by now. Including flashing things like gapps and stuff. (gapps: http://goo.im/gapps/gapps-jb-20121011-signed.zip )
0.05
Fixed screen problems on S8500. Thanks to Volk204.
LED flash is working, together with Torch apk. Thanks to Volk204.
29MB RAM more is available to the userspace now. Again, thanks Volk204.
Improved S8530 touchscreen calibration.
Improved S8530 backlight regulation levels.
Latest CM10 changes.
FOTA has been updated, it does produce debug output to the screen instead of UART, this should help debugging "won't bootup" troubles.
FOTA and BOOTFILES are included in .zips
0.04
Added support for S8530, thanks to Tigrouzen and Volk204 for testing and support. Please report bugs in LCD driver in this thread, Wifi is not working yet
Latest CM10 source base (including goodies like CM File Manager)
0.03
Platform is starting up! And pretty stable.
Synced with CM Aries kernel sources.
New FOTA is recommended.
0.02
Got working recovery, new kernel initramfs structure.
0.01
Initial release.
MORE LINKS
Overall project thread - http://forum.xda-developers.com/showthread.php?t=1459391
Hi Rebellos,
I just registered for your project, I'm interrested in. I'm new to all this things, like customs firmware etc. I've tested the Android 4 ICS on Wave S8500 and the missing thing is just Modem (GSM?).
I'm very interrested in your project. I want to test it, but. I'm just a noob in this all things like I've said it... I very want a functional Android on Wave S8500. So, keep it this great work please!
Thanks you.
Sorry for my bad English sir.
its always stuck at badadroid boot image
tried with both
Mikegapinski release and anghelyi's release
not able to boot into jelly bean
yeah! Rebellos is best!
stuck at boot.
but 4.0.4 slim is still better than this release
I've uploaded new package and updated link. Hope now it does contain correct image.
@Up:
U say? Sherlock.
Rebellos said:
I've uploaded new package and updated link. Hope now it does contain correct image.
@Up:
U say? Sherlock.
Click to expand...
Click to collapse
stucks on boot logo.
but im not sure whats the problem, the system file or the zImage file.
can someone give me a work zImage file?
Rebellos said:
I've uploaded new package and updated link. Hope now it does contain correct image.
@Up:
U say? Sherlock.
Click to expand...
Click to collapse
Again bad img
I rechecked previous and this release and both .img works for me. So updated link once again. This time archive does contain zImage I'm using aswell.
PS: Remember you are welcome to join #badadroid if you got some patches or are just seeking for friends.
Rebellos said:
I rechecked previous and this release and both .img works for me. So updated link once again. This time archive does contain zImage I'm using aswell.
PS: Remember you are welcome to join #badadroid if you got some patches or are just seeking for friends.
Click to expand...
Click to collapse
I'll try it now.
THANK AGAIN!
Rebellos said:
I rechecked previous and this release and both .img works for me. So updated link once again. This time archive does contain zImage I'm using aswell.
PS: Remember you are welcome to join #badadroid if you got some patches or are just seeking for friends.
Click to expand...
Click to collapse
Hi Rebellos
the same is with new system.img
Could you please upload img without archiving? Probably problem is with your archiver
shaiws said:
stucks on boot logo.
but im not sure whats the problem, the system file or the zImage file.
can someone give me a work zImage file?
Click to expand...
Click to collapse
Here you have everything you need, the initramfs is the zImage without compiling.
https://github.com/Rebell/bdroid
best regards.
Initramfs is part of zImage, not zImage itself.
I don't know why your tries are stuck. Remember you need cache and data images too.
There are unpacked files http://goo.im/devs/Rebellos/cm10-wave-0.01/
My first attempt was only with system.img and zimage and, of course, I got stuck on the Badadroid logo screen too.
Second attempt I also copied cache and data images from my working "Polishblood" image. It also gets stuck on the logo screen.
Haven't tryied the unpacked files yet. But I didn't receive any error messages when extracting the packed ones.
Rebellos said:
Initramfs is part of zImage, not zImage itself.
I don't know why your tries are stuck. Remember you need cache and data images too.
There are unpacked files
Click to expand...
Click to collapse
Dear Rebellos, i have tried your packed version and unpacked version with no luck. I just stuck at badadroid logo.
In your opinion, what would be the problems?
mikegapinski version and slim version work well in my wave. I have included all file needed but i get no luck with yours.
Maybe that you are using different bootloader or you do something with the bootloader? I not rushing anything, i am just eager to test your jellybean build. I am aware that it will be slow and lack of many features but it does not stopping me to try out your build.
I am really happy that you spend your precious time and energy to make this build. i, one of wave owner, really appreciate your effort.
OK, I get this compilation error:
Code:
make: *** No rule to make target `vendor/samsung/wave-common/proprietary/cypress-touchkey.bin', needed by `out/target/product/wave/system/vendor/firmware/cypress-touchkey.bin'. Stop.
make: *** Waiting for unfinished jobs....
Confusing parts start in point #4 of fattire's tutorial:
4. Next, install the proprietary files per the original instructions and run the ./setup-makefiles.sh script in android/system/device/bn/encore.
Click to expand...
Click to collapse
There's no setup-makefiles.sh in android/system/device/wave/ no android/system/device/wave-common/ , although I suspect this part is not that important.
As there it says that
(if that doesn’t work for some reason, try typing add_lunch_combo cm_encore-userdebug manually.)
Click to expand...
Click to collapse
I tryied doing that and got same error. But I'd say that my first attempt took only half an hour or so, and on second attemp, after doing an add_lunch_combo cm_encore-userdebug, took significantly longer. Could that be possible?
I start the compilation process with a . build/envsetup.sh, than "brunch wave", but also I want to note that 1st time I made a . build/envsetup.sh then "lunch" and there I didn't find a "wave" in the list of devices.
well
tried 20 times now, nothing worked
its still stuck at boot image.
All
Files present in phone mem are
cache.img
datd.img
polishblood_Nightly1.img (rebellos's img renamed)
zImage (latest)
I also tried not renaming the systemimg to polishblood
all in vain
anybody else facing this problem??
deeps_17 said:
well
tried 20 times now, nothing worked
its still stuck at boot image.
All
Files present in phone mem are
cache.img
datd.img
polishblood_Nightly1.img (rebellos's img renamed)
zImage (latest)
I also tried not renaming the systemimg to polishblood
all in vain
anybody else facing this problem??
Click to expand...
Click to collapse
Same..
I think we should give to rebellos time, and we will get a working B
@Rebellos maybe you should uploud the all file that you are using in your wave.,,
Hello,
I've also tried to, but i'm stock at logo, also after i tried some photos and videos are missing from my SD Card.
It worked fine before with ICS.
Thanks anyway
system.img should not be renamed.
I've added clean system_cache.zip into http://goo.im/devs/Rebellos/cm10-wave-0.01/ though it's empty and JB seems to be stuck on boot animation with it. You might try first running ICS and then upgrading to JB image.
@Building issues:
I forgot to push one commit. Did it now so after "repo sync" you should be able to go.
Unofficial build of SlimKat
Dont post in official threads please. I may have messed something up and i dont want to bother other people because of my mistakes.
After leeching for years on XDA (didnt even had an account) i finaly decided to give something back to the community.
Features:
Im using the build scripts from Slimsaber
Features of Slimsaber but not all are working!
Used newest Linaro 4.8.3 (2014.04) optimized for cortex-a15 from here for kernel and rom.
Did some patches so it compiles with strict-aliasing :victory:. But i hate those freaking pointers. So maybe i messed something up.
all the nice placebo compile flags: -O3 -mcpu=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=softfp -funroll-loops -fomit-frame-pointer
Other flags:BOARD_USES_HGL := true, BOARD_USES_OVERLAY := true, USE_OPENGL_RENDERER := true, TARGET_USES_ION := true, TARGET_USES_C2D_COMPOSITION := true
all the nice placebo build.prop tweaks: debug.sf.hw=1, debug.composition.type=c2d, debug.performance.tuning=1, persist.sys.composition.type=c2d, persist.sys.ui.hw=1, hw3d.force=1, hw2d.force=1, video.accelerate.hw=1, force_hw_ui=true, debug.egl.hw=1, debug.overlayui.enable=1 (actualy i dont know which ones are working and which ones arent even in the code )
f2fs for data and cache partition. (I think the first released z ultra rom with f2fs. Correct me if im wrong please)
DPI set to 280 (tablet layout).
Install instructions:
Be running at least Android 4.3 or 4.4.2 with an unlocked BL (14.2.A.0.290, 14.2.A.1.136, 14.3.A.0.681 or 14.3.B.0.757 etc)
Make a backup of everything on your phone. Im not responsible for any loss of data!
Boot into recovery
Factory reset/wipe data
Flash FormatPartitions-userdata_cache.zip
This will format data and cache partition to f2fs
WARNING: this will DELETE ALL DATA on your data partition. Even InternalSD! Make a backup beforehand!
Flash PlaceboRom
Install Gapps (I use this one)
Optional: for even more placebo install this soundmod.
Not Working:
Nothing known
Not Tested (would be nice if someone could test it):
ART
Miracast
Other models then C6833
Bugs:
WARNING: ADB/USB Debbuging is always enabled on reboot! So if you have sensitive data on your phone this ROM is NOT for you! (maybe someone can help. tried to disable it via build.prop and settings.db but didnt work . I think it has something todo with the build scripts from Slimsaber but hadnt had time to check it.)
[*]After installing the ROM for the first time you have to go to developer settings and disable root and reenable it in order for it to work!
Its already set to apps only after installing but it wont work! You only have to do this once. If you reflash you dont have to do it again.
Some graphics glitches because of "USE_OPENGL_RENDERER := TRUE" in some system apps (like Browser).
Actualy i read somewhere that its not needed but it wouldnt be placebo without it
If you use MHL some of the screen will not be displayed (It displays only like 1900*1000)
Downloads:
FormatPartitions-userdata_cache.zip. Credits goto legolas83
PlaceboRom-togari-4.4.2-20140515.zip
RestorePartitions_ext4_userdata_cache. If you want to go back to another rom. Credits goto legolas83
I will try to build every two weeks.
I had only one freeze on my device (C6833) in over 1,5 months (with older builds) but consider these build as NOT STABLE. I dont want that you lose your job because of me.
Special thanks to team slimroms.
Visit official website at http://www.slimroms.net
Slimsaber is the inspiration for this rom. High five @fusionjack.
If I have time i will setup a github account so contributions will be clear.
At the moment im using repos from Slimkat, Slimsaber, CyanogenMod, VanirAOSP, AOKP, Linaro
If i missed something or didnt gave proper credits i can assure that this is a mistake.
Contact me please so i can correct it.
XDA:DevDB Information
PlaceboRom, ROM for the Sony Xperia Z Ultra
Contributors
MusterMaxMueller, fusionjack, [vertigo], dboliver, blueether, Christopher83, legolas83, prbassplayer, SlimRoms, CyanogenMod, VanirAOSP, AOKP, Linaro, FreeXperia, CodeAurora, Google
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.4.x
ROM Firmware Required: 14.2.A.0.290, 14.2.A.1.136, 14.3.A.0.681, 14.3.B.0.757 or newer
Based On: SlimKat, CynanogenMod, VanirAOSP, AOKP
Version Information
Status: Testing
Created 2014-05-15
Last Updated 2014-05-15
Reserved
Only changes i did to slimkernel was enabling f2fs in defconfig and some buildflags in the Makefile for kernel.
Does anyone know do i have to release my changes to be GPL compliant? defconfig is generated so i think not but what about Makefile?
Im not familiar with GPL but want to do everything correct.
Reserved
OK my install instructions seems to be wrong after reading them again. :silly:
Can anyone confirm? It shouldnt work the first time.
Sorry to anyone who had problems.
I think you have to:
Boot into recovery
Flash PlaceboRom (you have to flash it the first time. Otherwise there might be no f2fs support in your current kernel+recovery)
Reboot to recovery (after that you will have f2fs support)
Flash FormatPartitions-userdata_cache.zip
This will format data and cache partition to f2fs
WARNING: this will DELETE ALL DATA on your data partition. Even InternalSD! Make a backup beforehand!
Flash PlaceboRom again!
Install Gapps (I use this one)
Optional: for even more placebo install thissoundmod.
Could someone be kind and when installing the rom for the first time report back if this new install instruction is working?
It was some time ago i did it so im not sure anymore.
If somone confirms i will update op.
Looks promising, yah the first F2FS! :highfive:
MusterMaxMueller said:
Only changes i did to slimkernel was enabling f2fs in defconfig and some buildflags in the Makefile for kernel.
Does anyone know do i have to release my changes to be GPL compliant? defconfig is generated so i think not but what about Makefile?
Im not familiar with GPL but want to do everything correct.
Click to expand...
Click to collapse
Any changes in the kernel need to be published, and the aosp/cm/slim code, what is less clear is whether compile flags etc (changes to make files) need to be published - my feeling is that yes they do need to be published. That's some thing I haven't done for carbon as of yet.
At the moment I think you are probably ok?
keep it up mate...looking forward for this rom. :good:
@blueether
I think i dont get you. AOSP/Slim is released under ASL. So changes made to rom dont need to be published? Altough i will when i have time. And is defconfig considered part of the kernel? Because of "make menuconfig"? Does anyone know for sure? If i interpret this and this correctly changes to Makefile have to be published but defconfig not. They even mention build flags!I know its pedantic just want to know. It seems there is no defenite time frame when sources have to be published?
blueether said:
Any changes in the kernel need to be published, and the aosp/cm/slim code, what is less clear is whether compile flags etc (changes to make files) need to be published - my feeling is that yes they do need to be published. That's some thing I haven't done for carbon as of yet.
At the moment I think you are probably ok?
Click to expand...
Click to collapse
I would interpret it as everything that is needed to build the same binary
Not looked at the details of asl
Sent from CarbonROM on my Z-Ultra
I followed direction to the t. and it's hanging at boot animation now for ten minute. Now. What am doing wrong?
cameljockey1 said:
I followed direction to the t. and it's hanging at boot animation now for ten minute. Now. What am doing wrong?
Click to expand...
Click to collapse
did you flash gapps..I did with gapps and even w dalvik and cache wipe it was hanging up...so i redid procedure again without gapps..booted fine
mac231us said:
did you flash gapps..I did with gapps and even w dalvik and cache wipe it was hanging up...so i redid procedure again without gapps..booted fine
Click to expand...
Click to collapse
That did it thank you.
reread it. i think youre right
blueether said:
I would interpret it as everything that is needed to build the same binary
Not looked at the details of asl
Sent from CarbonROM on my Z-Ultra
Click to expand...
Click to collapse
i have no problems using minimal gapps from op.
try using the one from op.
cameljockey1 said:
I followed direction to the t. and it's hanging at boot animation now for ten minute. Now. What am doing wrong?
Click to expand...
Click to collapse
F2FS mount and sysfs options
For those interested in tweaking F2FS, check my post here.
wrong install instructions
OK my install instructions seems to be wrong after reading them again. :silly:
Can anyone confirm? It shouldnt work the first time.
Sorry to anyone who had problems.
I think you have to:
Boot into recovery
Flash PlaceboRom (you have to flash it the first time. Otherwise there might be no f2fs support in your current kernel+recovery)
Reboot to recovery (after that you will have f2fs support)
Flash FormatPartitions-userdata_cache.zip
This will format data and cache partition to f2fs
WARNING: this will DELETE ALL DATA on your data partition. Even InternalSD! Make a backup beforehand!
Flash PlaceboRom again!
Install Gapps (I use this one)
Optional: for even more placebo install thissoundmod.
Could someone be kind and when installing the rom for the first time report back if this new install instruction is working?
It was some time ago i did it so im not sure anymore.
If somone confirms i will update op.
download not working
The download anyway at Google Drive is not generating any download dialog box upon clicking:
Google Drive can't scan this file for viruses.
SlimSaber-togari-4.4.2-20140515.zip (198M) exceeds the maximum size that Google can scan. Would you still like to download this file?
Download anyway
Please upload to mega or somewhere else
Premananda_laishram said:
The download anyway at Google Drive is not generating any download dialog box upon clicking:
Google Drive can't scan this file for viruses.
SlimSaber-togari-4.4.2-20140515.zip (198M) exceeds the maximum size that Google can scan. Would you still like to download this file?
Download anyway
Please upload to mega or somewhere else
Click to expand...
Click to collapse
I'm uploading to mega atm, should be up in about 20 - 30 min
Google Drive mirror: https://drive.google.com/a/fryett.net/file/d/0B2qGRw4S7bAuUkxWVzVXQzNJOXc/edit?usp=sharing
Mega mirror: https://mega.co.nz/#!9pt1xSQL!ozJyip-yzATId0_Po7sG1_sisWH8UfnNVOhHmxh-4fA
Premananda_laishram said:
Please upload to mega or somewhere else
Click to expand...
Click to collapse
you could also use the download tab ?
not working
Flashing instructions not working. Hangs at boot logo
Premananda_laishram said:
Flashing instructions not working. Hangs at boot logo
Click to expand...
Click to collapse
which install instructions doesnt work?
the first or the second one?
try first without flashing gapps.
CyanogenMod is a free, community built, aftermarket firmware distribution of Android 5.0, which is designed to increase performance and reliability over stock Android for your device.
Code:
#include
/*
* Your 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, we will laugh at you, all, at the same time.
*
* Submitting bug reports on nightly builds is the leading
* cause of male impotence.
*/
CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review. You can also view the Changelog for a full list of changes & features.
IMPORTANT INFORMATIONS
We'll not support users and answer questions from users which:
- are running a custom kernel
- have flashed mods
- modified system files
- didn't follow our intructions word by word
- are unfriendly
Even if you tell us that your problem is not related to your custom kernel /mod / magic => WE DON'T CARE!
Your mod => your problem!
CHECK KNOWN ISSUES HERE
Official CyanogenMod Wiki: http://wiki.cyanogenmod.org/
Google Apps: Link 1 Link 2
TWRP Recovery: https://www.androidfilehost.com/?fid=24052804347766143
CHANGELOG
Download
GAPPS for CM-12.1
If you're going to reuse our work, which we're doing for free, be fair and give proper credits.
This is the only payment we're really demanding and we deserve it to be mentioned because of the countless hours we've put into this project.
Open-Source doesn't mean Out-of-Respect!!!
source
https://github.com/cyanogenmod/android_device_htc_enrc2b
https://github.com/cyanogenmod/android_kernel_htc_enrc2b
https://github.com/cyanogenmod/android_device_htc_tegra3-common
Contributors
Lloir, Thomy
Source Code: http://github.com/cyanogenmod
Working Not Working: Eventually Change log
This will be edited and updated as I make progress
Working 7/7/15:
Audio
Touch
Display
Vibrator
WIFI
Bluetooth
DATA/GSM/RIL (except for sim pin)
BATTERY
ROTATION
GPS
Not Working 7/7/14:
Device encryption
CHANGELOG
?/05/16 (well it's finally coming out) in 2017
05/05/17 -- FINAL
cgroups fixed
RIL Fixes (GSM/DATA)
3G Mtu changed, should see an increase in speed.
Security patches, fixes loads of security issues
X+ now shows up instead of the ONE (MTP) (pulled from AndyLavr git)
SElinux fix up (pulled from AndyLavr git)
CM main source update
and a load of other stuff.
------------------------------------------------------
27/11/15 ------ MD5 b9ae858d0a881ae6a24958caa067360e
Sdcard symlink is fixed? it's storage/sdcard0 (for me anyway test it for me)
Added more sepolicies for the ril :silly:
Updated main cm source
FULL WIPE
------------------------------------------------------
5/11/15
CM update which includes Security updates from Google https://groups.google.com/forum/#!topic/android-security-updates/GwZn7sixask
Reverted the changes I made to sdcard, which means /sdcard is now able to be accessed again.
------------------------------------------------------
25/10/15
More selinux denial's fixed thanks to @el-Loko logs
Let me know if the sim card issue still arises.
I've made changes to MTP and the /sdcard /storage area's
------------------------------------------------------
24/10/15
Sepolicies updated, hopfully the no sim issue will be fixed now. https://github.com/Lloir/android_device_htc_enrc2b-2/commits/cm-12.1
No more selinux denial's that I could find. All eliminated.
Source update
Kernel update's thanks to @ntemis https://github.com/Lloir/htc_kernel_oxp/commits/cm-12.1
Sim toolkit now show's and works
GPS lock is oh oh so much quicker
If google maps has a hissy fit let it die and reload it.
------------------------------------------------------
28/8/15
Updated source (Which includes the chrome fix)
------------------------------------------------------
26/8/15
Updated source
Revert my bluetooth breakage change, so BT works as it should.
------------------------------------------------------
7/8/15
http://review.cyanogenmod.org/#/c/93232/
http://review.cyanogenmod.org/#/c/105285/ + http://review.cyanogenmod.org/#/c/105284/
http://review.cyanogenmod.org/#/c/105100/ (This is a security fix hence the build today) Issue with this, currently will get sorted for a future build
Mainline cm update ^^ those changes are not merged into CM but I've picked them to go into this rom for my own personal build. I will share this build
------------------------------------------------------
7/7/2015
CM general update
CVE's patched (security) http://review.cyanogenmod.org/#/c/102586/
NFC Update
Low memory killer updated
USB OTG Enabled
Brightness should be brighter (Should)
Re-implemented the powerhal from CM-10.2 (For those of you who have been around here for ages)
Updated the keymaster file based off of the grouper (Security)
A ton of patches from the grouper kernel http://review.cyanogenmod.org/#/c/102546/
VFS/ Compaction changes http://review.cyanogenmod.org/#/c/102597/
------------------------------------------------------
20/6/2015
CM mainrom update
GPS working in permissive only mode
-----------------------------------------------------
9/4/2015
12.1 update
Chrome/Firefox work
Updated with most recent CM source
------------------------------------------------------
6/4/2015
CM-12.1
DO NOT DIRTY FLASH OVER CM-12.0 IT WILL CRASH
gps is still broken
everything below counts
NEEDS KERNEL FLASH as usual
------------------------------------------------------
6/4/2015
New Kernel, not loaded with crap. This kernel is WIP. NO SMARTMAX on it, No S2W (Let the rage begin)
Might have turned the audio up...Sounds like it, need someone to confirm
Button light stays on when it needs to now.
------------------------------------------------------
3/4/2015
Fixed No Data issue FLASH THE NEW ROM AND BOOTIMG
------------------------------------------------------
2/4/2015 or 3/4/2015 depending on where you live
1st actual working release so lets start the change log
Battery WORKING
Source updated to today's released source
SELINUX DISABLED
Rotating working
GPS broken
regretting this...check the post above this one...
sooooo I know a load of you have downloaded this? Any bugs I've not listed?
Lloir said:
sooooo I know a load of you have downloaded this? Any bugs I've not listed?
Click to expand...
Click to collapse
Sorry man cant use it daily without the battery being fixed! Other than that the camera works? at least for the most part
just installed it and i am suprised...very smooth.
still installing apps for daily use. will of cause report if theres anything to report.
what excactly does not work with cam? i can shoot pics and they look as pretty as they should.
so, happy new year to every1!
el-Loko said:
just installed it and i am suprised...very smooth.
still installing apps for daily use. will of cause report if theres anything to report.
what excactly does not work with cam? i can shoot pics and they look as pretty as they should.
so, happy new year to every1!
Click to expand...
Click to collapse
It wasn't working for me, but yeah, all of you say it works, so I'll take your word. :good:
Lloir said:
It wasn't working for me, but yeah, all of you say it works, so I'll take your word. :good:
Click to expand...
Click to collapse
I'll jump in as soon as builds with proper battery comes up.
And, thank you for being an awesome dev.
Lloir said:
sooooo I know a load of you have downloaded this? Any bugs I've not listed?
Click to expand...
Click to collapse
installing right now, can't wait to test!
i moved on to the OPO as daily driver, so i don't have to care about stability, but also i'm eager to see how the HOX+ runs Android5! Thanks for your awesome work!:good:
reaper90 said:
installing right now, can't wait to test!
i moved on to the OPO as daily driver, so i don't have to care about stability, but also i'm eager to see how the HOX+ runs Android5! Thanks for your awesome work!:good:
Click to expand...
Click to collapse
Yeah, I need to move on soon, so new devs are going to be needed for the X+ by the next major release.
Lloir said:
Yeah, I need to move on soon, so new devs are going to be needed for the X+ by the next major release.
Click to expand...
Click to collapse
This device is more than two years old now, i don't think there will be new devs coming to this device. Although i know not everyone wants to buy or can afford a new device every two years, i think this one has done it's job. while htc dropped support after only one year, i think some quite stable 4.4 roms are more than we could have asked for!
first impression on this build:
runs pretty good so far, camera not working here, kickstarting the battery from TWRP does not really work for me (maybe i'm doing something wrong) and when using adb shell, the charging led stays forever on.
Camera working fine here !
and whats the purpose of turning the battery on..? I could reboot and its working fine. I did not execute any command. But the battery shows 66% even though its lower than that. So the only problem we face if we dont turn it on is that we cant see the real percentage or what....?
backb0ne5p1d0r said:
Camera working fine here !
and whats the purpose of turning the battery on..? I could reboot and its working fine. I did not execute any command. But the battery shows 66% even though its lower than that. So the only problem we face if we dont turn it on is that we cant see the real percentage or what....?
Click to expand...
Click to collapse
Pretty much, not tested to see if it doesn't charge though....it will ALWAYS show 66%
Also are you using a 3rd party app for camera??
I don't mind it showing 66 as it's not my main phone.
And No, but I flashed GApps.
All I did was full wipe, Flash boot.img, flash ROM, flash GApps. Then the ROM booted and had a working camera
I think I found a temporary fix for the battery problem!
Go to the store, download 2 apps.
1) Boot shell
2) sudo for android.
Open sudo for android and click "Install Sudo"
Then open Boot Shell and click add command button. And add the command "sudo /system/bin/htcbatt"
Now reboot your phone and the battery stats will still be there
backb0ne5p1d0r said:
I think I found a temporary fix for the battery problem!
Go to the store, download 2 apps.
1) Boot shell
2) sudo for android.
Open sudo for android and click "Install Sudo"
Then open Boot Shell and click add command button. And add the command "sudo /system/bin/htcbatt"
Now reboot your phone and the battery stats will still be there
Click to expand...
Click to collapse
Yeah, there's that.
I have it fixed here, just not happy with the fix at the moment. IF People want to fix it this temp way do the following :
reboot into TWRP
mount system
adb shell
chmod 777 system/bin/htcbatt
reboot
If your not happy with using a 777 chmod then that's understandable, I'm trying out a 2nd fix as we speak, this will also help me to fix the battery issue in TWRP too
Things that are now working on my local build
Device Encryption
Battery + Battery LED
IF I'm happy with the battery fix, I'll do that release today.
Still broken :
GPS --- Kinda borked.
Rotating
Button lights are a little yeah.
This is going to be replaced with omni-L
Stay tuned, Not releasing ANYTHING until I have a nice working build of a ROM, not going to be releasing half-assed builds anymore.
Ok, after 2 days of daily use i can say that this rom is very stable, no reboots or freezes. Only GPS and auto-rotate is not working for me, but (orig)cam does its job.
One tip for the battety sidekick:
Instead of doing the trick via pc do it in a shell on your phone but dont kill the process with ctrl-c.
In this post, I would like to explain what kexec-hardboot patch is.
@kernel developers: I would like to ask you to merge this patch to your kernels, because it is essential part of MultiROM - it allows me to boot any kernel without changing the boot partition. I realize that it is no small request, but the patch is not big, touches relatively stable parts of kernel and should not cause any problems. Thank you.
What is kexec?
It is syscall of Linux kernel, which allows you to boot another Linux kernel without restarting the device - "Linux boots itself". The functionality is equivalent to fastboot -c *cmdline* boot zImage initrd.img, but without PC and fastboot. It is fairly known thing, so more info at wikipedia and man kexec.
Standard kexec call unfortunatelly does not work on Nexus 6. It freezes somewhere, and it is very difficult to find out where - probably some of the drivers are not shut down/re-initialized properly, it is a common thing among Android devices, which is why kexec-hardboot was made.
What is the difference between normal and hardboot kexec?
Kexec-hardboot patch adds a real device restart to that process, so that all the drivers can be properly reinitialized. It stores new kernel to RAM, reboots the device as usual, and kernel from boot partition immediately jumps to the one which was stored to RAM before reboot.
Unlike grouper's kexec-hardboot patch, this one only requires the host kernel to be patched. This is one of the improvements I made, and I think it is pretty significant.
To summarize the process:
kexec --load-hardboot.... is called and kernel it loaded into RAM.
kexec -e is called. Special info is written to memory (to area which is not overwritten on reboot) and the device is rebooted.
After reboot, very early in the boot process, kernel checks if that special info is present in RAM and if so, it loads new kernel from RAM and jumps to it.
Kexecd' kernel starts and boots.
For more info, read the original thread.
Patches:
Kernel patch: https://gist.github.com/Tasssadar/757c939f2d028c00d089, 5.1 AOSP kernel repo
This is the kernel patch. Only the host kernel needs to be patched.
Related CONFIG options:
CONFIG_KEXEC=y
# CONFIG_ATAGS_PROC is not set
CONFIG_KEXEC_HARDBOOT=y
CONFIG_PROC_DEVICETREE=y #this one is turned on by default
All these options must be enabled.
Userspace kexec binary: https://github.com/Tasssadar/kexec-tools
I had to change some things in kexec userspace binary because of some kernel bugs, complete description is in that repository.
Usage:
Once you have the kernel patches and kexec userspace binary in place, just run following command to boot into new kernel:
Code:
kexec --load-hardboot zImage --initrd=initrd.img --mem-min=0x20000000 --command-line="$(cat /proc/cmdline)" --boardname=shamu --dtb
kexec -e
Note the command line parameter - cmdline from bootloader is not added automatically, you have to put it there by yourself.
Authors:
This patch was made by Mike Kasick for Samsung Epic 4G. Since that, it was ported to several devices, one of them is Asus Transformer TF201 - I used patch from TF201 and modified it a bit (basically just changed few SoC specific constants). People at #ubuntu-arm helped me out with that, thanks.
For hammerhead, I've improved the patch a bit - only the host needs to be patched now and I've added support for DTB.
For shamu, it's pretty much the same as for hammerhead.
@Tasssadar, I'm trying to incorporate the patch in my kernel (LiquidSmooth, which I compile in-line with the ROM - sources below), but I'm having issues actually booting into the secondary ROM.
Here is the portion of the log that contains the kexec call failure.
I just can't seem to figure out what my issue is - any ideas?
My device tree
My kernel source
Other potentially relevant info:
- Building the kernel in-line (using "make bootimage" for kernel incremental testing purposes)
- 5.0.2 base for host (my) kernel
- Using standard GCC for builds
- Updated to most recent MR TWRP and zip releases
Any help you might have to offer would be awesome!
CPA Poke said:
@Tasssadar, I'm trying to incorporate the patch in my kernel (LiquidSmooth, which I compile in-line with the ROM - sources below), but I'm having issues actually booting into the secondary ROM.
Here is the portion of the log that contains the kexec call failure.
I just can't seem to figure out what my issue is - any ideas?
My device tree
My kernel source
Other potentially relevant info:
- Building the kernel in-line (using "make bootimage" for kernel incremental testing purposes)
- 5.0.2 base for host (my) kernel
- Using standard GCC for builds
- Updated to most recent MR TWRP and zip releases
Any help you might have to offer would be awesome!
Click to expand...
Click to collapse
Looks like you didn't enable the config options mentioned in the first post. Also, please don't merge my hack to force-enable serial console, it doesn't play well with multirom. Also, you can enable the console by running "fastboot oem config console true", which I didn't know when I made that commit.
Tasssadar said:
Looks like you didn't enable the config options mentioned in the first post. Also, please don't merge my hack to force-enable serial console, it doesn't play well with multirom. Also, you can enable the console by running "fastboot oem config console true", which I didn't know when I made that commit.
Click to expand...
Click to collapse
[emoji33] [emoji40]
I literally can't even right now. Can't believe I missed that...rebuilding now, hopefully that takes care of it.
And thanks for the fastboot tip, I'll revert that hack.
Please keep the thread on topic for the section. If you aren't sure, read this: http://forum.xda-developers.com/nexus-6/devs-only/section-guidelines-read-t2959988
@Tasssadar, would this be better here in dev discussion (where I'm supposed to be an anal retentive moderator) or in "original development"? The reason for my asking is that your message states it's a release, as opposed to a discussion of the process of creating.
In the meantime, I've cleaned the thread...
Take care
Gary (posting as moderator of the dev discussion section.)
I put the patch here because it is quite different from most things posted in original development. It's pretty much for kernel devs only, and putting it in this section ensures it won't get lost (after couple of initial comments, there usually isn't any discussion related to this patch) and filters out most "thx" and "lolwhatsthis" posts (although obviously not all of them). I honestly didn't look up what's the exact goal of this section, it just seemed just right for this kind of thing. If you think it belongs to original development, feel free to move this topic.
Tasssadar said:
I put the patch here because it is quite different from most things posted in original development. It's pretty much for kernel devs only, and putting it in this section ensures it won't get lost (after couple of initial comments, there usually isn't any discussion related to this patch) and filters out most "thx" and "lolwhatsthis" posts (although obviously not all of them). I honestly didn't look up what's the exact goal of this section, it just seemed just right for this kind of thing. If you think it belongs to original development, feel free to move this topic.
Click to expand...
Click to collapse
Hey I don't know if you compile with ndk or cross compile for arm (statically or ndk) but I had to add some missing includes in *kexec/arch/arm/Makefile for kexec-tools to compile with the new board option. Just thought I'd mention.
https://github.com/Surge1223/androi...mmit/4b4629db76d64b7048274748d3e3366b52e1017d
Also, Ignore the other stuff. Testing kexec via module for locked devices so I have quite a bit of changes compared to regular kexec-tools.
Mod edit: Thread closed on owner's request.
exNoShadez-EAS Kernel
Hey Pixel XL forum. I'm a Pixel/Sailfish owner, who also enjoys hacking on kernel code. I recently released a Kernel in the Google Pixel forum => but we are all using the same kernel, sooo.... I thought after pushing my second stable release, that I should probably post on the XL forum too.
My kernel is a bit different than most kernels available, you will quickly notice. Lots of interesting features and some unique ones too.
FEATURES
- Current LTS release -> Linux-3.18.114
- Energy Aware Scheduling
- Schedutil (default Cpu Governor)
- RCU infrastructure backport (with expert mode enabled)
- Cpu-Boost / Input Boosting (enabled by default)
- BINFMT_MISC support (NOT mounted on boot).
- Kernel Hardening/Protection (CopperheadOS/Grsec/Pax Marlin kernel hardening features)
- leds-qpnp: Notification LED control - V1.1c (Boeffla) - Adapted for Marlin
- Binder_rt = My own re-implementation of AOSP Binder that uses rt_mutexes; supporting priority inheritance
- Improved scheduling/determinism for high priority threads/tasks
- Backported Scheduling, Locking and Workqueue subsystem code from Newer Linux kernels.
- Audio Driver enhancements / backports (from Wahoo/Pixel 2)
- Sound/Audio driver Tweaks (bug fixes, scheduling improvements)
- forced Interrupt threading enabled
- Wifi Mac Address Randomization
- WireGuard (VPN) kernel module support
- KCal Advanced Colour control
- Improved ASLR (in kernel)
- USB Fast Charge
- Wake Gestures
- GCC 6/7+ Fixes
- Built with GCC-8.x-dev
- and more
Contains code from everywhere: Code Aurora, Flar2/Marlin, CopperheadOS, AOSP, Project-EAS, Freak7/Kirisakura, Linaro, Pixel 2 kernel sources, mainline linux and elsewhere. Modifications and backports by me, as well.
BACKGROUND
I wanted a kernel for My Pixel that had 'all of the things', it didn't exist... So I'm working on my own kernel. I try to balance Security/hardening, experimental features with high Performance and battery life. <- not an easy task! ... Some of the security features do come with overhead, but if you use apps that are CPU heavy / processing and/or require low latency - they will perform well (at the cost of chewing some battery life, of course).... Battery life and SOT are very reasonable though.
WARNING / VERY IMPORTANT: This kernel isn't compatible with installing TWRP ~> meaning; you must use the fastboot version of TWRP (used in RAM) , flash the kernel and NOT install TWRP to your system (the kernel is too big for TWRP to co-exist).... This may sound inconvenient, but there are a number of valid reasons to avoid reducing a kernel's size in order to support TWRP installation, in the boot partition.
***Fun facts on not supporting TWRP below => 2nd post: PLEASE READ: to understand my motivation***
TWRP REMOVAL
*To remove TWRP from your system; You need the stock boot.img from your running/current firmware (which is inside of the factory image zips) or use the Nov Stock boot.img provided here. Then it's as simple as flashing the boot.img to wipe TWRP;
fastboot flash boot_a /path/to/boot.img
fastboot flash boot_b /path/to/boot.img
Stock 8.1 July 2018 Boot.img => https://github.com/nine7nine/Apps/raw/master/MarlinStockJulyBoot.img
Now you can proceed with using the TWRP fastboot boot.img to flash my kernel, magisk/supersu or whatever else....
Fastboot twrp boot image => https://dl.twrp.me/marlin/twrp-3.2.2-0-marlin.img
WARNING: This shouldn't need to be said, but we did have someone on the Pixel forum who did this, so I'm adding a sticky/warning here; do NOT EVER re-lock your bootloader after flashing any kind of custom software, kernels, etc to your device - *it will brick your phone*. Meaning you are screwed would need an RMA / replacement device ... everyone in the XDA community should know better, but still; worth mentioning....
IMPORTANT:
Before asking questions; Please read through the thread (starting with the last few pages) - I shouldn't need to be repeatedly answering the same questions over and over again. It's good practice to get into the habit of reading through threads before asking questions in any thread on XDA, as more often then not; you're question has probably been answered. Thanks!
EXNS-EAS KERNEL DOWNLOAD:
JULY 2018 OREO 8.1 RELEASE exNoShades-eas Kernel Flashable zip
https://github.com/nine7nine/Apps/raw/master/exNoShadez_eas_v2.8.2_f94351f.zip
It is stable, high performance and very responsive...
Important: You will need root; I don't support non-rooted devices && some features require it. I recommend using Magisk; https://forum.xda-developers.com/apps/magisk/beta-magisk-v13-0-0980cb6-t3618589 ...
NOTE: Make sure to flash the latest Magisk beta *before* flashing the kernel zip ...
More Background / Important Notes:
Binder_RT:
My own port and re-implementation of the Binder Kernel Driver; a slightly modified version of The AOSP binder.
Binder_RT uses rt_mutexes as oppsed to mutexes for locking in Binder, ion, ashmem, etc... rt_mutexes support priority inheritance and should improve determinism in Binder, speed up IPC, Ion and Ashmem => Allowing applications that require low-latency, tight deadlines, low jitter and deterministic behaviour to perform better ~ This re-implementation is proving to be the great for those types of applications. The goal here is to help ensure that the Kernel and Binder's high priority && time critical threads and tasks are properly prioritized... Example; audio buffers arriving on time / no buffer underruns... *Further development work is planned to research, experiment with and improve Binder_RT.
rt_mutex documentation, for those interested;
https://github.com/nine7nine/Marlin_exns-eas/blob/EXNS_EAS/Documentation/locking/rt-mutex.txt
https://github.com/nine7nine/Marlin_exns-eas/blob/EXNS_EAS/Documentation/locking/rt-mutex-design.txt
CPU-Boost / Input Boosting:
Touch inputs boost CPU frequencies (thus improves performance and responsiveness).
# Cpu-boot / Input boost settings
write /sys/module/cpu_boost/parameters/input_boost_enabled 1
write /sys/module/cpu_boost/parameters/input_boost_freq "0:1363200 1:0 2:1900800 3:0"
write /sys/module/cpu_boost/parameters/input_boost_ms 100
IO/ CPU Governors:
This kernel doesn't include a thousand io/cpu governors. IO-wise; CFQ is the default, but we've got a few in there. chose your poison, but know that the majority of my testing is centered around cfq and deadline. CPU Governor-wise the common Linux CPU governors are there; along with Sched and Schedutil....
Stick with Schedutil - on idle, it draws very little power and in most 'peak performance situations, it should do very well..... I'm getting great battery life, sot and performance.
Managing Kernel Settings:
Get EX Kernel Manager - my original code on github was forked from EX kernel, before rebasing it - but EXKM will give you access to 99% of my kernel's settings.
My 8.1 Kernel Sources: https://github.com/nine7nine/Marlin_exns-eas
Donations via PayPal very much appreciated. I do put a significant amount of energy and time into researching, development, testing / QA and also providing support/help to end-users... It's definitely not mandatory to donate; but If you appreciate the effort, see value or benefits from using my kernel on your device and can afford to; Use the "Donate to me" button or the below link... It makes a big difference. thanks!
https://www.paypal.me/jrdnjhnstn
Why TWRP Installations are NOT supported:
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
(and why I'm not using it!)
Most custom/android kernel devs are using the above configuration in kernel compilation, which is arguably very BAD... I understand that boot partitions are small and the desire to install TWRP to them, thus there is a need to reduce the kernel's size....and yes, this will achieve that - However;
1. SUSE, RedHat, etc (Enterprise linux) disable CONFIG_CC_OPTIMIZE_FOR_SIZE -> it's original use case has proven to be invalid. Even Google (in their own documentation) advise against using this; https://source.android.com/devices/tech/perf/boot-times ....
2. It suppresses useful compiler warnings....
3. As SOCs have become more powerful, google has come to the same conclusion that Enterprise Linux did back in 2012.
4. by turning off CONFIG_CC_OPTIMIZE_FOR_SIZE, we achieve better performance, boot time and better cache utilization.
Clark Williams / Redhat Bugzilla said:
* Cause: CONFIG_CC_OPTIMIZE_FOR_SIZE set with assumption that smaller code would yield hot cache lines and good performance
* Consequence: this config caused gcc to generate jump-to-jump code which causes cache line bouncing, hurting performance
* Fix: turn off CONFIG_CC_OPTIMIZE_FOR_SIZE
* Result:slightly larger kernel but better cache utilization
Click to expand...
Click to collapse
(The Above is quoted from Clark Williams, A Senior Software Architect @ RedHat -> https://bugzilla.redhat.com/show_bug.cgi?id=796297)
I know of no other way to significantly reduce kernel size. Disabling some debugging, unneeded features, etc helps - but not enough.... I am focusing on optimization, using newer builds of GCC/Linaro, performance enhancements, fixing compilation errors, etc, etc -> these things are more important than trying to support TWRP installation.
Therefore; I do NOT support installing TWRP....
This sounds incredible. All those features.. and then some. Hard for me to test as I rarely use my PC but I may have to go and give this a try.
Edit: would it be possible to create a build for those who do want to use TWRP? Would be great to do some benchmarks (real work using DiscoMark and synthetic using geekbench/AnTuTu/etc) to see differences between the two.
All those features are welcome in this poor Oreo pixel community! thanks for your work..
i'll try it as soon as possible!
spr33 said:
This sounds incredible. All those features.. and then some. Hard for me to test as I rarely use my PC but I may have to go and give this a try.
Edit: would it be possible to create a build for those who do want to use TWRP? Would be great to do some benchmarks (real work using DiscoMark and synthetic using geekbench/AnTuTu/etc) to see differences between the two.
Click to expand...
Click to collapse
No. like I said. I don't/won't support installing twrp. it would require reverting a bunch of patches/ work that I've already put in... and also not using linaro GCC 7.2.1 compiler, either...
the time invested would be a complete waste for me and I would have maintain another separate branch. test another build, etc, etc'... i'm not doing it. my current goal is to reduce my branches into one single branch/build;. ... which will end up hopefully being binder_rt... not create more.
feature wise, pretty much a 'best of' what any other custom kernel offers for Marlin, all of the hardening stuff (I think I'm the only Marlin kernel on XDA with that), etc... afaict, I'm the only one rolling in EASv1.4, cpu-boost, dynamic stune boost; all of which I've ported myself... some of the audio driver stuff I personally ported (more coming) and binder_rt is my baby; I ported aosp binder and researched / Inplemented all of the changes to Binder...
in my yet-to-be-released binder builds I also have backported a large chunk of the linux locking, workqueues and scheduling code and some other bits from newer mainline linux kernels (which allow me to pull in some new features and use them).
so I'd rather work on this kind of stuff, over caring about twrp, doubling my workload to support running synthetic benchmarks between gcc's -Os vs. -O2 optimization levels...
Thanks for the new kernel. Sounds very interesting. Can't try it atm because i am on dp1 from 8.1. Hope you gonna also support 8.1 when official sources are out. For me battery life is already great on dp1.
housepabldroid said:
All those features are welcome in this poor Oreo pixel community! thanks for your work..
i'll try it as soon as possible!
Click to expand...
Click to collapse
haha. pixel community isn't too bad. there's just not a lot of custom oreo ROMs.... myself, I wouldn't want to run any of those custom roms anyway. they usually are built without odexing or proper signiture key signing = less secure and way less optimized... Stock ROM is great, just needs root and a few apps to modify / customize it a bit.
for me, the kernel has always been the issue. lol... therefore, roll my own. lol....
ya, for sure give it a try... I honestly would say binder_rt is the best build... the 'stable build' is a bit of a misnomer - all of the builds are stable, just the binder ones are running more experimental code... binder_rt blows the socks off any other Marlin kernel for certain kinds of workloads... I'm aiming fir it to become my default build...
Donric13 said:
Thanks for the new kernel. Sounds very interesting. Can't try it atm because i am on dp1 from 8.1. Hope you gonna also support 8.1 when official sources are out. For me battery life is already great on dp1.
Click to expand...
Click to collapse
yup. I have to wait until kernel sources are released. you got it!. but when they are / 8.1 is released; I will be upgrading to 8.1, so no worries - there will be an 8.1 version...
I've heard heard that battery life is pretty good on 8.1, there's a thread in the pixel forum about it... but by what they were saying, it didn't seem that much better than what I see from my kernel.....
I'm more interested to see what performance improvements are in 8.1 kernel sources... I've found stock kernel to be a bit crappy for some stuff...
well, if at some point you are bored and want to test my kernel on 8.1, go for it. ya never know: maybe it will work. the reason I say that?
IIRC - it was tested with my old kernel / sources build... could've been a bug, not present in the new one.... or something else. IdK.. being as I'm on 8.0 I can't even look into why that might be or have been...
just make sure if u do ever try it, keep the stock boot.IMG for 8.1 around, in case it doesn't work..... and report back, if it does work. lol
Gotta say super smooth. Thanks for sharing. Maybe it's just a glitch in ex kernel manager but zram "stopping..." Or nothing to worry about.
JS.zip said:
Gotta say super smooth. Thanks for sharing. Maybe it's just a glitch in ex kernel manager but zram "stopping..." Or nothing to worry about.
Click to expand...
Click to collapse
Ah yes, I should've mentioned that ~ zram is working fine - but EXKM is being denied permission to read those files on the file system - I think it's due to a change in cgroups code (from merging in EASv1.4), but I haven't gotten to the bottom of it yet....
No worries though ~ I HAVE completely verified that zram is working, mounted swapon and behaving as it should... Honestly, the defaults for zram are fine ~ if they ever weren't; you would have bigger problems on your hands, that changing swapping wouldn't help. lol
Which build are you using? (just curious)
nine7nine said:
Ah yes, I should've mentioned that ~ zram is working fine - but EXKM is being denied permission to read those files on the file system - I think it's due to a change in cgroups code (from merging in EASv1.4), but I haven't gotten to the bottom of it yet....
No worries though ~ I HAVE completely verified that zram is working, mounted swapon and behaving as it should... Honestly, the defaults for zram are fine ~ if they ever weren't; you would have bigger problems on your hands, that changing swapping wouldn't help. lol
Which build are you using? (just curious)
Click to expand...
Click to collapse
Thanks that's what I thought. The bad boy "Binder RT" lol
JS.zip said:
Thanks that's what I thought. The bad boy "Binder RT" lol
Click to expand...
Click to collapse
bad boy eh? haha.
Ya, no worries - I check that sort of stuff, when it crops in... fixing that particular issue just hasn't been a huge priority, over other stuff that I'm working on. (and because I think it's pointless that EXKM even displays it to begin with - it just gives users the false impression that they are tweaking something, that in 99.99999% of cases - is absolutely pointless to touch).
Anyhoo, cool - let me know how things are working out with the binder_rt build, as you get some more use in ~ I really want it to become my main focus / implementation. (I personally won't be going back to using any other build day to day, anyway.)
nine7nine said:
bad boy eh? haha.
Ya, no worries - I check that sort of stuff, when it crops in... fixing that particular issue just hasn't been a huge priority, over other stuff that I'm working on. (and because I think it's pointless that EXKM even displays it to begin with - it just gives users the false impression that they are tweaking something, that in 99.99999% of cases - is absolutely pointless to touch).
Anyhoo, cool - let me know how things are working out with the binder_rt build, as you get some more use in ~ I really want it to become my main focus / implementation. (I personally won't be going back to using any other build day to day, anyway.)
Click to expand...
Click to collapse
I just wanted to point out that I grabbed your stock kernel from the OP and had planned to use that to flash my stock image. However, I happened to have the latest boot.img release decompressed on my drive so I compared it to the one I had on hand.
MD5 for your Stock Image: 7A2D92981FDE96E5D60D806019ACFA0C
MD5 for Google's Stock Image: BF9EDA2888C8C6A1FCD0A7DB6E37F739 (Latest November build)
Now I don't want to sound like the suspicious type, because in reality the stock kernel you provided is just to get TWRP off the device before flashing your kernel, but I'm forced to ask why your stock image is not identical with the main stock image? Unless your stock kernel isn't from the latest release but instead from a prior month or something of that nature (It would take me quite awhile to download the other month's releases just to check so I was hoping to ask you instead)
AlkaliV2 said:
I just wanted to point out that I grabbed your stock kernel from the OP and had planned to use that to flash my stock image. However, I happened to have the latest boot.img release decompressed on my drive so I compared it to the one I had on hand.
MD5 for your Stock Image: 7A2D92981FDE96E5D60D806019ACFA0C
MD5 for Google's Stock Image: BF9EDA2888C8C6A1FCD0A7DB6E37F739 (Latest November build)
Now I don't want to sound like the suspicious type, because in reality the stock kernel you provided is just to get TWRP off the device before flashing your kernel, but I'm forced to ask why your stock image is not identical with the main stock image? Unless your stock kernel isn't from the latest release but instead from a prior month or something of that nature (It would take me quite awhile to download the other month's releases just to check so I was hoping to ask you instead)
Click to expand...
Click to collapse
Easy explanation - I'm on Sailfish, you aren't; so the md5 wouldn't match...
I can do one of two things; you can post a upload/link to your boot.img and I will replace the link for Marlin's nov boot.img (adding it to my github) OR I will remove the link from the post and Marlin users will have to fend for themselves. (have to download 1.8GB firmware themselves for a boot.img... Obviously i'm NOT downloading your guys Nov Firmware images).
nothing suspicious at all here, dude.
EDIT: I've removed the link to the sailfish Nov boot.img, as a sign of good faith; I can replace it with the Marlin Nov boot.img - but that will require you to post a download/link to me, so I can add it in. thx
nine7nine said:
Easy explanation - I'm on Sailfish, you aren't; so the md5 wouldn't match...
I can do one of two things; you can post a upload/link to your boot.img and I will replace the link for Marlin's nov boot.img (adding it to my github) OR I will remove the link from the post and Marlin users will have to fend for themselves. (have to download 1.8GB firmware themselves for a boot.img... Obviously i'm NOT downloading your guys Nov Firmware images).
nothing suspicious at all here, dude.
EDIT: I've removed the link to the sailfish Nov boot.img, as a sign of good faith; I can replace it with the Marlin Nov boot.img - but that will require you to post a downlink to me, so I can add it in. thx
Click to expand...
Click to collapse
No problem, I download every Marlin release so I'll just update my AFH folder to include the monthly kernel release and users can download it from there. You can either link to my folder or download from it to add to your repository; either one is fine with me Thanks, and I do appreciate what you're doing but I have a 'verify first' stance since these devices are a big part of people's lives. I'm going to give your kernel a spin now, I appreciate you getting back to me so quickly. If only AFH was this fast, I just spent 25 minutes trying to get it to create an empty folder...
Link to Marlin Stock Images: https://www.androidfilehost.com/?w=files&flid=231142
Edit: I attempted to flash the "exNoShadez_eas-3.18.83_Binder_b0b66e0.zip" from the fastboot installed version of TWRP after flashing the stock boot to slot_a and slot_b, but it is failing with an error that states, "New image larger than boot partition. Aborting..." Then updater process Error 1. Any idea what would cause that?
AlkaliV2 said:
Edit: I attempted to flash the "exNoShadez_eas-3.18.83_Binder_b0b66e0.zip" from the fastboot installed version of TWRP after flashing the stock boot to slot_a and slot_b, but it is failing with an error that states, "New image larger than boot partition. Aborting..." Then updater process Error 1. Any idea what would cause that?
Click to expand...
Click to collapse
Hey, I added your nov boot.img to the OP. put it on github to save a few clicks for people.
The error you are seeing would suggest that TWRP is installed to the system. That is the only time anyone has ever bumped into that message. So, I'm not sure what's going on with your end but it would seem you have twrp actually installed...?!
the TWRP that you are supposed to use, is this one;
https://dl.twrp.me/marlin/twrp-3.1.1-1-fastboot-marlin.img
that loads and runs from RAM. twrp can't be "installed from fastboot" ~ it installs to the boot partition; leaving not enough room for the kernel.
nine7nine said:
Hey, I added your nov boot.img to the OP. put it on github to save a few clicks for people.
The error you are seeing would suggest that TWRP is installed to the system. That is the only time anyone has ever bumped into that message. So, I'm not sure what's going on with your end but it would seem you have twrp actually installed...?!
the TWRP that you are supposed to use, is this one;
https://dl.twrp.me/marlin/twrp-3.1.1-1-fastboot-marlin.img
that loads and runs from RAM. twrp can't be "installed from fastboot" ~ it installs to the boot partition; leaving not enough room for the kernel.
Click to expand...
Click to collapse
Yeah, that actually explains it. I was using a kernel with TWRP installed last go round and now it seems just flashing the factory boot.img is not getting rid of the installed TWRP. I'll figure out how to get TWRP removed for good this time; thank you for letting me know where to look.
AlkaliV2 said:
Yeah, that actually explains it. I was using a kernel with TWRP installed last go round and now it seems just flashing the factory boot.img is not getting rid of the installed TWRP. I'll figure out how to get TWRP removed for good this time; thank you for letting me know where to look.
Click to expand...
Click to collapse
Yup. TWRP can't be installed along side. Running it from RAM has to be used. ie: I don't support TWRP installations. lol
Flashing the factory boot.img DOES get rid of TWRP for good ~ you just have to make sure to use the TWRP fastboot boot.img for flashing my kernel after (since fastboot/twrp doesn't install to the boot partition)...
I've added a link to the OP to Marlin's twrp fastboot boot.img....
I also updated all of the download links and double-checked to make sure that all of the Marlin zips are packed properly with AnyKernel2 + relabelling every file on my github (by re-packing all of them all... This is mostly just paranoia on my part - but now that I'm supporting 2 devices, best to make sure that nothing gets tangled together.)
@everyone
just a few notes, since you guys are just getting exposure to my kernel, the way I do things; in regards to development, etc.
-> I post test builds (this usually happens when I make big changes.). reports are helpful on these builds.
-> Development happens fast; *I routinely add new features, bug fixes, etc and i'm almost always ahead on LTS updates over the Stock kernel.
examples;
=> lts -3.18.83 build available on the day of release
=> my Binder_rt branch is currently 140+ commits (code changes) ahead of the the other branches.
(changes since in the current downloads/releases)
=> There are a number of bug fixes, a few added features (mostly in-kernel stuff), some optimizations *and* there are massive upgrades to parts of the kernel's subsystems. (100+ commits are related to that)...
(changes since the current downloads/releases)
NOTE: The binder Branch (non-rt) will see the majority of the above changes code, but the Stable branch will only see a subset of these commits + bug fixes.
I probably won't roll out a test build for Binder_rt builds, until I've had the newest code running for a couple of days.... At that point, once things have proven to be stable good ~ i'll roll out a test build for anyone who wants to help out and dogfood test builds....
Then, I will push back changes back into the Binder builds, Stable, etc... I usually try and line up actual releases to LTS and/or => more importantly monthly android security / firmware updates....
**So the gist is; there will be frequent updates. Update as you see fit - anyone who wants to help out - run test builds and report back issues.
So pending a detail or two, I likely will be phasing out my other builds in favor of the Binder_rt build.
- I've had quite a lot of feedback via the Pixel forum, PMs and email (and a couple of friends using it too).
- The Binder_rt build seems to be very stable for everyone.... not too mention just all around better.
- there seem to be no drawbacks and quite a few benefits to that build over the others.
The one thing I'm waiting on is; I've joined the Android Kernel Developers Google Group and am currently waiting to see if I can't get some help with porting a missing Kernel function into Marlin's sources ~ this particular kernel function is what's stopping me from having Binder be sync'd with the AOSP binder implementation.... I'm hoping to resolve this sooner than later, at which point I will be able to merge in those commits (and test them).
In the meantime I'm working on a few backports to the audio driver and a few other bits (taken from Wahoo/Pixel 2 kernel sources). I've also pulled in a few fixes to binder from Wahoo, as well....
So I might post a test build for Binder_rt tomorrow - as it's accumulated a number of changes, bug fixes, etc.... I'm not sure If I will have any resolution to the missing kernel function - but that doesn't affect pushing a test build....