gTablet-TapUI-1.1-Kernel-Patch -- Summary and Analysis - G Tablet Android Development

Now that we have the kernel source patch, I thought it would be good to summarise what's in it.
I've made a start here:
https://spreadsheets.google.com/ccc?key=tqj3aStfFS2K5PO83we84TQ&authkey=CI6h0aMD#gid=0
Because we don't have a full changelog, and it's a big patch, I thought it would be helpful to summarise what was changed in each file which brief comments. If you can help fill in the gaps for the modified files please post below.
Note that the patch appears to include a lot of cruft (multiple redundant backup copies of some files) I'd like to verify which files are redundant and produce a filtered, simplified patch. If you can confirm that the marked files are redundant that would be helpful.
I note that there are a few points where there is debug code and fixme comments in the patch. These may point to areas where things were never quite worked out (eg power management?). I don't have enough experience to look into this more deeply but just thought I'd mention it here.
Finally, the mmc driver has been brought in from outside the nv-tegra tree. It would be useful to generate a diff against the mainline tree to understand what (if anything) has changed there.
Happy Christmas!

I'm not very android dev savvy either...but they may have left the old drivers in there because old ROMs refer to them and they wanted to preserve the ability to go back to previous ROMs? -- that is...if the ROMs reference the kernel for drivers...not quite sure how that whole thing works...just a thought.

I've built a kernel from these sources, but unfortunately the bootloader throws a "magic value mismatch" error rather than booting the kernel. Has anybody else had any better luck?
EDIT: my bad, I replaced the boot.img with the raw zImage. I now have it booting my kernel, but it dies like this when starting Android:
I/SurfaceFlinger( 1072): SurfaceFlinger is starting
I/SurfaceFlinger( 1072): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
D/Zygote ( 1070): Process 1072 terminated by signal (11)
I/Zygote ( 1070): Exit zygote because system server (1072) has terminated

Any lines starting with - are deleted code.

