Unofficial CM11 Nightlies for Nook Tablet
CURRENTLY UNTESTED
I don't currently have access to my NT 16GB, but I'm working on an initial build
Normal Disclaimer: I am not responsible if you manage to screw up your Nook...don't blame me if this doesn't work a all
Flash Instructions
1. Download ROM and GApps (duh)
2. Wipe Data,, Dalvik and Cache (and System for good measure)
3. Flash ROM
4. Flash GApps
5. ???
6. Profit?
Downloads
Rom
Alpha 1: --MY INTERNET IS SLOW, COME BACK TOMOROW!!!!!-
GApps
http://temasek.hopto.org/Samsung Galaxy S3 - i9300/CM10.2/Misc/gapps-jb-20130813-signed.zip
I'm sorry for anyone who was hoping for a build right now, but I'm working hard to get it up by tomorrow
I'm PRAYING it runs on out wonderful devices
Reserved
Awesome, cant wait to try it out.
Yes! I knew I should keep checking this forum!
Kernel+device tree source or you are walking on thin ice.
Sent from my LG-P880 using Tapatalk
Demetris said:
Kernel+device tree source or you are walking on thin ice.
Sent from my LG-P880 using Tapatalk
Click to expand...
Click to collapse
At the moment I am building with the cm11 main branch with the cm10.2 acclaim sources (kernel+device tree) and Kuzumo's Proprietary blobs for JB
(I can never spell his username...)
I'm already expecting things to break (Wifi, Maybe HW Acceleration, etc.) but from what I see nobody else is building
I'll probably make a new GitHub for this rom sometime to make it so others can build from my source specifically
ajbiz11 said:
At the moment I am building with the cm11 main branch with the cm10.2 acclaim sources (kernel+device tree) and Kuzumo's Proprietary blobs for JB
(I can never spell his username...)
I'm already expecting things to break (Wifi, Maybe HW Acceleration, etc.) but from what I see nobody else is building
I'll probably make a new GitHub for this rom sometime to make it so others can build from my source specifically
Click to expand...
Click to collapse
I, for one, am willing to archive my current CM 10.2 and try this out when ready.:highfive:
petewr said:
I, for one, am willing to archive my current CM 10.2 and try this out when ready.:highfive:
Click to expand...
Click to collapse
Awesome, glad to here it!
Alright, I'm building now. I'll probably have it up around noon EST
I'll need people to tell me what's broken...although I PRAY it has little issues, it will likely be near everything :3
I'll post when I update the main post with the dl link
ajbiz11 said:
Awesome, glad to here it!
Alright, I'm building now. I'll probably have it up around noon EST
I'll need people to tell me what's broken...although I PRAY it has little issues, it will likely be near everything :3
I'll post when I update the main post with the dl link
Click to expand...
Click to collapse
Or not...I have a TON of errors to fix
I'm gonna start now, but meh...it's gonna take a while
http://pixelperfectserver.tk/buildlog.txt
ajbiz11 said:
Or not...I have a TON of errors to fix
I'm gonna start now, but meh...it's gonna take a while
http://pixelperfectserver.tk/buildlog.txt
Click to expand...
Click to collapse
Multi Window support?
Milehighmeltdown said:
Multi Window support?
Click to expand...
Click to collapse
I didn't personally enable it and it isn't in the main souces for CM10.2 OR CM11.0
And now I'm past those issues....now I'm having problem with libwpa_client.so
http://pixelperfectserver.tk/buildlog3.txt
ajbiz11 said:
I didn't personally enable it and it isn't in the main souces for CM10.2 OR CM11.0
And now I'm past those issues....now I'm having problem with libwpa_client.so
http://pixelperfectserver.tk/buildlog3.txt
Click to expand...
Click to collapse
Well, it appears I've fixed the issue I was having with the WiFi module (I think I broke WiFi, but we will see...), but my internet at home is too slow to connect to my RDP box, so i won't be able to upload the build until Monday
I thank you all for your patience
ajbiz11 said:
Well, it appears I've fixed the issue I was having with the WiFi module (I think I broke WiFi, but we will see...), but my internet at home is too slow to connect to my RDP box, so i won't be able to upload the build until Monday
I thank you all for your patience
Click to expand...
Click to collapse
Well, I jinxed it
Anyone know why I would have issues libwpa_client in the CyanogenMod repos for the acclaim?
I'll ask around, but I don't see where I would get the file or remove the referene
Arbitrarillay making the file results in the same thing that happens here (made via touch, so the file is empty)
https://groups.google.com/forum/m/#!topic/android-building/3Bb_Cq5U-MY
root/init.acclaim.rc
1.
# wifi services
service p2p_supplicant /system/bin/wpa_supplicant -e/data/misc/wifi/entropy.bin \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
[email protected]:wpa_wlan0
2.
service wpa_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin \
[email protected]:wpa_wlan0
Demetris said:
root/init.acclaim.rc
1.
# wifi services
service p2p_supplicant /system/bin/wpa_supplicant -e/data/misc/wifi/entropy.bin \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
[email protected]:wpa_wlan0
2.
service wpa_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin \
[email protected]:wpa_wlan0
Click to expand...
Click to collapse
I'm assuming this is the output from your device?
ajbiz11 said:
I'm assuming this is the output from your device?
Click to expand...
Click to collapse
Nevermind
I'm a n00b
I found the init.acclaim.rc
Edit: and I still get the error on build with those changes....
I hope this helps https://github.com/TaichiN/android_device_amazon_otter/tree/cm-11.0
Sent from my XT907 using xda app-developers app
I tried to build 4.4 and we have a sensors error (as all others too google broke sensors everywhere)
device/bn/acclaim/libsensors/Kxtf9.cpp: In member function 'virtual int Kxtf9Sensor::enable(int32_t, int)':
device/bn/acclaim/libsensors/Kxtf9.cpp:56:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
device/bn/acclaim/libsensors/Kxtf9.cpp: In member function 'virtual int Kxtf9Sensor::setDelay(int32_t, int64_t)':
device/bn/acclaim/libsensors/Kxtf9.cpp:96:54: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat]
device/bn/acclaim/libsensors/sensors.c:37:17: warning: braces around scalar initializer [enabled by default]
device/bn/acclaim/libsensors/sensors.c:37:17: warning: (near initialization for 'sSensorList[0].fifoReservedEventCount') [enabled by default]
device/bn/acclaim/libsensors/sensors.c:37:17: error: empty scalar initializer
device/bn/acclaim/libsensors/sensors.c:37:17: error: (near initialization for 'sSensorList[0].fifoReservedEventCount')
device/bn/acclaim/libsensors/sensors.c:37:17: warning: missing initializer [-Wmissing-field-initializers]
device/bn/acclaim/libsensors/sensors.c:37:17: warning: (near initialization for 'sSensorList[0].fifoReservedEventCount') [-Wmissing-field-initializers]
make: *** [/media/250gb2/CyanogenMod-V11/out/target/product/acclaim/obj/SHARED_LIBRARIES/sensors.acclaim_intermediates/sensors.o] Error 1
make: *** Waiting for unfinished jobs....
Reference line is:
SENSOR_TYPE_ACCELEROMETER, 8.0f*9.81f, (8.0f*9.81f)/2048.0f, 0.57f, 0, { } },
See here another one
http://forum.xda-developers.com/showthread.php?p=47287818
Click to expand...
Click to collapse
Fixed
SENSOR_TYPE_ACCELEROMETER, (GRAVITY_EARTH * 2.0f),(GRAVITY_EARTH) / 1024.0f, 0.7f, 10000, 0,0, { } },
TheForceUnleashed said:
I hope this helps https://github.com/TaichiN/android_device_amazon_otter/tree/cm-11.0
Sent from my XT907 using xda app-developers app
Click to expand...
Click to collapse
Thanks...it helps, but not in the way one would expect
Now I know someone built 4.4 for our sister device! So, I'll see if I can get the files I need to fix the current errors with my build from hm.
Demetris said:
Fixed
SENSOR_TYPE_ACCELEROMETER, (GRAVITY_EARTH * 2.0f),(GRAVITY_EARTH) / 1024.0f, 0.7f, 10000, 0,0, { } },
Click to expand...
Click to collapse
If I run into an accellerameterr error, then thanks, but the current issue is with the WiFi drivers
Well, I'd use @Demetris 's rom for now
I'm gonna merge my project with his, then likely CarbonRom
or, you guys can choose
1) Carbon
2) AOKP
3) Paranoid Android
4) PACman
5) LiquidSmooth
6) Another ROM?
I'm leaning towards Carbon, as it seems more stable than PAC, but I'll leave it up to you
Hi guys,
today I would like to present to you a simple project that was born on this thread to accomplish a very simple task: since there are thousand of Custom ROMs around here, so much of them are LineageOS based, and because of this their forced to build every time all the ROM and post updates here. Users are also forced to check if their preferred ROM was updated or not. That's why I decided to understand how LineageOS OTA Updater System App works. Because of this I've wrote a simple REST Server API emulation that fully works with your ROM (if integrated of course). How? Continue reading down here.
How does it work?
Of course is as simple as it should be. Clone the repo (is a simple PHP website that you can host on any shared hosting*/VPS that you like) and upload it into your preferred hosting. That's it. If you point your web browser to that address the App is already working.
After, you have to upload all your build to the _builds/ folder, and you're done.
The two already working calls /api and /api/v1/build/get_delta should answer correctly the updater app to make it work (remember that visiting it as a browser is not sufficent).
How to integrate it with my ROM?
You have two options:
- Declare cm.updater.uri on your own build.prop file with the value of you own server URL where you have deployed it (This can be done also by the user with any Android App from the Market)
- Replace the string conf_update_server_url_def value inside values.xml of the OTA App source code (COMPILE TIME ONLY!)
Which builds does it support?
Anything that will be borned by the official guide on how to build your custom LineageOS ROM! So, in poor words will be: stable, rcs, nightly and snapshots (likely called EXPERIMENTAL), from CM7 to CM14.
Delta updates SHOULD work too. Just try it and tell me if they works
How can I debug it?
You can use this simple UnitTest that I've already pushed into my GitHub. Feel free to use it everytime you need. It's based upon NodeJS and Unirest.
Is it free?
"Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer."
—Richard Stallman
Click to expand...
Click to collapse
Use it as you want, do anything you want with it as it's MIT licensed.
Is it free of bugs?
That's why I'm here Only you can help me to squash all the remaining bugs!
I hope this will be useful to anyone of you, helping the ROM community providing a simple OTA updater that already works on LineageOS official ROMs.
Greets.
---
Project Home: https://github.com/julianxhokaxhiu/LineageOTA
More about the study: http://blog.julianxhokaxhiu.com/how-the-cm-ota-server-works-and-how-to-implement-and-use-ours
Changelog Build Scripts ( thanks to @Deltadroid ): https://github.com/syphyr/cm_build_scripts/blob/master/make_changelog
* On a Shared Hosting you can ONLY provide a FULL ROM download, NOT DELTAs!
---
Donators:
- @BlueFlame4 x2
Hey, I'm having trouble using your docker image behind a Nginx https reverse proxy. The server is correctly answering the requests:
Code:
{
"id":null,
"response":[
{
"incremental":"",
"api_level":"",
"url":"http:\/\/MYDOMAIN\/\/builds\/full\/lineage-17.1-20200830-UNOFFICIAL-lavender.zip",
"timestamp":1598774045,
"md5sum":"718fb89f935b979edd57b2642234d1fa",
"changes":"",
"channel":"unofficial",
"filename":"lineage-17.1-20200830-UNOFFICIAL-lavender.zip",
"romtype":"unofficial",
"datetime":1598774045,
"version":"17.1",
"id":"50533a894b2ab0d9b2711444ca4f2b530a8ff2389723ea2bd7ada6e029599e2c",
"size":914450521
}
],
"error":null
}
But the returned `url` is http-only and the updater can't download it (throws error). WhenI try to curl it without `-L` I only get `301 Moved Permanently`. Only when I append `-L` I get the correct binary response over https. I'm pretty sure this is a redirecting issue.
Here's my Nginx config:
Code:
server{
server_name MYDOMAIN;
server_tokens off;
listen 80;
listen [::]:80 ipv6only=on;
# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}
server {
server_name MYDOMAIN;
server_tokens off;
listen 443 ssl http2;
listen [::]:443 ssl http2 ipv6only=on;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:24087;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";
add_header Referrer-Policy same-origin;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-Xss-Protection "1; mode=block";
[...]
Any idea what I'm doing wrong?
Basically I want to know how to force the `url` response in the JSON to be `https` instead of `http`. (At least that's what I think is the reason for the updater not being able to download the image.)
Code:
08-30 16:00:19.407 7025 7025 D UpdaterController: Starting 50533a894b2ab0d9b2711444ca4f2b530a8ff2389723ea2bd7ada6e029599e2c
08-30 16:00:19.409 7025 7921 E HttpURLConnectionClient: Error downloading file
08-30 16:00:19.409 7025 7921 E HttpURLConnectionClient: java.io.IOException: Cleartext HTTP traffic to MYDOMAIN not permitted
08-30 16:00:19.409 7025 7921 E HttpURLConnectionClient: at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:124)
08-30 16:00:19.409 7025 7921 E HttpURLConnectionClient: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:462)
08-30 16:00:19.409 7025 7921 E HttpURLConnectionClient: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
08-30 16:00:19.409 7025 7921 E HttpURLConnectionClient: at org.lineageos.updater.download.HttpURLConnectionClient$DownloadThread.run(HttpURLConnectionClient.java:250)
08-30 16:00:19.409 7025 7921 E UpdaterController: Download failed
EDIT: Solved!
Code:
location / {
proxy_pass http://127.0.0.1:24087;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
#proxy_set_header Host $host;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-NginX-Proxy true;
}
Not sure if this project is still supported, but with build.prop change, it just checks for updates forever on phone. When I try debugging with the UnitTest script, I get "Not Found The requested URL /CyanogenModOTA/api was not found on this server." (definitely server-related) I've gotten this working before on another VPS, so I'm wondering why it's not on my build server.
Are there any specific packages I need to install to get this working?
Here is my php config: http://hongbuild.ddns.net:81/test.php
klvnhng said:
Not sure if this project is still supported, but with build.prop change, it just checks for updates forever on phone. When I try debugging with the UnitTest script, I get "Not Found The requested URL /CyanogenModOTA/api was not found on this server." (definitely server-related) I've gotten this working before on another VPS, so I'm wondering why it's not on my build server.
Are there any specific packages I need to install to get this working?
Here is my php config: http://hongbuild.ddns.net:81/test.php
Click to expand...
Click to collapse
Since build.prop is in the system.new.dat file in lollipop builds, I just started copying it over from my build server and modified the Build.php file to look for the file instead of inside the zip. I just got this working on my web server. Only issue I'm having is related to change logs but I'm going to try and figure that one out later.
Here are the changes I did to get this working with CyanogenMod 12 (all changes will be assumed from the CyanogenModOTA directory):
- mkdir -p builds/buildprop <-- this is where you copy your build.prop from each build (they go in a folder with the same name as the build zip e.x. cm-12-20150103-NIGHTLY)
- mkdir -p builds/changelog <-- this will have your change logs (name them the same as the build zip except with a .txt extension)
- update setConfig( 'basePath', 'CyanogenModOTA' ) to setConfig( 'basePath', 'http://wfhome.net/CyanogenModOTA' ) in index.php (that is my server)
- change the Build constructor function to this (I updated the preg_match_all line, added the buildPropFolder variable, updated the $this->buildProp line, and changed the changeLogUrl line):
Code:
private $buildPropFolder = '';
public function __construct($fileName, $physicalPath) {
/*
$tokens Schema:
array(
1 => [CM VERSION] (ex. 10.1.x, 10.2, 11, etc.)
2 => [DATE OF BUILD] (ex. 20140130)
3 => [CHANNEL OF THE BUILD] (ex. RC, RC2, NIGHTLY, etc.)
4 => [MODEL] (ex. i9100, i9300, etc.)
)
*/
preg_match_all( '/cm-([0-9\.]+-)(\d+-)?([a-zA-Z0-9]+-)?([a-zA-Z0-9]+).zip/', $fileName, $tokens );
$tokens = $this->removeTrailingDashes( $tokens );
$this->filePath = $physicalPath . '/' . $fileName;
$this->buildPropFolder = str_replace('/full', '/buildprop', $physicalPath) . '/' . preg_replace('/\\.[^.\\s]{3,4}$/', '', $fileName);
$this->buildProp = explode( "\n", file_get_contents($this->buildPropFolder . '/build.prop') );
$this->channel = $this->_getChannel( str_replace( range( 0 , 9 ), '', $tokens[3] ) );
$this->filename = $fileName;
$this->url = $this->_getUrl( '', Flight::cfg()->get('buildsPath') );
$this->changelogUrl = str_replace('/full', '/changelog', $this->_getChangelogUrl());
$this->timestamp = filemtime( $this->filePath );
$this->incremental = $this->getBuildPropValue( 'ro.build.version.incremental' );
$this->apiLevel = $this->getBuildPropValue( 'ro.build.version.sdk' );
$this->model = $this->getBuildPropValue( 'ro.cm.device' );
}
Also he has memcached setup in there, so you might make sure you have memcache installed and set to run on startup on your server. You also need xdelta3 to create delta builds although, I don't think it is working ( I compiled the latest version of xdelta3 and it doesn't appear to do anything as there are not any files being created in the delta folder).
Hope that helps.
Thanks for the help (I'll definitely need it when I actually want to start USING the server), but it seems you've misunderstood me. Right now, I can't even get the rest server running properly-that's why I'm getting a 404 error.
Notice you get an output when you go to http://wfhome.net/CyanogenModOTA/api, I don't get anything!
klvnhng said:
Thanks for the help (I'll definitely need it when I actually want to start USING the server), but it seems you've misunderstood me. Right now, I can't even get the rest server running properly-that's why I'm getting a 404 error.
Notice you get an output when you go to http://wfhome.net/CyanogenModOTA/api, I don't get anything!
Click to expand...
Click to collapse
Ah sorry. First thing I see is that you need mod_rewrite installed in apache.
Code:
sudo a2enmod rewrite
sudo service apache2 restart
Need help with development
First I would like to thank you for using this product and playing with it (which involves patching, testing, etc.).
Since the first post I've made here in XDA the project evolved a little since I rewrote entirely the project to make it composer friendly. Rather than that, the Delta build process is actually non working (I tried to create a ZIP but I don't have enough knowledge in ROM development to tell if it's enough or not) so it's just a WIP layer that should be addressed and fixed (I've already found a Python project which does this already but I'm of the idea that this should be somehow not be a bloated software that needs to install binaries here and there to make it working).
So, actually I'm not really working in this project but It's in my TODO list, meanwhile I'll be very happy to have pull requests with useful patches to make this KK, LL and more compatible So feel free to contribute and thanks again for using it!
JulianXhokaxhiu said:
First I would like to thank you for using this product and playing with it (which involves patching, testing, etc.).
Since the first post I've made here in XDA the project evolved a little since I rewrote entirely the project to make it composer friendly. Rather than that, the Delta build process is actually non working (I tried to create a ZIP but I don't have enough knowledge in ROM development to tell if it's enough or not) so it's just a WIP layer that should be addressed and fixed (I've already found a Python project which does this already but I'm of the idea that this should be somehow not be a bloated software that needs to install binaries here and there to make it working).
So, actually I'm not really working in this project but It's in my TODO list, meanwhile I'll be very happy to have pull requests with useful patches to make this KK, LL and more compatible So feel free to contribute and thanks again for using it!
Click to expand...
Click to collapse
Thank YOU for making it! Really appreciate the time and effort you've put into this project.
rjwil1086 said:
Ah sorry. First thing I see is that you need mod_rewrite installed in apache.
Code:
sudo a2enmod rewrite
sudo service apache2 restart
Click to expand...
Click to collapse
That did it, thanks :good:
I've also implemented your changes, but when I check for updates on my phone, I still get "No new updates found". I've copied my new build over to builds/full, and the build.prop to builds/buildprop/cm*
rjwil1086 thank you very much for your help and suggestions, I made my own server http://paksman.ddns.net/cyanogenmodota, edited build.prop for cm updater to look for server url, made all the changes as you but I always get "No new updates found". Not sure if there is a problem with my server or with this project in general. Have you made any success to make this work?
I have it working. I'll upload mine to github tonight
Think I solved my own problem. My builds were all tagged as 'UNOFFICIAL'. When I changed this to 'NIGHTLY' (for the build and build.prop folder respectively ) they finally started to be recognised by cm updater app. JulianXhokaxhiu and rjwil1086, thank you so much for your effort,your work is being much appreciated.
Packsman said:
Think I solved my own problem. My builds were all tagged as 'UNOFFICIAL'. When I changed this to 'NIGHTLY' (for the build and build.prop folder respectively ) they finally started to be recognised by cm updater app. JulianXhokaxhiu and rjwil1086, thank you so much for your effort,your work is being much appreciated.
Click to expand...
Click to collapse
Yup. Sorry. I knew that but forgot to mention it. That's an issue with the CMUpdater app more than it is with the REST implementation. It doesn't look for unofficial files
Packsman said:
Think I solved my own problem. My builds were all tagged as 'UNOFFICIAL'. When I changed this to 'NIGHTLY' (for the build and build.prop folder respectively ) they finally started to be recognised by cm updater app. JulianXhokaxhiu and rjwil1086, thank you so much for your effort,your work is being much appreciated.
Click to expand...
Click to collapse
Awesome! This fixed it for me as well. Thanks to everyone for the help
[CyanogenMod][OTA][PHP] Open Source REST Server for you
Hi, I have been tested server code with a free host (000webhost) then accessed the web, I received messages:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/a5885282/public_html/index.php on line 27
Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in /home/a5885282/public_html/index.php on line 27
The line 27 of index.php is "use \JX\CmOta\CmOta;". But I don't know about PHP. Please help me solve this issue.
@rjwil1086 , @klvnhng , @Packsman please help me to solve following error:
$ node index.js
<h1>500 Internal Server Error</h1><h3>Undefined offset: 0 (8)</h3><pre>#0 /var/www/CyanogenModOTA/src/Helpers/Build.php(214): flight\Engine->handleError(8, 'Undefined offse...', '/var/www/Cyanog...', 214, Array)
#1 /var/www/CyanogenModOTA/src/Helpers/Build.php(63): JX\CmOta\Helpers\Build->removeTrailingDashes(Array)
#2 /var/www/CyanogenModOTA/src/Helpers/Builds.php(115): JX\CmOta\Helpers\Build->__construct('cm-11-20140103-...', '/var/www/Cyanog...')
#3 /var/www/CyanogenModOTA/src/Helpers/Builds.php(49): JX\CmOta\Helpers\Builds->getBuilds()
#4 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Loader.php(123): JX\CmOta\Helpers\Builds->__construct()
#5 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Loader.php(80): flight\core\Loader->newInstance('\JX\CmOta\Helpe...', Array)
#6 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/Engine.php(69): flight\core\Loader->load('builds', true)
#7 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(191): flight\Engine->__call('builds', Array)
#8 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(191): flight\Engine->builds()
#9 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/Flight.php(43): flight\core\Dispatcher::invokeMethod(Array, Array)
#10 /var/www/CyanogenModOTA/src/CmOta.php(97): Flight::__callStatic('builds', Array)
#11 /var/www/CyanogenModOTA/src/CmOta.php(97): Flight::builds()
#12 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(160): JX\CmOta\{closure}()
#13 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(143): flight\core\Dispatcher::callFunction(Object(Closure), Array)
#14 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/Engine.php(310): flight\core\Dispatcher::execute(Object(Closure), Array)
#15 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(191): flight\Engine->_start()
#16 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(142): flight\core\Dispatcher::invokeMethod(Array, Array)
#17 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(48): flight\core\Dispatcher::execute(Array, Array)
#18 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/Engine.php(64): flight\core\Dispatcher->run('start', Array)
#19 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(191): flight\Engine->__call('start', Array)
#20 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/core/Dispatcher.php(191): flight\Engine->start()
#21 /var/www/CyanogenModOTA/vendor/mikecao/flight/flight/Flight.php(43): flight\core\Dispatcher::invokeMethod(Array, Array)
#22 /var/www/CyanogenModOTA/src/CmOta.php(80): Flight::__callStatic('start', Array)
#23 /var/www/CyanogenModOTA/src/CmOta.php(80): Flight::start()
#24 /var/www/CyanogenModOTA/index.php(35): JX\CmOta\CmOta->run()
#25 {main}</pre>
Thank you so much.
Thanks all, I fixed.
[CyanogenMod][OTA][PHP] Open Source REST Server for you
I have just creat susscess a server. Thanks.
But, now I want creat a update OTA app for other AOSP ( andoird L) and using that server which I have just creat.
Can I using CMupdater for it? Can you give me some suggest?
Hi, need help to understand!
First of all, i want to say Thank You! For this great job!
I installed server, activated mod rewrite in apache2, apt-get install memcached, made chown for all files to www-data in CyanogenModOTA directory
created directories builds/buildprop, builds/changelog
created file romname.txt in changelog
copied file rom archive to build/full directory
and when i open in browser my ota site: http ota.mydomain.com i see the dir listing as described above
when i try to open url http ota.mydomain.com/api - i see the 404 error.
what exactly i have to do as the next step?
is any json file missed in web root directory (in same place as index.php) ?
and I leave index.php almost unchanged (as in the repository) - just changed string: ->setConfig( 'basePath', '/' )
Thank You once again!
vvzar said:
First of all, i want to say Thank You! For this great job!
I installed server, activated mod rewrite in apache2, apt-get install memcached, made chown for all files to www-data in CyanogenModOTA directory
created directories builds/buildprop, builds/changelog
created file romname.txt in changelog
copied file rom archive to build/full directory
and when i open in browser my ota site: http ota.mydomain.com i see the dir listing as described above
when i try to open url http ota.mydomain.com/api - i see the 404 error.
what exactly i have to do as the next step?
is any json file missed in web root directory (in same place as index.php) ?
and I leave index.php almost unchanged (as in the repository) - just changed string: ->setConfig( 'basePath', '/' )
Thank You once again!
Click to expand...
Click to collapse
Are you sure that modrewrite is working? Can you share a working URL?
lingak said:
I have just creat susscess a server. Thanks.
But, now I want creat a update OTA app for other AOSP ( andoird L) and using that server which I have just creat.
Can I using CMupdater for it? Can you give me some suggest?
Click to expand...
Click to collapse
Honestly I don't know, we have to check if OTA app is the same in Lollipop and works of course the same. If so, we're already safe and yes it can work out of the box. If not, we have to fix it. If you already have a working example, feel free to do a pull request
JulianXhokaxhiu said:
Are you sure that modrewrite is working? Can you share a working URL?
[email protected]:/home/user# a2enmod rewrite
Module rewrite already enabled
[email protected]:/home/user#
.htaccess:
[email protected]:/home/user# cat /var/www/html/CyanogenModOTA/.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
[email protected]:/home/user#
Is any other rules i have to check?
What about statement <Directory /var/www/html/CyanogenModOTA> ?
Is enouph AllowOverride All and Allow from all ?
test url : http ota.smylink.org
Click to expand...
Click to collapse
vvzar said:
JulianXhokaxhiu said:
Are you sure that modrewrite is working? Can you share a working URL?
[email protected]:/home/user# a2enmod rewrite
Module rewrite already enabled
[email protected]:/home/user#
.htaccess:
[email protected]:/home/user# cat /var/www/html/CyanogenModOTA/.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
[email protected]:/home/user#
Is any other rules i have to check?
What about statement <Directory /var/www/html/CyanogenModOTA> ?
Is enouph AllowOverride All and Allow from all ?
test url : http ota.smylink.org
Click to expand...
Click to collapse
Technically it should be enough but the order of where you placed it is important too.
Anyway, going to your URL is just making me think that the PHP code is running well (the redirect to builds folder is triggered by CMOTA Rest Code). You're just missing the htaccess rules.
I'm quite sure you just have to figure out your own server setup to understand if mod_rewrite is properly working (allowing htaccess files to be read and parsed).
Click to expand...
Click to collapse
Background:
Can't locate a TWRP image for WI502Q device
@T10NAZ has been helping in his TWRP for WI501Q thread. It seems more polite to separate this discussion from his TWRP release thread.
Goal:
Build a booting TWRP image for WI502Q device
I'll be posting step-by-step directions as I make progress and I'll also be posting questions!
Steps
Repo
1) Install repo (sudo apt-get install repo)
1a) repo init -u git://github.com/joeykrim/platform_manifest_twrp_omni_wren.git -b twrp-6.0
1b) repo sync
2) Clone device configuration and kernel files
2a) mkdir -p device/asus/wren (Inside omni directory cloned in 1b)
2b) cd device/asus/ && git clone https://github.com/joeykrim/wren
3) Setup AOSP to compile and Compile
3a) . build/envsetup.sh
3b) lunch omni_wren-eng
3c) mka recoveryimage OR make clean && mka -j9 recoveryimage
Sources:
Referencing Dees_Troy's guide for compiling TWRP: http://forum.xda-developers.com/showthread.php?p=32965365#post32965365
Sparrow Omni ROM/Recovery compile files: https://github.com/asyan4ik/sparrow
Compiling kernel: http://forum.xda-developers.com/android/software/ultimate-guide-compile-android-kernel-t2871276 & https://source.android.com/source/building-kernels.html & @T10NAZ who compiled the kernel and provided the binary
Dependencies (Not complete list):
My GitHub forks include minor changes in order to compile without errors: https://github.com/joeykrim/platform_manifest_twrp_omni_wren & https://github.com/joeykrim/wren
OmniROM requires OpenJDK 7: sudo apt-get install openjdk-7-jdk (Reference for install, replace version 8 with 7)
Unresolved Issues:
1) Requires pre-compiled or compiling kernel
1a) Unable to pull from device: /dev/block/platform/msm_sdcc.1/by-name/boot: Permission denied and /dev/block/mmcblk0p11: Permission denied
1b) ASUS Kernel source: https://www.asus.com/au/support/Download/42/1/0/3/y5tW5D4k3zKBVKf4/32/
Latest version at this time: ASUS ZenWatch2 (WI502Q) Kernel source code V5.20.0.111 (MEC23G)
Requires a prebuilt toolchain - AOSP recommends: git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
make wren_user_msm8226-perf_defconfig - results in many errors, as shown in the multiple posts below
@T10NAZ suggested using wren_defconfig instead of wren_user_msm8226-perf_defconfig, compiled a kernel and posted it: http://forum.xda-developers.com/showpost.php?p=65955638&postcount=13
2) Sparrow (BoardConfig.mk) calls for an older font file: font_7x16.h (bootable/recovery/minui.old/font_7x16.h). For now, disabled as compiling with it results in an error:
"In file included from bootable/recovery/minui/graphics.cpp:35:
bootable/recovery/minui/font_7x16.h:12:14: error: initialization of flexible array member is not allowed
.rundata = {
^"
u should post in the android dev or android orid dev section of the zenwatch 2 i think.
here in q&a it might get lost
just a friendly advice. i have a w501q. for mine there is T10NAZ's version which works perfectly if tethered (a flashable version would be nich to have )
4RK4N said:
u should post in the android dev or android orid dev section of the zenwatch 2 i think.
here in q&a it might get lost
just a friendly advice. i have a w501q. for mine there is T10NAZ's version which works perfectly if tethered (a flashable version would be nich to have )
Click to expand...
Click to collapse
im working on making it flashable
T10NAZ said:
I used this dev tree here so you can modify it to get twrp for the 502
or to practice by using the files available for the 501
all you need is the omni 6.0 source for twrp 3.0.0.0 and the latest kernel source and you are off to the races!
If you need help let me know
Click to expand...
Click to collapse
Summary
I have omni 6.0 source and using asyan4ik's device tree for sparrow, I have the sparrow TWRP recovery.img compiled in out/target/product/sparrow. The 501 device was a good starting point, thanks!
Now to 502, I'm unable to get a kernel binary to use in order to build TWRP. Any suggestions on how to either get the 502 kernel binary or get the 502 kernel source compiling?
Details:
1) I'm not able to get the kernel binary, which asyan4ik provided for the 501/sparrow device on the github repo. I tried but couldn't pull the kernel binary from the 502 device: /dev/block/platform/msm_sdcc.1/by-name/boot: Permission denied and /dev/block/mmcblk0p11: Permission denied
2) I do have the kernel source from ASUS's web site, but am seeing multiple errors when compiling with wren_user_msm8226-perf_defconfig or wren_userdebug_msm8226_defconfig.
Example of an error: "kernel/printk.c: In function ‘printk_buffer_rebase’:
kernel/printk.c:1022:38: error: ‘ASUS_SW_VER’ undeclared (first use in this function)
strncpy(asus_global.kernel_version, ASUS_SW_VER, sizeof(asus_global.kernel_version));
^
kernel/printk.c:1022:38: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:308: recipe for target 'kernel/printk.o' failed"
joeykrim said:
Summary
I have omni 6.0 source and using asyan4ik's device tree for sparrow, I have the sparrow TWRP recovery.img compiled in out/target/product/sparrow. The 501 device was a good starting point, thanks!
Now to 502, I'm unable to get a kernel binary to use in order to build TWRP. Any suggestions on how to either get the 502 kernel binary or get the 502 kernel source compiling?
Details:
1) I'm not able to get the kernel binary, which asyan4ik provided for the 501/sparrow device on the github repo. I tried but couldn't pull the kernel binary from the 502 device: /dev/block/platform/msm_sdcc.1/by-name/boot: Permission denied and /dev/block/mmcblk0p11: Permission denied
2) I do have the kernel source from ASUS's web site, but am seeing multiple errors when compiling with wren_user_msm8226-perf_defconfig or wren_userdebug_msm8226_defconfig.
Example of an error: "kernel/printk.c: In function ‘printk_buffer_rebase’:
kernel/printk.c:1022:38: error: ‘ASUS_SW_VER’ undeclared (first use in this function)
strncpy(asus_global.kernel_version, ASUS_SW_VER, sizeof(asus_global.kernel_version));
^
kernel/printk.c:1022:38: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:308: recipe for target 'kernel/printk.o' failed"
Click to expand...
Click to collapse
that error was the most annoying thing ever and i always had an issue with it.
download this Makefile and replace the one in the root of the kernel folder with that one, that will get rid of that error. You may run into more errors, and hopefully they are ones that i had problems with
T10NAZ said:
that error was the most annoying thing ever and i always had an issue with it.
download this Makefile and replace the one in the root of the kernel folder with that one, that will get rid of that error. You may run into more errors, and hopefully they are ones that i had problems with
Click to expand...
Click to collapse
Great, your Makefile cleared up the ASUS_SW_VER error!
Amazing they release kernel source that doesn't compile...
Next error...
1) TIF_MM_RELEASED undecleared
kernel/exit.c: In function ‘exit_mm’:
kernel/exit.c:510:28: error: ‘TIF_MM_RELEASED’ undeclared (first use in this function)
set_tsk_thread_flag(tsk, TIF_MM_RELEASED);
^
kernel/exit.c:510:28: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:308: recipe for target 'kernel/exit.o' failed
It does appear to be defined...
grep -irs TIF_MM_RELEASED *
arch/arm/include/asm/thread_info.h:#define TIF_MM_RELEASED 23 /* task MM has been released */
arch/arm64/include/asm/thread_info.h:#define TIF_MM_RELEASED 24
drivers/staging/android/lowmemorykiller.c: if (test_task_flag(tsk, TIF_MM_RELEASED))
kernel/exit.c: set_tsk_thread_flag(tsk, TIF_MM_RELEASED);
joeykrim said:
Great, your Makefile cleared up the ASUS_SW_VER error!
Amazing they release kernel source that doesn't compile...
Next error...
1) TIF_MM_RELEASED undecleared
kernel/exit.c: In function ‘exit_mm’:
kernel/exit.c:510:28: error: ‘TIF_MM_RELEASED’ undeclared (first use in this function)
set_tsk_thread_flag(tsk, TIF_MM_RELEASED);
Click to expand...
Click to collapse
Your grep maybe or maybe not shed light on the issue.
The first 2 are defined but not in the last 2, the last 2 are calling TIF_MM_RELEASED (at least that is my understanding) however it has a number after defining it
anyways travel to the folder kernel and open exit.c, and assuming you can see line numbers on your text editor, go to line 506, and that whole #ifndef config thing, maybe either do this:
Code:
#define TIF_MM_RELEASED 23
#ifndef CONFIG_UML
mm_released = mmput(mm);
if (mm_released)
set_tsk_thread_flag(tsk, TIF_MM_RELEASED);
#endif
or add the define TIF_MM under the config_UML.
Im almost thinking ASUS has some other things outside of the kernel source to allow it to build cleanly
T10NAZ said:
Your grep maybe or maybe not shed light on the issue.
The first 2 are defined but not in the last 2, the last 2 are calling TIF_MM_RELEASED (at least that is my understanding) however it has a number after defining it
anyways travel to the folder kernel and open exit.c, and assuming you can see line numbers on your text editor, go to line 506, and that whole #ifndef config thing, maybe either do this:
Code:
#define TIF_MM_RELEASED 23
#ifndef CONFIG_UML
mm_released = mmput(mm);
if (mm_released)
set_tsk_thread_flag(tsk, TIF_MM_RELEASED);
#endif
or add the define TIF_MM under the config_UML.
Im almost thinking ASUS has some other things outside of the kernel source to allow it to build cleanly
Click to expand...
Click to collapse
Defining it either before or inside of CONFIG_UML both worked to clear the error. Thanks!
Now two more errors:
kernel/asusdebug.c: In function 'proc_asusdebug_init':
kernel/asusdebug.c:1405:15: error: 'struct mutex' has no member named 'owner'
fake_mutex.owner = current;
^
kernel/asusdebug.c: At top level:
kernel/asusdebug.c:1418:15: error: expected declaration specifiers or '...' before string constant
EXPORT_COMPAT("qcom,asusdebug");
^
scripts/Makefile.build:308: recipe for target 'kernel/asusdebug.o' failed
joeykrim said:
Defining it either before or inside of CONFIG_UML both worked to clear the error. Thanks!
Now two more errors:
kernel/asusdebug.c: In function 'proc_asusdebug_init':
kernel/asusdebug.c:1405:15: error: 'struct mutex' has no member named 'owner'
fake_mutex.owner = current;
^
kernel/asusdebug.c: At top level:
kernel/asusdebug.c:1418:15: error: expected declaration specifiers or '...' before string constant
EXPORT_COMPAT("qcom,asusdebug");
^
scripts/Makefile.build:308: recipe for target 'kernel/asusdebug.o' failed
Click to expand...
Click to collapse
Whats weird is asusdebug.c is exactly the same on the 501 and 502,
this may be a dumb question but, are you make clean after every edit?
T10NAZ said:
Whats weird is asusdebug.c is exactly the same on the 501 and 502,
this may be a dumb question but, are you make clean after every edit?
Click to expand...
Click to collapse
Yes, I have been using make clean, but the system I'm using might be on newer versions that are causing issues (Ubuntu 16.04).
I'm assuming that since asusdebug.c is the same between devices, you didn't receive the same error?
I'm using the toolchain included with OmniROM: prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- through export CROSS_COMPILE=/tmp/omni/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
Downgraded gcc to 4.8 (/usr/bin/gcc -> /usr/bin/gcc-4.8)
Anything else I should check? Not sure if I should just grab Ubuntu 14.04, put it in a VM and start again from there...
joeykrim said:
Yes, I have been using make clean, but the system I'm using might be on newer versions that are causing issues (Ubuntu 16.04).
I'm assuming that since asusdebug.c is the same between devices, you didn't receive the same error?
I'm using the toolchain included with OmniROM: prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- through export CROSS_COMPILE=/tmp/omni/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
Downgraded gcc to 4.8 (/usr/bin/gcc -> /usr/bin/gcc-4.8)
Anything else I should check? Not sure if I should just grab Ubuntu 14.04, put it in a VM and start again from there...
Click to expand...
Click to collapse
only difference i have is i am running 15.10 with linaro 4.9.4 toolchain I wonder if itll get stuck on the same error if i take a crack at it
---------- Post added at 10:06 PM ---------- Previous post was at 09:41 PM ----------
So i tried it, I tar -xvf'd the source, added the path to the linaro chain, used my modified makefile for Sparrow, and typed make wren_defconfig (that might be highly unconventional) and make -j# ARCH=arm
I didnt hit the errors you had, but I ran into issues im more familiar with, starting with
Code:
In file included from drivers/devfreq/devfreq_trace.h:43:0,
from drivers/devfreq/devfreq_trace.c:20:
include/trace/define_trace.h:79:43: fatal error: ./devfreq_trace.h: No such file or directory
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^
compilation terminated.
which you just copy devfreq_trace.h into include/trace
after that I got the next error I encountered for sparrow,
Code:
drivers/hwmon/qpnp-adc-common.c: In function ‘qpnp_adc_scale_batt_therm’:
drivers/hwmon/qpnp-adc-common.c:732:4: error: ‘adcmap_btm_threshold’ undeclared (first use in this function)
adcmap_btm_threshold,
^
drivers/hwmon/qpnp-adc-common.c:732:4: note: each undeclared identifier is reported only once for each function it appears in
In file included from include/linux/kref.h:18:0,
from include/linux/of.h:21,
from drivers/hwmon/qpnp-adc-common.c:16:
and that issue, it calls either Sparrow or Wren specific battery voltages in the qpnp-adc-common.c for whatever you are working on. But it doesnt do that!! All you do is find qpnp-adc-common-wren.h
and copy pasta this:
Code:
static const struct qpnp_vadc_map_pt adcmap_btm_threshold[] = {
{-300, 1538},
{-200, 1538},
{-100, 1384},
{-90, 1372},
{-80, 1360},
{-70, 1346},
{-60, 1335},
{-50, 1322},
{-40, 1308},
{-30, 1298},
{-20, 1282},
{-10, 1269},
{0, 1255},
{10, 1251},
{20, 1238},
{30, 1225},
{40, 1212},
{50, 1199},
{60, 1186},
{70, 1173},
{80, 1160},
{90, 1147},
{100, 1122},
{110, 1111},
{120, 1097},
{130, 1086},
{140, 1074},
{150, 1060},
{160, 1048},
{170, 1035},
{180, 1021},
{190, 1009},
{200, 998},
{210, 987},
{220, 977},
{230, 966},
{240, 952},
{250, 943},
{260, 932},
{270, 923},
{280, 911},
{290, 902},
{300, 891},
{310, 881},
{320, 871},
{330, 860},
{340, 849},
{350, 839},
{360, 832},
{370, 823},
{380, 813},
{390, 807},
{400, 801},
{410, 790},
{420, 779},
{430, 774},
{440, 769},
{450, 760},
{460, 750},
{470, 742},
{480, 738},
{490, 730},
{500, 721},
{510, 714},
{520, 713},
{530, 707},
{540, 701},
{550, 695},
{560, 689},
{570, 683},
{580, 677},
{590, 671},
{600, 665},
{610, 659},
{620, 653},
{630, 647},
{640, 641},
{650, 635},
{660, 629},
{670, 623},
{680, 617},
{690, 611},
{700, 496},
{710, 490},
{720, 484},
{730, 478},
{740, 472},
{750, 466},
{760, 460},
{770, 454},
{780, 448},
{790, 442}
};
right above static const struct qpnp_vadc_map_pt adcmap_qrd_btm_threshold[] = { at line 56
There are a few more errors that can be easily fixed after that, Im not sure if its your 16.04 or omni's toochain but so far im just running into fixable errors that got in the way on sparrow as well
*Update*
I ran into 3 more issues, they are just indicating exactly where files are by adding /home/user/kernel/etc/etc/etc to things that say they dont know where its at
and I got it to build
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
@joeykrim do you want the zimage that i created so you can mess with twrp for now? I will try and assist in any way i can to get you to build the kernel and twrp up for Wren users!
T10NAZ said:
only difference i have is i am running 15.10 with linaro 4.9.4 toolchain I wonder if itll get stuck on the same error if i take a crack at it
---------- Post added at 10:06 PM ---------- Previous post was at 09:41 PM ----------
So i tried it, I tar -xvf'd the source, added the path to the linaro chain, used my modified makefile for Sparrow, and typed make wren_defconfig (that might be highly unconventional) and make -j# ARCH=arm
I didnt hit the errors you had, but I ran into issues im more familiar with, starting with
Code:
In file included from drivers/devfreq/devfreq_trace.h:43:0,
from drivers/devfreq/devfreq_trace.c:20:
include/trace/define_trace.h:79:43: fatal error: ./devfreq_trace.h: No such file or directory
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^
compilation terminated.
which you just copy devfreq_trace.h into include/trace
after that I got the next error I encountered for sparrow,
Code:
drivers/hwmon/qpnp-adc-common.c: In function ‘qpnp_adc_scale_batt_therm’:
drivers/hwmon/qpnp-adc-common.c:732:4: error: ‘adcmap_btm_threshold’ undeclared (first use in this function)
adcmap_btm_threshold,
^
drivers/hwmon/qpnp-adc-common.c:732:4: note: each undeclared identifier is reported only once for each function it appears in
In file included from include/linux/kref.h:18:0,
from include/linux/of.h:21,
from drivers/hwmon/qpnp-adc-common.c:16:
and that issue, it calls either Sparrow or Wren specific battery voltages in the qpnp-adc-common.c for whatever you are working on. But it doesnt do that!! All you do is find qpnp-adc-common-wren.h
and copy pasta this:
Code:
static const struct qpnp_vadc_map_pt adcmap_btm_threshold[] = {
{-300, 1538},
{-200, 1538},
{-100, 1384},
{-90, 1372},
{-80, 1360},
{-70, 1346},
{-60, 1335},
{-50, 1322},
{-40, 1308},
{-30, 1298},
{-20, 1282},
{-10, 1269},
{0, 1255},
{10, 1251},
{20, 1238},
{30, 1225},
{40, 1212},
{50, 1199},
{60, 1186},
{70, 1173},
{80, 1160},
{90, 1147},
{100, 1122},
{110, 1111},
{120, 1097},
{130, 1086},
{140, 1074},
{150, 1060},
{160, 1048},
{170, 1035},
{180, 1021},
{190, 1009},
{200, 998},
{210, 987},
{220, 977},
{230, 966},
{240, 952},
{250, 943},
{260, 932},
{270, 923},
{280, 911},
{290, 902},
{300, 891},
{310, 881},
{320, 871},
{330, 860},
{340, 849},
{350, 839},
{360, 832},
{370, 823},
{380, 813},
{390, 807},
{400, 801},
{410, 790},
{420, 779},
{430, 774},
{440, 769},
{450, 760},
{460, 750},
{470, 742},
{480, 738},
{490, 730},
{500, 721},
{510, 714},
{520, 713},
{530, 707},
{540, 701},
{550, 695},
{560, 689},
{570, 683},
{580, 677},
{590, 671},
{600, 665},
{610, 659},
{620, 653},
{630, 647},
{640, 641},
{650, 635},
{660, 629},
{670, 623},
{680, 617},
{690, 611},
{700, 496},
{710, 490},
{720, 484},
{730, 478},
{740, 472},
{750, 466},
{760, 460},
{770, 454},
{780, 448},
{790, 442}
};
right above static const struct qpnp_vadc_map_pt adcmap_qrd_btm_threshold[] = { at line 56
There are a few more errors that can be easily fixed after that, Im not sure if its your 16.04 or omni's toochain but so far im just running into fixable errors that got in the way on sparrow as well
*Update*
I ran into 3 more issues, they are just indicating exactly where files are by adding /home/user/kernel/etc/etc/etc to things that say they dont know where its at
Click to expand...
Click to collapse
Excellent! Yea, not sure whether it's the not-yet-final Ubuntu 16.04 release, OmniROM's toolchain, or some odd combination. If I try again, I'll do everything in a VM with a fresh and final Ubuntu image...
T10NAZ said:
and I got it to build
@joeykrim do you want the zimage that i created so you can mess with twrp for now?
Click to expand...
Click to collapse
Yes, please!
Once I have the kernel image, I can focus on tinkering with the sparrow build files to get wren compiling and working. Hopefully won't take too much effort and fastboot booting...
joeykrim said:
Excellent! Yea, not sure whether it's the not-yet-final Ubuntu 16.04 release, OmniROM's toolchain, or some odd combination. If I try again, I'll do everything in a VM with a fresh and final Ubuntu image...
Yes, please!
Once I have the kernel image, I can focus on tinkering with the sparrow build files to get wren compiling and working. Hopefully won't take too much effort and fastboot booting...
Click to expand...
Click to collapse
Alrighty, I added both zImage and zImage-dtb just in case, dtb is mainly what you will work with.
And for twrp 3.0.0.0, there are a bit of changes you need to do to Sparrows files. So we will both be helping each other out with getting it stable and working right for sparrow and wren .
https://drive.google.com/file/d/0B_Duyz8Shz-YbmZ2ZE82VUZSR2c/view?usp=sharing
T10NAZ said:
Alrighty, I added both zImage and zImage-dtb just in case, dtb is mainly what you will work with.
And for twrp 3.0.0.0, there are a bit of changes you need to do to Sparrows files. So we will both be helping each other out with getting it stable and working right for sparrow and wren .
https://drive.google.com/file/d/0B_Duyz8Shz-YbmZ2ZE82VUZSR2c/view?usp=sharing
Click to expand...
Click to collapse
Great! Using the kernel you supplied and the slightly modified Build files from: https://github.com/lj50036/platform_manifest_twrp_omni and I forked here: https://github.com/joeykrim/wren
I was able to get the recovery (TWRP-v3.0.0-0) to compile and boot. wren TWRP v3.0.0-0 recovery.img: https://joeykrim.com/android/devices/wren/twrp-v3.0.0-0.jk-v1.recovery.img
Updates now posted in the development thread: http://forum.xda-developers.com/zen...nt/recovery-twrp-3-0-0-0-wi502q-root-t3343366
Bugs (All Fixed):
1) Unable to backup recovery partition - isn't visible from backup menu
2) The screen resolution is small, but it works! Any suggestions on adjusting the screen resolution?
I'll probably start with BoardConfig.mk settings...
fb0 reports (possibly inaccurate):
vi.bits_per_pixel = 32
vi.red.offset = 0 .length = 8
vi.green.offset = 8 .length = 8
vi.blue.offset = 16 .length = 8
setting GGL_PIXEL_FORMAT_RGBA_8888
double buffered
framebuffer: 0 (280 x 280)
I:Checking resolution...
I:Scaling theme width 0.875000x and height 0.875000x, offsets x: 0 y: 0