Related
So I'm learning Java right now, starting off with simple programs. I need to make a program that displays "1-10" when the user inputs one of the numbers and ""11-20" if it's one of those. I have no idea what lines I'm missing, and I'm sure someone here can help me.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package coinflip2;
/**
*
* @author Class
*/
import java.util.Scanner;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Input a Number from 1-20: ");
int num = scan.nextInt();
while (num < 1 || num > 20)
{
System.out.print ("Not in range. Please enter a number from 1 to 20. ");
{
if (num >= 1 || num <=10)
System.out.print("1-10");
else
System.out.print("11-20");
}
}
}
}
Click to expand...
Click to collapse
im also really new to java im kinda self teaching. when u tried to compile what were ur error messages
Wait, I messed something up. before I posted it I was able to actually input a number. Let me take a look at it and I'll edit the first post.
Ok so I edited the first post.
I get no errors. It prompts me to input a number, and after I do it just says "Build Successful" and if I put in a number less than 1 or greater than 20 it prompts me to input a different number. So the first part I got right, I just need to get the print functions to work in the if/else statements.
EDIT!!! Ok I got it to work. This is now the final version if you want to know, even though it's very simple.
Just an update on what I have so far. Everything works but no matter what number between 1 and 20 I put I still get the same answer.
Also sorry for spamming like that, but I'm sure someone can actually learn from my mistakes .
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package coinflip2;
/**
*
* @author Class
*/
import java.util.Scanner;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Input a Number from 1-20: ");
int num = scan.nextInt();
while (num < 1 || num > 20)
{
System.out.print ("Not in range. Please enter a number from 1 to 20. ");
num = scan.nextInt();
}
{
if (num >= 1 && num <=10)
System.out.println("1-10");
else
System.out.println("11-20");
}
}
}
Click to expand...
Click to collapse
Hello everyone,
I want to start again with a development team. After miroslav decided to finish the project on his own, I want to try it again. But this time with a real team Only with people who want to participate, and not just type make. Who wants to join?
miroslav_mm said:
So, I opened your eyes and showed real face our "superstar"!?
Ok! Let's stop this stupid discussion and continuous develop ROM.
At this moment I have main part:
Torchscreen +
BT (BT-calling) +
WiFi (need to test) +
Sensor +
GSM (Waiting call) +
Mobile Data +
Audio +
Vibrate +
HW + 3D ??? (need new kernel or port new 3D kernel driver (kgsl) (in progress))
usb storage ??? (only with special app (native in progress))
Camera ??? (in progress)
Video codec ??? (in progress)
Anyone doing something? Maybe fix some stuff?
Click to expand...
Click to collapse
He just want to clean his topic. Send him a PM.
I understand that but there is still no team. He just made his project open for patches. And I think, personally, a team could help the speed on development of a ROM So please join
Sent from my GT540 using Tapatalk
So join his team , and start patching?
wwenigma said:
So join his team , and start patching?
Click to expand...
Click to collapse
Since when does he have a team? What I know about it, is that he just made some kind of open-source project where you can add your own updates and where he gets no credit.
Sent from my GT540 using Tapatalk
I can help you with Java stuff!
I think miroslav_mm wants to release ICS under name of SWIFT-TEAM, with developer names in credits.... may you ask him about it?
Do not split guys...
Miroslav said that it's only him on the team...so i don't see any team there..if we are more than 1 guy in a team we can get faster a daily ROM for our Phones
rexes13 said:
Miroslav said that it's only him on the team
Click to expand...
Click to collapse
Jep, because PCF+MGP join then leave and jasper580 cant make neccessary steps... ask him. All two, ask him about it.
wwenigma said:
Jep, because PCF+MGP join then leave and jasper580 cant make neccessary steps... ask him. All two, ask him about it.
Click to expand...
Click to collapse
I can make nesseccary steps if I want, but I don't want to. I want to start cleaned up. That's why I created this topic. So:
If you want to join: welcome.
If you don't want to: stop spamming
@rexes13 Welcome to the team!
Sent from my GT540 using Tapatalk
Good news.
Yesterday I successfully ported 3d kernel driver (kgsl) from 35, so now we have full functionality kernel with OpenGL ES-CM 1.1.
So HW, 3D and other stuff with support OpenGL working, not excellent but working, need improve source code Surfaceflinger and HardwareDisplay.
Maybe next weak I will make new thread and publish first public test version, but all development moments we can discus here.
Before I need redownload all sources CM9 again. Yesterday I had the same error like in wwenigma and aaa801
Code:
target thumb C: libhardware_legacy <= hardware/libhardware_legacy/power/power.c
arm-linux-androideabi-gcc: ": No such file or directory
<command-line>: warning: missing terminating " character
and I dont know WTF, so delete all source tree. Maybe today will try download again and build again.
hell yeah! im just another non-dev member LOL sry
Need help!
Look on code:
Code:
//static int32_t msm_tscal_scaler = 65536;
static int32_t msm_tscal_xscale = 70046;
static int32_t msm_tscal_xoffset = -4191987;
static int32_t msm_tscal_yscale = 71735;
static int32_t msm_tscal_yoffset = -3004437;
this pointers for torch 320*240. So when I using that I need tap on 2mm high on icon for open something. This pointer need for screen calibration. Need find right pointer.
I can't find a logic in this numbers.
miroslav_mm said:
Need help!
Look on code:
Code:
//static int32_t msm_tscal_scaler = 65536;
static int32_t msm_tscal_xscale = 70046;
static int32_t msm_tscal_xoffset = -4191987;
static int32_t msm_tscal_yscale = 71735;
static int32_t msm_tscal_yoffset = -3004437;
this pointers for torch 320*240. So when I using that I need tap on 2mm high on icon for open something. This pointer need for screen calibration. Need find right pointer.
I can't find a logic in this numbers.
Click to expand...
Click to collapse
The offsets appear to have a ~4:3 ratio. It doesn't make sense though why it's x:y=4:3, and not the other way around, since the screen is usually 3:4(e.g. 320x480 or 240x320). Also, considering our screen is 320x480, which is a ratio of 1,5 and not 1,(3), I think those would be totally wrong for our phone. Maybe try to modify one of the two to match 1,5 ratio. E.g. make xoffset=-4506655. I don't know. :/
Please discuss development on your page. I want to make a dev team here
Sent from my GT540 using Tapatalk
deleted
10 character
This numbers working with this java code together:
]
Code:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Read current values
final int xoffset = (readValue("xoffset")*240+480)/960;
final int yoffset = (readValue("yoffset")*320+460)/920;
final int xscale = readValue("xscale");
final int yscale = readValue("yscale");
view = new View(this) {
private int step = 1;
private int rawx1;
private int rawy1;
private int rawx2;
private int rawy2;
private void writeValue(String parameter, int value) {
try {
FileOutputStream fos = new FileOutputStream(new File("/sys/module/msm_touch/parameters/tscal_" + parameter));
fos.write(String.valueOf(value).getBytes());
fos.flush();
fos.getFD().sync();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (ev.getAction() != MotionEvent.ACTION_UP)
return true;
if(step==1) {
rawx1 = ((int)ev.getRawX()*65536-xoffset+32768)/xscale;
rawy1 = ((int)ev.getRawY()*65536-yoffset+32768)/yscale;
if(rawx1<100 && rawy1<100)
step = 2;
} else if(step==2) {
rawx2 = ((int)ev.getRawX()*65536-xoffset+32768)/xscale;
rawy2 = ((int)ev.getRawY()*65536-yoffset+32768)/yscale;
if(rawx2>140 && rawy2>220)
step = 3;
} else {
int distx = rawx2 - rawx1;
int new_xscale = (140*65536 + distx/2)/distx;
int disty = rawy2 - rawy1;
int new_yscale = (220*65536 + disty/2)/disty;
int new_xoffset = 1;
new_xoffset += 50*65536-rawx1*new_xscale;
new_xoffset += 190*65536-rawx2*new_xscale;
new_xoffset /= 2;
new_xoffset = (new_xoffset*960+120)/240;
int new_yoffset = 1;
new_yoffset += 50*65536-rawy1*new_yscale;
new_yoffset += 270*65536-rawy2*new_yscale;
new_yoffset /= 2;
new_yoffset = (new_yoffset*920+160)/320;
// Pass new calibration to kernel
writeValue("xoffset", new_xoffset);
writeValue("yoffset", new_yoffset);
writeValue("xscale", new_xscale);
writeValue("yscale", new_yscale);
// Save calibraiton data to /data/system/pointercal
StringBuilder sb = new StringBuilder();
sb.append(new_xscale);
sb.append(" ");
sb.append(0);
sb.append(" ");
sb.append(new_xoffset);
sb.append(" ");
sb.append(0);
sb.append(" ");
sb.append(new_yscale);
sb.append(" ");
sb.append(new_yoffset);
sb.append(" ");
sb.append(65536);
App + ui input framework + kernel working together.
App - creation poinercal
ui input framework - reading pointercal send correct info to kernel
kernel touch driver - doing move.
Öhm, the touchscreen driver use a virtual square (320*320) to detect touch, stretched to a rectangle(320*480)?
mod: about calibration, http://code.google.com/p/openeve/issues/detail?id=91
jasper580 said:
Please discuss development on your page. I want to make a dev team here
Click to expand...
Click to collapse
I cant understand you! What do you mean? Do you wanna make new dev team? Working on my sources but without me?
I exactly want to ask that. Maybe he start from scratch, his github is near empty.
This mod is originally posted on Galaxy Nexus theme forum :
[MOD] Vertical CRT-off Animation
----------------------------------------------------------------------------
Preview :
Default(horizontal) crt-off animation looks similar to this when tablet is in landscape mode..
and I think that is interesting, so I made this mod.
----------------------------------------------------------------------------
Source code (diff) for JOP40C : download
Code:
diff -rupN ./a/services/java/com/android/server/power/ElectronBeam.java ./b/services/java/com/android/server/power/ElectronBeam.java
--- ./a/services/java/com/android/server/power/ElectronBeam.java 2012-11-26 00:42:43.578341000 +0900
+++ ./b/services/java/com/android/server/power/ElectronBeam.java 2012-11-25 23:33:15.559177000 +0900
@@ -60,8 +60,8 @@ final class ElectronBeam {
// The relative proportion of the animation to spend performing
// the horizontal stretch effect. The remainder is spent performing
// the vertical stretch effect.
- private static final float HSTRETCH_DURATION = 0.5f;
- private static final float VSTRETCH_DURATION = 1.0f - HSTRETCH_DURATION;
+ private static final float VSTRETCH_DURATION = 0.5f;
+ private static final float HSTRETCH_DURATION = 1.0f - VSTRETCH_DURATION;
// The number of frames to draw when preparing the animation so that it will
// be ready to run smoothly. We use 3 frames because we are triple-buffered.
@@ -343,16 +343,16 @@ final class ElectronBeam {
}
private static void setVStretchQuad(FloatBuffer vtx, float dw, float dh, float a) {
- final float w = dw + (dw * a);
- final float h = dh - (dh * a);
+ final float w = dw - (dw * a);
+ final float h = dh + (dh * a);
final float x = (dw - w) * 0.5f;
final float y = (dh - h) * 0.5f;
setQuad(vtx, x, y, w, h);
}
private static void setHStretchQuad(FloatBuffer vtx, float dw, float dh, float a) {
- final float w = dw + (dw * a);
- final float h = 1.0f;
+ final float w = 1.0f;
+ final float h = dw + (dw * a);
final float x = (dw - w) * 0.5f;
final float y = (dh - h) * 0.5f;
setQuad(vtx, x, y, w, h);
----------------------------------------------------------------------------
It' s incredible the job that you are doing to the android community! Thanks!
this is awesome, but sadly didnt work with cm10 M2 on att gs3. maybe ill flash it again after a full wipe, but for the moment, i still have a horizontal crt animation. awesome work nonetheless.
Man you are a legend
Sent from my GT-I9100 using Tapatalk 2
Only for AOSP and cm10? How about other JB custom roms like codename android? will this work?
Fixed
updater-script in all flashable zip files are fixed. Now it will not cause flashing error on any devices. (sorry!)
marshygeek said:
Only for AOSP and cm10? How about other JB custom roms like codename android? will this work?
Click to expand...
Click to collapse
Sorry but I don't know... I can't test this on all custom roms. Try with CM10 version and if it doesn't work, flash your rom again without wiping data.
tried it for the sake of trying on my skyrocket running paranoid android ...... wouldnt boot past the samsung splash ...... had to recover
awesome mod tho
edit: i tried the cm10 cwm zip version, didnt try anything else
Don't work with AOKP I9100.. Try to patch by myself..
Doesn't work with Galaxy R I9103..Not a famous device but it's high end..Pls look into it...
Sent from my GT-I9103 using Tapatalk 2
Added Flashable zip for AOKP build 5 in OP..
and sorry but I have GNex only so I'm not sure whether or not same files work on other devices..
Dude can you make a tutorial of this on smali?
Sent from my Galaxy Nexus
mixtapes08 said:
Dude can you make a tutorial of this on smali?
Click to expand...
Click to collapse
This mod is related to lib file. (libsurfaceflinger.so) So if you want other method, you have to hex edit that file.
Maybe not that difficult but sorry, I don't know how to do it..
evilisto said:
Added Flashable zip for AOKP build 5 in OP..
and sorry but I have GNex only so I'm not sure whether or not same files work on other devices..
Click to expand...
Click to collapse
I think EVERYONE will appreciate everything a lot more when they see this.....
http://forum.xda-developers.com/showpost.php?p=31648393&postcount=690
Your welcome
Transmitted from my GALAXYSIII running Jelly Bean. XDA premium
ManOnTheMoon said:
I think EVERYONE will appreciate everything a lot more when they see this.....
http://forum.xda-developers.com/showpost.php?p=31648393&postcount=690
Your welcome
Transmitted from my GALAXYSIII running Jelly Bean. XDA premium
Click to expand...
Click to collapse
Can you make a tutorial on how to do this with evilisto's patch...
Sent from my Galaxy Nexus
anyway how to revert back to usual crt after installing your mod?
vertrag said:
anyway how to revert back to usual crt after installing your mod?
Click to expand...
Click to collapse
Replace /system/lib/libsurfaceflinger.so with your rom's original file.
or just flash rom again without wiping.
Updated
OP updated for 4.2 JellyBean rom (JOP40C).
cant figure this out...
evilisto said:
This mod is originally posted on Galaxy Nexus theme forum :
[MOD] Vertical CRT-off Animation
----------------------------------------------------------------------------
Preview :
Default(horizontal) crt-off animation looks similar to this when tablet is in landscape mode..
and I think that is interesting, so I made this mod.
----------------------------------------------------------------------------
Source code (diff) for JOP40C : download
Code:
diff -rupN ./a/services/java/com/android/server/power/ElectronBeam.java ./b/services/java/com/android/server/power/ElectronBeam.java
--- ./a/services/java/com/android/server/power/ElectronBeam.java 2012-11-26 00:42:43.578341000 +0900
+++ ./b/services/java/com/android/server/power/ElectronBeam.java 2012-11-25 23:33:15.559177000 +0900
@@ -60,8 +60,8 @@ final class ElectronBeam {
// The relative proportion of the animation to spend performing
// the horizontal stretch effect. The remainder is spent performing
// the vertical stretch effect.
- private static final float HSTRETCH_DURATION = 0.5f;
- private static final float VSTRETCH_DURATION = 1.0f - HSTRETCH_DURATION;
+ private static final float VSTRETCH_DURATION = 0.5f;
+ private static final float HSTRETCH_DURATION = 1.0f - VSTRETCH_DURATION;
// The number of frames to draw when preparing the animation so that it will
// be ready to run smoothly. We use 3 frames because we are triple-buffered.
@@ -343,16 +343,16 @@ final class ElectronBeam {
}
private static void setVStretchQuad(FloatBuffer vtx, float dw, float dh, float a) {
- final float w = dw + (dw * a);
- final float h = dh - (dh * a);
+ final float w = dw - (dw * a);
+ final float h = dh + (dh * a);
final float x = (dw - w) * 0.5f;
final float y = (dh - h) * 0.5f;
setQuad(vtx, x, y, w, h);
}
private static void setHStretchQuad(FloatBuffer vtx, float dw, float dh, float a) {
- final float w = dw + (dw * a);
- final float h = 1.0f;
+ final float w = 1.0f;
+ final float h = dw + (dw * a);
final float x = (dw - w) * 0.5f;
final float y = (dh - h) * 0.5f;
setQuad(vtx, x, y, w, h);
----------------------------------------------------------------------------
Click to expand...
Click to collapse
cant figure this out... : ( where do i edit this? 4.1.2 Custom Rom here
This is an EXPERIMENTAL Kernel that continues the work of @pengus77, but with some additions i make. That means a huge thank to pengus77! Please check his thread http://forum.xda-developers.com/showthread.php?t=2097788
This kernel is completely based on his latest release.
This kernel only supports newbl and will only work on roms with 3.1 support (these are atm only 4.4 (aka KitKat) Roms and tonyps TheRom that is compatible with the 3.1 kernel
Features:
Features from the kowalski kernel:
3.1.10 Kernel Version
bcmdhd wifi driver
Dynamic FSync
Overclock to 1.5 GHz (Not all phones work well with 1.5 Ghz!)
Undervolting
MultiCore Sched PM
Auto Hotplug
Fast charge
Wifi PM
and many more ...
Features added by me:
PKSM as enhanced KSM module
Built in ZRAM Modul (that makes it possible to use the android default zram solution)
Possibility to use deferred_timer for (P)KSM
0, 16 or 32 MB Ramhack
Support for extra free kbytes tunable (more a ROM dev feature)
Custom vibration force/strength through sysfs
120MHz and 168 MHz frequencies for more battery savings during wakelock
Known bugs:
Camera Bug
Gyro does not work properly
If you want to report a new kernel bug, you must describe your problem in detail, post your kmsg and last_kmsg (if available) (you can found them under /proc/kmsg and /proc/last_kmsg) otherwise the rule is: no log = no issue
Downloads:
This is more a personal kernel build. I have built these kernels for weeks for myself and used them in private. Now i just want to share them with you guys!
You can download the kernels here: https://s.basketbuild.com/devs/firtecy/p990/kernel/3.1/ They are labeled like this: firtecy_kernel_X-N.zip where X is either exp for an experimental kernel release and stable for a stable kernel and where N is the build number (this number is always incremental!)
Sourcecode:
You can find the sourcecode at github: https://github.com/Firtecy/kowalski/ the branch is exp. The config file is: "kowalski_defconfig"
The intention of this thread is to continue the 3.1 kernel development pengus started. Development related questions or discussions are appreciated
Have fun!
And to quote pengus77:
On a side note... i'm not really responsible if you decide to test it and your phone melts... right?
Thanks to:
@hjunii for bringing up 3.1 Kernel
@pengus77 for the kowalski kernel
XDA:DevDB Information
Firtecy Kernel - a modified Kowalski Kernel, Kernel for the LG Optimus 2x
Contributors
Firtecy, pengus77, hjunii, djnoxd
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 3.1#5
Beta Release Date: 2014-08-25
Created 2014-10-31
Last Updated 2014-10-31
Changelog:
firtecy_kernel_exp-5 - 25.8.2014
Added intellactive governor (thanks to @faux123) and powersave
Some bug fixes
Added sync framework and exfat support (but not active for the moment)
Added a "kowalski touch driver" and dt2w files (since they are not stable enough for now, they are disabled)
The reason why I disabled those things is that I didn't had the time to test them. If you want to test them you have to build your own version. Especially for other developers that can be interesting.
Click to expand...
Click to collapse
firtecy_kernel_exp-4 - 25.6.2014
minor updates/fixes from other kernels
Added the min screen on freq back
Added a sysfs attribute to change the min screen on freq
when disabling pksm, it will be disabled completely
Screen on min freq
If your screen is on, this frequency is the lowest that will be used. If your screen goes off for whatever reason the cpu will go to the normal min frequency.
Note: It seems like 120MHz and 168MHz are stable even for screen on, but since there was the question if i can add it, here you go:
How to change the value:
Code:
echo [value] > /sys/module/cpu_tegra/parameters/cpu_screen_on_min_cap
You have to use a value that is in the frequency table, but you have to echo the frequency in KHz, so 120MHz -> 120000KHz:
Code:
echo 120000 > /sys/module/cpu_tegra/parameters/cpu_screen_on_min_cap
This option does not stick after a reboot
According to @BS86 this release should be more stable than exp3 and thanks for testing!
Click to expand...
Click to collapse
firtecy_kernel_exp-3 - 13.6.2014
tons of updates to zram/zcache (picked from faux123 tegra kernels)
crypto: added optimized AES and SHA1 routines
added permission checker for binder IPC
tegra video driver updates
Fixed the voltage table -> all values below 770 MHz are not supported by the regulator chip (thanks to all who helped researching! )
Click to expand...
Click to collapse
firtecy_kernel_exp-2 - 8.6.2014
Added the possibility to change the vibration force (or vibration strength)
Added 120MHz and 168MHz as cpu frequencies
Enabled 600 mV as lowest undervolting value (undervolting is very dangerous if you go too low! Better stay at defaults)
Fixed a nvidia or lg cpu derp.
For security reasons it is not possible that the cpu will go underneath 216MHz when screen is on!
Option to use: No ramhack, 16Mb Ramhack or 32 Mb Ramhack!
Vibration force:
to change the vibration force echo a number between 0 and 127 to /sys/module/tspdrv/parameters/vibration_force. Where 127 is the highest and the default. 20 seems to be the last noticeable value.
Code:
echo [force] > /sys/module/tspdrv/parameters/vibration_force
This option does not stick after a reboot. Rom support will be available (hopefully) soon. I'm preparing a patch for tonyps Rom, so that it is possible to change it in the Rom settings.
120 and 168Mhz:
These values are useful for the case where the phone helds a wake lock. This means because of the wake lock it won't enter deepsleep. The phone would run at 216MHz even if it isn't needed. Running at 168Mhz or even 120MHz should result in a better battery life.
If you experience any problems, try to raise the voltage at this frequencies to a higher value and test again. If it is still unstable report it (with a description of the problem) and change the minimum frequency to 216Mhz.
Click to expand...
Click to collapse
firtecy_kernel_exp-1 - 1.6.2014
Initial release
Base source: kowalski kernel
Added built in ZRam (no need to use zram.ko for longer)
Added PKSM as replacement for ksm (http://code.google.com/p/pksm/)
Enabled deferred timers for pksm and ksm
Notice: Since there is no ksm available, but pksm you will not find the options for ksm in any app. All configurations are no longer under: /sys/kernel/mm/ksm/ , but under: /sys/kernel/mm/pksm/
To deativate pksm run this command as root:
Code:
echo 0 > /sys/kernel/mm/pksm/run
This option does not stick after a reboot
Click to expand...
Click to collapse
How to build your own kernel:
You need a Linux PC with either 32 or 64Bit. I'm using Linux Mint Debian Edition 64Bit. And you will need the following packages:
build-essential kernel-package libncurses5-dev bzip2
For example to install them run:
Code:
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
Hint: If you run into troubles with installing packages, check this post
1. Create a new directory for your kernel building (for example: ~/kernel_p990)
Code:
mkdir ~/kernel_p990
2. cd to your kernel dir
Code:
cd ~/kernel_p990
3. Run this command to download the source code for compiling:
Code:
git clone https://github.com/Firtecy/kowalski
4. Now we need to download the toolchain for compiling: Download it from here: http://www.linaro.org/downloads/ under the Bare-Metal section. It is labeled GCC ARM Embedded. Version: 4.7-2013.q3 ; Release: 13.11
5. Now extract the toolchain to a new dir, for example: ~/kernel_p990/toolchain
6. Now we have to define some values for the build enviroment:
Set the CROSS_COMPILE var to your path where you have downloaded your toolchain. For example:
Code:
export CROSS_COMPILE=~/kernel_p990/toolchain/gcc-arm-none-eabi-4_7-2013q3/bin/arm-none-eabi-
Notice at the end you find this prefix: arm-none-eabi- this is not a dir, but the prefix for all files inside the bin directory(for example: arm-none-eabi-gcc)
7. Set the architecture (processor architecture) for which the kernel should be build. So in our case arm:
Code:
export ARCH=arm
and
Code:
export SUBARCH=arm
8. The next step defines the configurations for the kernel (in this case the configuration is named kowalski_defconig)
Code:
make kowalski_defconfig
Notice: this takes the configuration from the file located under arch/arm/configs and will write it to .config
9. Now we can finally build the kernel :victory: Run:
Code:
make
You will find the kernel under: arch/arm/boot/zImage. You just have to copy the zImage and replace the one found in the flashable zip (e.g. my downloads) under kernel/zImage with your own.
Troubleshooting:
Before you can build or run any from step 8 or 9 you have to make sure that all three vars are set correctly (so ARCH, CROSS_COMPILE and SUBARCH). You can check it by running:
Code:
echo $ARCH
for ARCH (for CROSS_COMPILE and SUBARCH it is the seem, but you have to change the name)
If they are not set correctly repeat step 6 and 7.
If you get a compile error first try to run:
Code:
make clean
and try to build the kernel again.
How to diff 2 files or directories in linux
If you are running linux and have two files on your computer and you want to find the differences you can run the diff command in the terminal.
Let's say you have a file "hjunii/traps.c" and "kowalski/traps.c", this is how you compare them:
Code:
diff -u hjunii/traps.c kowalski/traps.c
The command will compare both and will print an output to the terminal that will be similar to this:
Code:
@@ -27,6 +27,7 @@
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/sched.h>
+#include <linux/slab.h>
#include <linux/atomic.h>
#include <asm/cacheflush.h>
@@ -483,25 +484,38 @@
static inline void
do_cache_op(unsigned long start, unsigned long end, int flags)
{
- struct mm_struct *mm = current->active_mm;
- struct vm_area_struct *vma;
-
if (end < start || flags)
return;
+ return flush_cache_user_range(start, end);
+}
+
+static inline int
+do_cache_op_iov(const struct iovec __user *uiov, unsigned long cnt, int flags)
+{
+ int i, ret = 0;
+ unsigned long len = cnt * sizeof(struct iovec);
+ struct iovec *iov = kmalloc(len, GFP_KERNEL);
- down_read(&mm->mmap_sem);
- vma = find_vma(mm, start);
- if (vma && vma->vm_start < end) {
- if (start < vma->vm_start)
- start = vma->vm_start;
- if (end > vma->vm_end)
- end = vma->vm_end;
+ if (iov == NULL) {
+ ret = -ENOMEM;
+ goto out;
+ }
- up_read(&mm->mmap_sem);
- flush_cache_user_range(start, end);
- return;
+ if (copy_from_user(iov, uiov, len)) {
+ ret = -EFAULT;
+ goto out_free;
}
- up_read(&mm->mmap_sem);
+
+ for (i = 0; i < cnt; ++i) {
+ unsigned long start = (unsigned long __force)iov[i].iov_base;
+ unsigned long end = start + iov[i].iov_len;
+ do_cache_op(start, end, flags);
+ }
+
+out_free:
+ kfree(iov);
+out:
+ return ret;
}
/*
@@ -550,6 +564,10 @@
do_cache_op(regs->ARM_r0, regs->ARM_r1, regs->ARM_r2);
return 0;
+ case NR(cacheflush_iov):
+ do_cache_op_iov((const struct iovec __user *)regs->ARM_r0,
+ regs->ARM_r1, regs->ARM_r2);
+
case NR(usr26):
if (!(elf_hwcap & HWCAP_26BIT))
break;
Each line starting with a "+" are lines that were added, for example:
Code:
+#include <linux/slab.h>
On the other side lines starting with a "-" are lines that were deleted, for example:
Code:
- struct mm_struct *mm = current->active_mm;
A line like the following should just show you were you find the changes:
Code:
@@ -550,6 +564,10 @@
with the following syntax:
Code:
@@ -[line number in 1. file],[number of lines that were printed from 1.file] + [line number in 2. file], [number of lines that were printed from 2.file] @@
But the basic syntax is the following:
Code:
diff -u [base file] [file containing the changes you want to display]
You can also compare whole directories!
ProTip: Install the program "colordiff". It will color the console output, that means the output is more readable!
Syntax:
Code:
diff -u [base file] [file containing the changes you want to display] | colordiff
Example:
Code:
[COLOR="Plum"]@@ -1,8 +1,8 @@[/COLOR]
[COLOR="Red"]-VERSION = 2
-PATCHLEVEL = 6
-SUBLEVEL = 39
-EXTRAVERSION = .4
-NAME = Flesh-Eating Bats with Fangs[/COLOR]
[COLOR="RoyalBlue"]+VERSION = 3
+PATCHLEVEL = 1
+SUBLEVEL = 10
+EXTRAVERSION =
+NAME = "Divemaster Edition"[/COLOR]
Nice New kernel!
will try that one as soon as possible.
thanks for the work.we dont let the 2x die!
Will this work on Mokee rom?
If you don't understand the subconscious you will always bump into it calling it fate...
themistoklisv said:
Will this work on Mokee rom?
If you don't understand the subconscious you will always bump into it calling it fate...
Click to expand...
Click to collapse
Which kernel is included by default in the Rom or can you paste a link?
Gesendet von meinem LG-P990 mit Tapatalk
[email protected]#126
If you don't understand the subconscious you will always bump into it calling it fate...
themistoklisv said:
[email protected]#126
If you don't understand the subconscious you will always bump into it calling it fate...
Click to expand...
Click to collapse
Then I am sorry, but it is not compatible.
The 3.1 kernel differs too much to be compatible with ROMs that are build for an 2.6 kernel
Gesendet von meinem LG-P990 mit Tapatalk
Oh my God, amazing! Finally some serious development! Great work Firtecy. Time to bust CM11 back on my device and try this ramhacked wonder
Oh...i see...this why no ksm settings
Btw...i would suggest a higher ramhack like 32mb like m1 ramhack...but this kernel works great so far...just classic low ram problem exist (well...obviously) need to set an aggresive value (i'm using swap without zram)
Do i need to post a logcat?
Sent from my LG-P990
Will this work with cm 10.1?
Wysłane z mojego LG-P990 przy użyciu Tapatalka
No, it has a different wifi driver, sorry for my english
Sent from my ME173X using XDA Free mobile app
Okey
Wysłane z mojego LG-P990 przy użyciu Tapatalka
The first change:
Okay since there was the wish that there should be a 32 MB ramhack version and the poll showed the same i built one. You can find it at my basketbuild https://s.basketbuild.com/devs/firtecy/p990/kernel/3.1/.
So the 32 MB Ramhack version is labeled: firtecy_kernel_exp-1_32MB-RH.zip and the previous one is labeled: firtecy_kernel_exp-1_16MB-RH.zip
I have flashed it and in the settings app, I had 372MB available (Settings > About)
The second change:
Since i have been asked to explain how to build my kernel from source code i wrote a small how to in the third post of the thread. Check it and maybe try to build it for your own.
If you wish i can also write how to change the kernel by your own. (So add new stuff or something similiar)
Great job firtecy...downloading asap
--------------------++-
Very fluid ui with 32rh and with performance control app i can set lmk on boot (dunno..the one come with rom 0527 always reset after reboot)
So far...no bugs for me (except known bugs)
Btw i'm using swap only..no zram but zram works too (i turned it off)
Sent from my LG-P990
Would like to know if random reboot and phone always waking is a kernel related or rom?
Sent from my LG-P990 using Tapatalk 2
mkchan said:
Would like to know if random reboot and phone always waking is a kernel related or rom?
Sent from my LG-P990 using Tapatalk 2
Click to expand...
Click to collapse
I haven't got random reboots or always waking phone in fact on 3.1 kernel there's a bug for waking phone (need press power button twice or thrice)
Maybe your memory full ocupied and still lot queued job to do...that's sometimes happen to me...that's why i need to set lmk a bit aggresive...
Well as dev always said...log or it's not happen
Sent from my LG-P990
Firtecy said:
How to build your own kernel:
You need a Linux PC with either 32 or 64Bit. I'm using Linux Mint Debian Edition 64Bit. And you will need the following packages:
build-essential kernel-package libncurses5-dev bzip2
For example to install them run:
Code:
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
Click to expand...
Click to collapse
I have even had to install libc6-dev-i386 in my 64bit vbox image, then the make seems to have started working :good:
If you wish i can also write how to change the kernel by your own. (So add new stuff or something similiar)
Click to expand...
Click to collapse
+1 (if you don't mind and have time for it )
Thanks!
Thx for your dev. but can you build this kernel for su660?
나의 LG-P990 의 Tapatalk에서 보냄
Hey All,
I have a strange problem.
My Device is HTC One M8, International version, S-OFF, latest firmware available, with root + custom recovery (TWRP).
Running ARHD.
All Started yesterday - i've upgraded ARHD 11.1 to 20.1, after a FULL WIPE.
Installed the 'Enviroment' through the xposed installer, and all modules worked great.
Problems started after i used Titanium Backup to restore 'Sense Toolbox 6' DATA only (to get my settings back).
After that - no module is working, although they are all active.
Things i've tried:
- removing sense toolbox module, and reinstall it.
- removing the framework using the implemented option in the installer, reboot, and re-install.
- upgrade to ARHD 20.3 without FULL WIPE.
Nothing seems to help.
Her'es a link to the log file of the xposed installer. i can see many "Null Pointer Exception" there, but, of course i have no idea
what's the meaning of it.
https://www.dropbox.com/s/7f0i6y9z9gi4agc/error.log?dl=0
Hope you could provide with some help.
If any other information is needed, please tell me and i'll provide it.
Many Thanks and good night all
Hello,
I found the rovo89 may resolve the problem on recent version of XposedBridge. I suggest you to acquire a recent version repo.xposed.info or try to download source code on github (Search XposedBridge on github and to find rovo89/XposedBridge) .
The git log of XposedBridge is here:
commit 5a968109d3b117568b48ad2baa1297145bd87fd1
Author: rovo89 <[email protected]>
Date: Fri May 30 15:01:06 2014 +0200
Avoid a crash in getPackageNameDuringConstruction()
sLatestResKey can be null, e.g. if the resource APIs are disabled.
diff --git a/src/android/content/res/XResources.java b/src/android/content/res/XResources.java
index 1d09658..99a654d 100644
--- a/src/android/content/res/XResources.java
+++ b/src/android/content/res/XResources.java
@@ -168,8 +168,8 @@ public class XResources extends MiuiResources {
* {@code IllegalStateException}.
*/
public static String getPackageNameDuringConstruction() {
- Object key = sLatestResKey.get();
- if (key == null)
+ Object key;
+ if (sLatestResKey == null || (key = sLatestResKey.get()) == null)
throw new IllegalStateException("This method can only be called during getTopLevelResources()");
String resDir = (String) getObjectField(key, "mResDir");
Thanks & BRs
Duke Xtra said:
Hello,
I found the rovo89 may resolve the problem on recent version of XposedBridge. I suggest you to acquire a recent version repo.xposed.info or try to download source code on github (Search XposedBridge on github and to find rovo89/XposedBridge) .
The git log of XposedBridge is here:
commit 5a968109d3b117568b48ad2baa1297145bd87fd1
Author: rovo89 <[email protected]>
Date: Fri May 30 15:01:06 2014 +0200
Avoid a crash in getPackageNameDuringConstruction()
sLatestResKey can be null, e.g. if the resource APIs are disabled.
diff --git a/src/android/content/res/XResources.java b/src/android/content/res/XResources.java
index 1d09658..99a654d 100644
--- a/src/android/content/res/XResources.java
+++ b/src/android/content/res/XResources.java
@@ -168,8 +168,8 @@ public class XResources extends MiuiResources {
* {@code IllegalStateException}.
*/
public static String getPackageNameDuringConstruction() {
- Object key = sLatestResKey.get();
- if (key == null)
+ Object key;
+ if (sLatestResKey == null || (key = sLatestResKey.get()) == null)
throw new IllegalStateException("This method can only be called during getTopLevelResources()");
String resDir = (String) getObjectField(key, "mResDir");
Thanks & BRs
Click to expand...
Click to collapse
Hey
sorry for being a noob -
how do i acquire a recent version of XposedBridge, and how to install it?
i don't know what github is or how to use it my friend.
thanks for your reply