NMCBR600 said:
Any lines starting with - are deleted code.
Click to expand...
Click to collapse
Yeah, in the patch itself, lines starting with + are added, and starting with - are deleted.
In the spreadsheet linked above, lines starting with + are files added, -files deleted, and !modified.
Actually the patch deletes no files, but /arch/microblaze/boot/dts/system.dts is overwritten with a new one. Anyone know exactly what that file does?
I started this because when I was reading the patch it seemed like a lot of new files were added and I wanted to work out where they came from, but it now looks like a lot of the added files are just backup copies the Malata dev has left in the tree (not a bad programming practice during development, but makes the patch a bit confusing to read).
Seems like the new files that are added (that aren't backups) are:
+ touch screen drivers in arch/arm/mach-tegra/odm_kit/platform/touch/{ak4183,at168}
+ driver for buttons in drivers/input/keyboard/so340010_kbd.c
+ drivers for gps control (power on/off), light sensor and accellerometer in drivers/input/misc/{gps_control.c,isl29023_ls.*,lis35de_accel.*}
+ drivers for batteries in drivers/power/smba10xx_battery and drivers/power/yoku_0563113
+ drivers for headphone and dock switches in drivers/switch/{switch_dock.c,switch_h2w.c} (header file in include/linux/switch_dock.h)
Also, mmc driver (presumably from mainline linux) is imported drivers/mmc

+ drivers for gps control (power on/off), light sensor and accellerometer in drivers/input/misc/{gps_control.c,isl29023_ls.*,lis35de_accel.*}
Sounds promising ..

Can someone explain to me perhaps if I'm missing something here- but what I am to understand from this post is that we finally got the source for the gtablet kernel? Would this incline to mean that we could compile the touchscreen and etc drivers onto a standard linux kernel and pop ubuntu or other such on the gtablet?
Or is 'patch' referring to just some small subset of the code missing the majority required to compile a gtablet kernel?
Any chance we might then be able to hack a fix into the accelerometer code to align the axis correctly?

rswindle said:
Can someone explain to me perhaps if I'm missing something here- but what I am to understand from this post is that we finally got the source for the gtablet kernel? Would this incline to mean that we could compile the touchscreen and etc drivers onto a standard linux kernel and pop ubuntu or other such on the gtablet?
Click to expand...
Click to collapse
One would have to recompile Ubuntu (or whatever distro) for ARM. Also, a finger friendly GUI would have to be added allowing the Capacitive screen to do its thing. Its very possible now with the kernel but no, you cannot use the iso downloaded from ubuntu.com.

rswindle said:
Can someone explain to me perhaps if I'm missing something here- but what I am to understand from this post is that we finally got the source for the gtablet kernel? Would this incline to mean that we could compile the touchscreen and etc drivers onto a standard linux kernel and pop ubuntu or other such on the gtablet?
Or is 'patch' referring to just some small subset of the code missing the majority required to compile a gtablet kernel?
Any chance we might then be able to hack a fix into the accelerometer code to align the axis correctly?
Click to expand...
Click to collapse
The drivers for the touchscreen, battery, and the accelerometer are all there in the kernel patch or the Nvidia tegra2 repo that it's patched again, yes. It's up on Viewsonic's website, in the support section.
Yes, you can merge them into an Ubuntu kernel if you want to. I'm sure somebody will do that in the next few weeks/months, it just hasn't happened yet since we just got the code dropped a few days ago.
There's some threads in NVidia's tegra2 dev forums on getting Ubuntu to work with a tegra 2 kernel. I posted the link earlier today if you're curious, look through my posts.

Great, so then the next question is, has anyone yet gotten a bootable compiled kernel from these yet?
Would be cool to get a stock android system compiled against a standard kernel for gtab.
Now I'm going to have to go rig up a linux thumb when I get home to start compiling the kernel with the patched sources and see what I can do. I so want to fix the damn accelerometer..
Best of all, my wife can play angry birds the entire time so she won't complain our HTPC is being used for my insanity..
Any suggestions what's a super lite fast distro to toss on a thumb quick that would quickly have me in position to git linux sources and compile this kernel? I don't keep up with the distros these days..

Yes
rswindle said:
Great, so then the next question is, has anyone yet gotten a bootable compiled kernel from these yet?
Would be cool to get a stock android system compiled against a standard kernel for gtab.
Now I'm going to have to go rig up a linux thumb when I get home to start compiling the kernel with the patched sources and see what I can do. I so want to fix the damn accelerometer..
Best of all, my wife can play angry birds the entire time so she won't complain our HTPC is being used for my insanity..
Any suggestions what's a super lite fast distro to toss on a thumb quick that would quickly have me in position to git linux sources and compile this kernel? I don't keep up with the distros these days..
Click to expand...
Click to collapse
I believe at least a half dozen of us have now built and deployed our own kernels. I've started cherry-picking Nvidia fixes beyond the baseline looking for something to fix the slowdown problem. Trying the latest variation now.
As for the accelerometer, I don't play any games where that is an issue, so I don't know if this resolves the problems, but there is a 1 line patch beyond our baseline in the Nividia tree which switches the X axis. Maybe this is the issue?
The patch description is:
X direction needs to be reversed to correct orientation in portrait
mode for Whistler.
Bug 678250
and the code diff is here:
http://nv-tegra.nvidia.com/gitweb/?...ff;h=6d57f00bb8276e0392dfa199017fc70fcea7d60b
I have applied this in my current kernel, but I've never seen the bug and can't tell you if it makes a difference.

[email protected] said:
I believe at least a half dozen of us have now built and deployed our own kernels. I've started cherry-picking Nvidia fixes beyond the baseline looking for something to fix the slowdown problem. Trying the latest variation now.
As for the accelerometer, I don't play any games where that is an issue, so I don't know if this resolves the problems, but there is a 1 line patch beyond our baseline in the Nividia tree which switches the X axis. Maybe this is the issue?
The patch description is:
X direction needs to be reversed to correct orientation in portrait
mode for Whistler.
Bug 678250
and the code diff is here:
http://nv-tegra.nvidia.com/gitweb/?...ff;h=6d57f00bb8276e0392dfa199017fc70fcea7d60b
I have applied this in my current kernel, but I've never seen the bug and can't tell you if it makes a difference.
Click to expand...
Click to collapse
mdwalker, I've likewise built my own kernel and have been running it too. I likewise have been trying to isolate and fix the slowdown problem. I likewise haven't succeeded yet.
There are a bunch of patches in the Nvidia tree that relate to suspend-resume issues, which I'm sure you've noticed. Let me know if you zero in on anything.

question.. I noticed all the developers are from Nvidia, I would think they would be Viewsonic developers... and if not the case are these bugs were not caught a while ago?

Viewsonic doesn't make this
stanglx said:
question.. I noticed all the developers are from Nvidia, I would think they would be Viewsonic developers... and if not the case are these bugs were not caught a while ago?
Click to expand...
Click to collapse
Viewsonic doesn't make our tablet, it's made by a Chinese company called Malata based on a standard Nvidia design. Viewsonic just resells it in the US.
There are actually a number of "rebadged" variations of this tablet, with more appearing almost every day.

Absolutely
rcgabriel said:
mdwalker, I've likewise built my own kernel and have been running it too. I likewise have been trying to isolate and fix the slowdown problem. I likewise haven't succeeded yet.
There are a bunch of patches in the Nvidia tree that relate to suspend-resume issues, which I'm sure you've noticed. Let me know if you zero in on anything.
Click to expand...
Click to collapse
Yes, I've certainly noticed the suspend/resume functionality looks to be a frequent source of "fixes". There are lots of patches which sound promising. Hopefully one (or more, gah!) will do the trick without having to hack up the cpu power management itself.
Likewise if you (or pershoot, or ... whomever else is tinkering) finds the right combination, please let us know!

Understand that... The point I am making is why is there so much Nvidia development going on for a version of the Kernel that is considered stable?
[email protected] said:
Viewsonic doesn't make our tablet, it's made by a Chinese company called Malata based on a standard Nvidia design. Viewsonic just resells it in the US.
There are actually a number of "rebadged" variations of this tablet, with more appearing almost every day.
Click to expand...
Click to collapse

rswindle said:
Now I'm going to have to go rig up a linux thumb when I get home to start compiling the kernel with the patched sources and see what I can do. I so want to fix the damn accelerometer..
Click to expand...
Click to collapse
Don't waste your time on the accelerometer, as the problem is with the app devs, not our device.
A nice explanation is here: http://android-developers.blogspot.com/2010/09/one-screen-turn-deserves-another.html

iptables owner module
One of the critical features I am looking for is a kernel built with support for iptables, and specifically the "owner" module.
This is used by apps such as Droidwall and my own app, Orbot, which is the port of Tor to Android. I worked with Cyanogen on this issue previously and am hoping to get this into all of the ROMs for the GTablet as well.
Thanks!

stanglx said:
Understand that... The point I am making is why is there so much Nvidia development going on for a version of the Kernel that is considered stable?
Click to expand...
Click to collapse
Why are you considering it's stable? Afaik there are very few products running the NVIDIA kernel at this stage -- the base hardware target is "harmony", which is actually one of NVIDIA's development boards.
G Tablet is one of the first Tegra 2 based products and we are about to see a whole raft of them over the next 6 months. Starting with Gingerbread tablets and then going to Honeycomb. If you check the logs you'll see that stuff from nv-tegra repo is being merged into the AOSP repo pretty regularly at the moment. Presumably, preparing for the Motorola Tegra 2 tablet. I imagine NVIDIA devs are quite busy on that.

I think a bigger question is why the very different codes at kernel.org and Navdia's own repository? In some cases commits are pulled in from each other, but clearly they are on different paths. Motorola seems to be pushing commits to kernel.org.
s_frit said:
Why are you considering it's stable? Afaik there are very few products running the NVIDIA kernel at this stage -- the base hardware target is "harmony", which is actually one of NVIDIA's development boards.
G Tablet is one of the first Tegra 2 based products and we are about to see a whole raft of them over the next 6 months. Starting with Gingerbread tablets and then going to Honeycomb. If you check the logs you'll see that stuff from nv-tegra repo is being merged into the AOSP repo pretty regularly at the moment. Presumably, preparing for the Motorola Tegra 2 tablet. I imagine NVIDIA devs are quite busy on that.
Click to expand...
Click to collapse

Related

Tegra kernel 2.6.36 on android 2.3

Just noticed this over on Notion Ink's website...
Android 2.3 comes with Kernel version 2.6.35. The latest which NVidia Tegra works with is 2.6.36! http://android.git.kernel.org/?p=kernel/tegra.git;a=summary
Click to expand...
Click to collapse
Perhaps some one far smarter than me can make use of this info...
I don't think the stock tegra kernel has all the drivers necessary for the G Tablet. Because I think people have known about that repository, and as far as I know, nobody's built their own kernel that's worked with the G Tablet, but rather have been using kernels pre-built for the G Tablet or the ZPad.
This is why people keep talking about wanting the source from Viewsonic.
But if somebody wants to try doing a kernel build and seeing what does or doesn't work, more power to you!
This is actually only sort of related, but I noticed screenshots a few days ago of what was supposedly 2.3, but the about phone item show a 2.6.29 kernel version like 2.0 & 2.1 use, while 2.2 uses 2.6.32, and I knew that 2.3 was also getting a kernel update..
Oddly enough noone commented on that in the comment section on that site, and I just couldn't be bothered to create an acct to comment...
I've searched nvidia's git repo for our touchscreen drivers and they are not there. Therefore, trying to build from nvidia's git for the gtab won't do us any good until Viewsonic (malata, etc.) posts the kernel source.
this may sound silly. but can we somehow maybe get drivers from the touchscreen for the tegra? instead of looking for drivers from nvidia for the screen can we look for drivers from the screen maker for the tegra?
Bukem75 said:
Just noticed this over on Notion Ink's website...
Android 2.3 comes with Kernel version 2.6.35. The latest which NVidia Tegra works with is 2.6.36! http://android.git.kernel.org/?p=ker....git;a=summary
Perhaps some one far smarter than me can make use of this info...
Click to expand...
Click to collapse
Their NI Adam is not coming with Android 2.3, it comes with the scandal or it's hardly coming in at all: http://fineoils.blogspot.com

Dexter (Possible kernel/driver source) A7

Was searching around about our elocity interesting how this offers a built in 3g or bluetooths and sim card option this product seems quite a bit like our elocity same components too.
Dexter and any other developer see what you kind find out about this, looks like different interface could be the break in the kernel we wanted.
pioneercomputers.com.au/products/configure.asp?c1=183&c2=185&id=3203
Drivers and more under support tab
Hope this is what we needed to really get this ball rolling on other O.S.
Anyone feel free to find out what you can about thisw site and the drivers listed and lets work on pulling what we need from it and establishing a center for all the drivers.
rombold said:
pioneercomputers.com.au/products/configure.asp?c1=183&c2=185&id=3203
Click to expand...
Click to collapse
Nice findings.. i tried search naz10 and epad n700, aigo N700 etc.. but no luck, but i guess you hit jackpot here
thanks..
ok, the site does not have any files for this tablet..
Dex I know it list everything for every product they have or so it would seem under driver tab. I wonder if we can email thier support and them compile the files or point them out for us.
Anyone have an in at Compal?
It would be awesome to get our hands on the boards they were making before they removed the GSM provisions.
As for that site, it just looks like a reseller to me.
codon.org.uk/~mjg59/android_tablets/
List android devices who are compliant with open kernel and access to them
Now there is alot I don't understand with these devices and how to build a rom, but with this from nvidea can't we use a existing kernel and patch into it.
NVIDIA Tegra 250 Developer Kit Hardware
rombold said:
Now there is alot I don't understand with these devices and how to build a rom, but with this from nvidea can't we use a existing kernel and patch into it.
NVIDIA Tegra 250 Developer Kit Hardware
Click to expand...
Click to collapse
but you understand your PC?
so if you board has a core2duo with 2GB memory, and you add a Geforce, and as modems are rare, you find a nice windows7 compatible modem card + a wifi from broadcom with integrated bluetooth.
Next guy does almost the same but he uses a different wifi and bluetooth card for his pc..
so we got 2 pc's equipped almost the same but with different wifi/bt and of course on chose panasonic touch display , where the other one got LG touchscreen which again uses different drivers.
its all about drivers, not just the chipset
I will continue the search for every driver for this device. If you could list any known manaufacters and the part they made. I will search for every driver I can, and will keep you up to date with my progress. Keep me informed on your break throughs with honeycomb or if there is something you need to find and I will help.
u-boot, drivers and kernel source
Does anyone have the nvidia Tegra 250 devkit? Supposedly they were going to include u-boot support and source. See tegradeveloper.nvidia.com/tegra/forum/uboot-tegra-250
Does the dev kit even have open source for drivers and kernel patches. Is full support for the tegra 250 already at kernel.org or is it missing some key features?
I've held up on ordering the dev kit since my experience with nvidia is that they tend to keep as much information private as possible even with an NDA in place.
I'd gladly help develop a completely open bootloader with u-boot, Linux kernel and distro for this device if hardware specifications are actually available. Google was talking about a possible tegra based device that surely would include open source, but I don't think that project ever made it to market.
2ShedsJackson said:
Does anyone have the nvidia Tegra 250 devkit? Supposedly they were going to include u-boot support and source. See tegradeveloper.nvidia.com/tegra/forum/uboot-tegra-250
Click to expand...
Click to collapse
you sign a NDA with Nvidia, so no chance of anyone releasing it to community. if they do if will be figured out, and a lawsuit coming their way..
so thats a no go.
Registered developers with Nvidia, know this, so they wouldn't dare risking a lawsuit..
So in their typical control freak fashion they don't want specs or source getting out into the open. Looks like I'll be skipping the A7 until it gets at least a touchscreen update.
2ShedsJackson said:
So in their typical control freak fashion they don't want specs or source getting out into the open. Looks like I'll be skipping the A7 until it gets at least a touchscreen update.
Click to expand...
Click to collapse
not entirely true, its only the parts you asked about..
kernel is GPL and parts of related drivers follows.. but bootloaders are a protected part, and some the vendor specific parts used to manage the chipset together with their nv drivers.. but thats how i read it..
more might be available, but i have not seen all of it.
toshiba + xoom is the only kernels with drivers i seen so far..

[INFO] Linux kernel 3.3 released with merged Android code and more

Quoted from Engadget:
The latest refresh of the Linux kernel, 3.3, is now available, and the second release of 2012 brings with it the long-awaited merging of code from Google's little side project. While that is particularly interesting to developers looking to boot Android or run apps on the stock Linux kernel (FYI: optimized power management and other infrastructure that didn't make it this time will arrive in the next release, 3.4) and represents a resolution to the issues that kept the two apart for so long it's not the only new feature included. There are improvements to file systems like Btrfs, memory management, networking, security and much, much more. Hit the source link below for the full changelog or grab the code and from the usual locations and get your compile on directly.
Source: Engadget, Kernel Newbies, LKML.org
Any devs interested in developing a kernel based on this?
Based on what I read, this release would make it easier for us to compile the kernel as it brings merged Android code.
To me I'm thinking Google will Roll this out to the Nexus Line Up on the Next OTA... Perhaps the delay for the Nexus S if Due To This?
- Google
nice I hope so
iGoogleNexus said:
To me I'm thinking Google will Roll this out to the Nexus Line Up on the Next OTA... Perhaps the delay for the Nexus S if Due To This?
- Google
Click to expand...
Click to collapse
I doubt this is due to any delays regarding ota update, AFAIK, the Android devs at Google have all their own modules etc that they roll in to an update etc. This should however make projects like Ubuntu on Android etc easier.
Sent from my A500 using xda premium
glennkaonang said:
Quoted from Engadget:
The latest refresh of the Linux kernel, 3.3, is now available, and the second release of 2012 brings with it the long-awaited merging of code from Google's little side project. While that is particularly interesting to developers looking to boot Android or run apps on the stock Linux kernel (FYI: optimized power management and other infrastructure that didn't make it this time will arrive in the next release, 3.4) and represents a resolution to the issues that kept the two apart for so long it's not the only new feature included. There are improvements to file systems like Btrfs, memory management, networking, security and much, much more. Hit the source link below for the full changelog or grab the code and from the usual locations and get your compile on directly.
Source: Engadget, Kernel Newbies, LKML.org
Any devs interested in developing a kernel based on this?
Based on what I read, this release would make it easier for us to compile the kernel as it brings merged Android code.
Click to expand...
Click to collapse
I have been porting Samsung drivers for Nexus S for some time till Linux 3.3 RC3..
Sorry, no fully working results yet due to many code improvements..
But the work is in progress.. I'll also try to write so Samsung to get the info about their plans and/or the results of porting this code to 3.3
novic_dev said:
I have been porting Samsung drivers for Nexus S for some time till Linux 3.3 RC3..
Sorry, no fully working results yet due to many code improvements..
But the work is in progress.. I'll also try to write so Samsung to get the info about their plans and/or the results of porting this code to 3.3
Click to expand...
Click to collapse
Thanks for your hard work, man.
Anyway, after some readings, I think it's better for us to wait until 3.4 is released.
It is said that 3.4 will finish all the Android code merging process, with many fixes of course.
I'm no dev at all, so this is just a plain opinion from somewhat avid Android user
Sent from my Nexus S using xda premium
Cool

Compiling Android sources on the Pi

Hi Folks
Recently I helped Adam Outler get adb compiled for his Pi This was not as simpe as it first sounds because as we learnt adb on the host is subtlety different from the one compiled for the target and the AOSP source tree does not support compiling androids host tools for arm out of the box.
However You can add the armv6l host support by creating the file
Code:
<aosp source root>/build/core/combo/HOST_linux-armv6l.mk
The contents of which should look something like this
Code:
# Configuration for builds hosted on linux-armv6l.
# $(1): The file to check
define get-file-size
stat --format "%s" "$(1)" | tr -d '\n'
endef
HOST_SDK_TOOLCHAIN_PREFIX :=
ifneq (,$(strip $(wildcard $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc)))
HOST_CC := $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc
HOST_CXX := $(HOST_SDK_TOOLCHAIN_PREFIX)/g++
HOST_AR := $(HOST_SDK_TOOLCHAIN_PREFIX)/ar
endif # $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc exists
HOST_GLOBAL_CFLAGS += -fPIC
HOST_GLOBAL_CFLAGS += -include $(call select-android-config-h,linux-x86)
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
HOST_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
You can now use the native pi toolchain to build with the aosp sources, at the very least you'll be able to compile the host tools such as fastboot , adb natively on the Pi. Whether you'll want to go about compiling a full android build using the Pi and whether that is even remotely sensible is a discussion for another day! :laugh:
Hey, thanks for your work on this. Sensible or not, it would be pretty cool to run an AOSP or even a CM build on your phone that was compiled on your Pi.
I tried compiling Boot2Gecko for my SGS2 on my Pi as well, but that kept dying about 6 hours into the build .
I got really lost (just learning all this stuff now), but learning it all while building a project you really like would be far more interesting that learning it while building "nano" or "Vim".
fewesttwo said:
Hey, thanks for your work on this. Sensible or not, it would be pretty cool to run an AOSP or even a CM build on your phone that was compiled on your Pi.
I tried compiling Boot2Gecko for my SGS2 on my Pi as well, but that kept dying about 6 hours into the build .
I got really lost (just learning all this stuff now), but learning it all while building a project you really like would be far more interesting that learning it while building "nano" or "Vim".
Click to expand...
Click to collapse
Yes or compile on the Pi for the Pi, If you want to try do that there's the beiginings of the other side, i.e armv6 target files on my github, It actually targets armv5te because that is already present as a valid target in the AOSP build system, a throwback to pre gingerbread and the HTC Dream ( G1 ) etc.
Thinking about it though, The build system may need a little more adding as I think only x86 based cross compilers will be currently selected for target compilation. I'm yet to get my Pi, there's currently a 6 week lead time on them and I'm thinking about holding out for the 512MB version. Until then it's QEmuPi for me!
The Android build system is pretty forgiving and will let you compile things piece-meal which is good because I don't think it would make it all the way to the end in one go no matter how many hours you give it.
Trevd, I asked JBQ on G+ and he said you should contact android-contrib for how to submit your work to be integrated to AOSP. . I'm pretty sure its a mailing list.
AdamOutler said:
Trevd, I asked JBQ on G+ and he said you should contact android-contrib for how to submit your work to be integrated to AOSP. . I'm pretty sure its a mailing list.
Click to expand...
Click to collapse
Indeed, it's at https://groups.google.com/forum/?fromgroups=#!forum/android-contrib
AdamOutler said:
Trevd, I asked JBQ on G+ and he said you should contact android-contrib for how to submit your work to be integrated to AOSP. . I'm pretty sure its a mailing list.
Click to expand...
Click to collapse
Hi Adam, Thanks for that, I never really considered it, Last time I read, which admittedly was a long time ago now, they were a little more averse to submissions from the random punter. Maybe they've soften up, or maybe I've just made the whole thing up in my mind It would look alright on my c.v ( resume to you guys ) . However It's far from ready for that. There's some more tweaks to add to it, maybe commands like "make host" to just build the host platform would make sense on a device with limited resources like the Pi
pulser_g2 said:
Indeed, it's at https://groups.google.com/forum/?fromgroups=#!forum/android-contrib
Click to expand...
Click to collapse
You're the second person to do that to me! Someone drops a "google groups link bomb" on me and I lose an hour of my life reading all the posts, It's like low rent alien abduction! LOL :silly:
AdamOutler said:
Trevd, I asked JBQ on G+ and he said you should contact android-contrib for how to submit your work to be integrated to AOSP. . I'm pretty sure its a mailing list.
Click to expand...
Click to collapse
I was bored waiting for my board so thought I ask if google want an hand, well more of a full arm than just an hand.
Me On Google Groups said:
https://groups.google.com/forum/?fromgroups=#!topic/android-contrib/w5UWtdSTwSg
Hi
I've recently added linux-armv6l to the android build system as a HOST_ARCH so I could build adb natively on the raspberryPi. Is this something you would be interested in adding to the official build system?
Let me first explain why you wouldn't want to accept this.
1. Adam Outler from XDA-developers.com suggested I make this enquiry, Initially, I refrained, given the limited scope of the change I had make which focuses on armv6l specifically and although I would be Interesting to see just how long an AOSP build would take on the RasPi soley from a technical view, I don't think there would be anything to be gained from officially supporting such a device as I made the code publicly available through GitHub.
However upon further consideration this feature can have a much broarder appeal if it was changed to a more general linux-arm HOST_ARCH. Given Arms' current "March" into the server market plus the availability of higher end fast multicore processors such an addition may have a practical real-world application soon then rather than later.
I look forward to hearing your thoughts on this.
Thanks
Click to expand...
Click to collapse
As I pointed out, Arm is getting more desktops now-a-days so they might do this one themselves
[EDIT] Here's the Big Man's Reply
JBQ From AOSP said:
I think we could consider it in principle.
However, I'm not convinced that building all of Android on an ARM host
will be practical any time soon. Because of that, I'd rather avoid
extensive changes much beyond adding HOST_linux-arm.mk. For now, I'll
also want to rely on the distribution's host compiler, to avoid having
to deal with the weight and licensing issues of prebuilt toolchains.
What scope do you have in mind?
BTW, I suggest that you wait until the source release of Android 4.2.
We've been tweaking the build system such that it's easier to control
what gets built, and that might be helpful in your case.
JBQ
Click to expand...
Click to collapse
Looks like a goer then. Because thats the only file I had to add to strart with..

[ZEN-KERNEL] 3.10-zen for nexus 9 - testers

Call me crazy but the best kernel for the nexus 6 is coming to the nexus 9, a device I don't have
Zen kernel is pretty sane and doesn't have changes like SuperMegaIOBlastFrequency5Million, but somehow it manages a bigger improvement than all those changes put together primarily through better CPU scheduling for the light-numa workloads of our mobile devices (in other words, BFS)
I have a BFS port from v461 (minus SMT nice )for 3.10 android/msm along with most of Alfred Chen's -gc branch includes as well.
Anyway, the effects are noticeable in the nexus 6 (no more google now launcher lag, no more big list lag, no more 3 second clear all recent delay, better power consumption through better frequency scaling by design of sticky tasks)
I think it will be just as good on the nexus 9, however I don't have one of these devices in my possession so I'm not gonna ask for people to buy me one instead I'm just going to ask for testers.
I'd like to see the effects of BFS on arm64 and I'm sure everybody else would like to see the benefits -zen kernel brings.
PM me if you would like a weekend build. I need at least 3 but the more the merrier.
Zen kernel for nexus 6
Thanks,
B
Also if you ask for a build tell me what ROM and existing kernel you are on if applicable.
Will you be getting a N9 in the future?
Sent From Capsule Corp.
Ace42 said:
Will you be getting a N9 in the future?
Sent From Capsule Corp.
Click to expand...
Click to collapse
Probably not, I graduate next month and plan on expanding my open source endeavors then but I'd like to support the nexus devices + 1 or 2 other flag ships with zen at all times.
People are happy over at N6, they were happy back on gnex and evo 4g I'm sure they will like nexus 9 version too
The custom kernel landscape has changed since the old days because there's less problems with new devices, but zen still finds a way
I'm really looking to change issues as I see them here. I don't want to bolster big names, give me money, this project is mine, etc. I want to bolster the community effort in a way that aids in learning, growth , etc. Zen is all about real kernel improvements. in time there is an app I've had on the shelf for 3 years with a brilliant framework among other things that I want to GPL-ize and release.
bbedward said:
Probably not, I graduate next month and plan on expanding my open source endeavors then but I'd like to support the nexus devices + 1 or 2 other flag ships with zen at all times.
People are happy over at N6, they were happy back on gnex and evo 4g I'm sure they will like nexus 9 version too
The custom kernel landscape has changed since the old days because there's less problems with new devices, but zen still finds a way
I'm really looking to change issues as I see them here. I don't want to bolster big names, give me money, this project is mine, etc. I want to bolster the community effort in a way that aids in learning, growth , etc. Zen is all about real kernel improvements. in time there is an app I've had on the shelf for 3 years with a brilliant framework among other things that I want to GPL-ize and release.
Click to expand...
Click to collapse
At some point in time years ago I was a know nothing, figure out how to apply a patch, compile a kernel amateur. But through a great Linux, gentoo, arch , etc . community I have now become a proficient programmer, graduating with computer science + engineering degree in a few weeks.
the XDA community hasn't been about helping people learn or grow in any form. Its become a pit of protecting private property and don't take my work, don't ask dumb questions, just give up. I want to see more community efforts rather than private all mine type of stuff.
I've always wanted to develop a ROM or kernel, but the steps to just get Linux on my laptop is too much let alone driver support. If there was a simple way to use just windows 8 I would like to contribute to the N9 community.
Also I commend you for your studies, neither of those fields are easy from what I've heard. :good:
bbedward said:
At some point in time years ago I was a know nothing, figure out how to apply a patch, compile a kernel amateur. But through a great Linux, gentoo, arch , etc . community I have now become a proficient programmer, graduating with computer science + engineering degree in a few weeks.
the XDA community hasn't been about helping people learn or grow in any form. Its become a pit of protecting private property and don't take my work, don't ask dumb questions, just give up. I want to see more community efforts rather than private all mine type of stuff.
Click to expand...
Click to collapse
I was like you a know nothing about kernels
I started kernel development knowing nothing
I still don't know much but, I'm learning slowly
Im vary interested in the source code
Also to test
Ace42 said:
I've always wanted to develop a ROM or kernel, but the steps to just get Linux on my laptop is too much let alone driver support. If there was a simple way to use just windows 8 I would like to contribute to the N9 community.
Also I commend you for your studies, neither of those fields are easy from what I've heard. :good:
Click to expand...
Click to collapse
Thanks, many linux distributions nowadays make it incredibly easy to get started though I'd venture to say most of them will work out of the box with your hardware.
USBhost said:
I was like you a know nothing about kernels
I started kernel development knowing nothing
I still don't know much but, I'm learning slowly
Im vary interested in the source code
Also to test
Click to expand...
Click to collapse
Probably will have a test Friday, just going to use AnyKernel2 for the N9 probably (only replace fstab with f2fs support and no force encryption).
The N6 tree is here:
https://github.com/bbedward/ZenKernel_Shamu
The BFS branch is here (I split everything into individual branches on Zen):
https://github.com/bbedward/ZenKernel_Shamu/commits/sched_upstream_bfs_gc
Some of the stuff from my N6 kernel is a drop in for the N9 since they are both 3.10 based.
https://www.dropbox.com/s/uekphwlxvm2pya9/v3.10-zen0_anykernel_N9.zip?dl=0
Please make sure you have a backup plan if it doesn't work
It has almost identical to Zen-nexus 6 stuff:
- My sched_upstream_bfs_gc branch pretty much identical to the N6 kernel branch
- Not identical to the N6 branch because nvidia has a bunch of nonsense sched stat stuff I added into BFS also
- Fiops/BFQ in addition to the default stuff
- ext4 from v3.10.y stable
- newest f2fs
- usb fast charge support
- 2A charging
- fsync toggle
- upstream MM stuff from v3.10.y
- Several race condition fixes, memory leak fixes from upstream
- flar2 wake gesture support
- overclock support whatever elementalX has up to 2.5GHz
- USB fast charging
No idea if it works, please have a backup ready.
There's lots of compile warnings in the tegra kernel and I had to build myself an aarch64 compiler because I didn't have one.
bbedward said:
https://www.dropbox.com/s/uekphwlxvm2pya9/v3.10-zen0_anykernel_N9.zip?dl=0
Please make sure you have a backup plan if it doesn't work
It has almost identical to Zen-nexus 6 stuff:
- My sched_upstream_bfs_gc branch pretty much identical to the N6 kernel branch
- Not identical to the N6 branch because nvidia has a bunch of nonsense sched stat stuff I added into BFS also
- Fiops/BFQ in addition to the default stuff
- ext4 from v3.10.y stable
- newest f2fs
- usb fast charge support
- 2A charging
- fsync toggle
- upstream MM stuff from v3.10.y
- Several race condition fixes, memory leak fixes from upstream
- flar2 wake gesture support
- overclock support whatever elementalX has up to 2.5GHz
- USB fast charging
No idea if it works, please have a backup ready.
There's lots of compile warnings in the tegra kernel and I had to build myself an aarch64 compiler because I didn't have one.
Click to expand...
Click to collapse
Will test tomorrow
How did you update f2fs?
USBhost said:
Will test tomorrow
How did you update f2fs?
Click to expand...
Click to collapse
I will push the source up once I can later tonight. It's quite hefty so it will take awhile to push up the first time
The way I did everything is almost the exact same as the N6 kernel. Some nvidia garbage had to be implemented into BFS but that's it. And the device specifics like OC, 2A charging, etc.
https://github.com/bbedward/ZenKernel_Shamu/commits/f2fs_upstream
everything is exactly the same except the first f2fs commit "Sync with kernel/f2fs.git linux-3.10 branch"
There I basically just delete everything in fs/f2fs. copy/paste fs/f2fs from that branch, copy include/linux/f2fs* include/trace/events/f2fs (maybe? I forget where all the headers are exactly) and also update the Documentation/filesystem/f2fs.txt
The only reason I do that is because the f2fs/linux-3.10 branch is oddly based on linux-4.0. So simply merging or cherry picking won't work too well, and things like the msm and tegra kernel have different versions of f2fs already. So i just clear it all out and sync with that.
After that I pulled in all the newer commits from the f2fs/dev branch.
bbedward said:
I will push the source up once I can later tonight. It's quite hefty so it will take awhile to push up the first time
The way I did everything is almost the exact same as the N6 kernel. Some nvidia garbage had to be implemented into BFS but that's it. And the device specifics like OC, 2A charging, etc.
https://github.com/bbedward/ZenKernel_Shamu/commits/f2fs_upstream
everything is exactly the same except the first f2fs commit "Sync with kernel/f2fs.git linux-3.10 branch"
There I basically just delete everything in fs/f2fs. copy/paste fs/f2fs from that branch, copy include/linux/f2fs* include/trace/events/f2fs (maybe? I forget where all the headers are exactly) and also update the Documentation/filesystem/f2fs.txt
The only reason I do that is because the f2fs/linux-3.10 branch is oddly based on linux-4.0. So simply merging or cherry picking won't work too well, and things like the msm and tegra kernel have different versions of f2fs already. So i just clear it all out and sync with that.
After that I pulled in all the newer commits from the f2fs/dev branch.
Click to expand...
Click to collapse
O so thats how you did it
I was scratching my head with all the problems of cherry-picking I was having lol
Source is up:
https://github.com/bbedward/ZenKernel_Flounder
The real glory lives here:
https://github.com/bbedward/ZenKernel_Flounder/commits/sched_upstream_bfs_gc
bbedward said:
Source is up:
https://github.com/bbedward/ZenKernel_Flounder
The real glory lives here:
https://github.com/bbedward/ZenKernel_Flounder/commits/sched_upstream_bfs_gc
Click to expand...
Click to collapse
Thanks man
bbedward said:
https://www.dropbox.com/s/uekphwlxvm2pya9/v3.10-zen0_anykernel_N9.zip?dl=0
Please make sure you have a backup plan if it doesn't work
Click to expand...
Click to collapse
Could you provide a boot.img, to be used as in
Code:
fastboot boot boot.img
I tried with the zImage but that did not boot at all and I don't dare to flash it - yet
taronas said:
Could you provide a boot.img, to be used as in
Code:
fastboot boot boot.img
I tried with the zImage but that did not boot at all and I don't dare to flash it - yet
Click to expand...
Click to collapse
Did you flash it through recovery? This is where it needs to be flashed.
I plan on only providing AnyKernel version for the N9 though, so it requires existing ramdisk.
Somebody has to be willing to try this for me. All you have to do dirty flash your ROM or flash another kernel if it doesn't work.
bbedward said:
Somebody has to be willing to try this for me. All you have to do dirty flash your ROM or flash another kernel if it doesn't work.
Click to expand...
Click to collapse
Will do in a few hours
Ps I tryed what you did with f2fs
it built but data did not mount
I was encrypted also
Didn't boot for me. Tried on a 32gig encrypted n9, running cm12.1, wifi
dictionary said:
Didn't boot for me. Tried on a 32gig encrypted n9, running cm12.1, wifi
Click to expand...
Click to collapse
Maybe because CM12.1 is 5.1 based? This is all based on stock kernel.
I will look to see if there's compatibility issues.

Categories

Resources