Compiling Android sources on the Pi - Raspberry Pi General

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

Related

gTablet-TapUI-1.1-Kernel-Patch -- Summary and Analysis

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

ICS just dropped to AOSP

Hi! We just released a bit of code we thought this group might be interested in.
Over at our Android Open-Source Project git servers, the source code
for Android version 4.0 (Ice Cream Sandwich) is now available.
Here's how to get it:Follow the instructions at
http://source.android.com/source/downloading.htmlCheck out the
'ics-release' branch:repo init -u
https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
That's it! However since this is a large push, please be aware that it
will take some time to complete. If you sync before it's done, you'll
get an incomplete copy that you won't be able to use, so please wait
for us to give the all-clear before you sync.
This is actually the source code for version 4.0.1 of Android, which
is the specific version that will ship on the Galaxy Nexus, the first
Android 4.0 device. In the source tree, you will find a device build
target named "full_maguro" that you can use to build a system image
for Galaxy Nexus. Build configurations for other devices will come
later.
Unfortunately we still don't have our Gerrit code review servers back
online. That remains our top priority though, and we hope to have them
back soon.
This release includes the full history of the Android source code
tree, which naturally includes all the source code for the Honeycomb
releases. However, since Honeycomb was a little incomplete, we want
everyone to focus on Ice Cream Sandwich. So, we haven't created any
tags that correspond to the Honeycomb releases (even though the
changes are present in the history.)
JBQ, on behalf of the AOSP team.
--
Jean-Baptiste M. "JBQ" Queru
Software Engineer, Android Open-Source Project, Google.
Questions sent directly to me that have no reason for being private
will likely get ignored or forwarded to a public forum with no further
warning.
Click to expand...
Click to collapse
http://groups.google.com/group/android-building/browse_thread/thread/4f85d9242667a85f
Just read this on AndroidPolice. Very excited!!!
Game.....on!
Sent from my PG86100 using XDA App
Developers make some rom's!!!!!! (Please)
this thread should make its way over to the development section. Thanks for the find op
Update: Already there
I'm actually curious about how long it will take for someone to make an A500 ICS ROM based on this. There is bound to be someone to do it, but who gets the #1 spot?
Whoever does it, it won't be soon. Build requirements are kinda steep...
https://groups.google.com/group/and...355d4256bdf4906?hl=en_US&lnk=gst&q=16gb&pli=1
They're not necessarily requirements, but more or less just recommendations. A more average computer could still compile ICS, but it will just take a lot longer. And I'm betting Thor will be the first to cook us a ROM. Hopefully soon
Sent from my HTC Glacier using xda premium
FloatingFatMan said:
Whoever does it, it won't be soon. Build requirements are kinda steep...
https://groups.google.com/group/and...355d4256bdf4906?hl=en_US&lnk=gst&q=16gb&pli=1
Click to expand...
Click to collapse
Those are only recommendations for developer workstations. It is certainly possible to compile it even on a low-grade office PC if you give it a week.
Hence my saying it won't be soon...
FloatingFatMan said:
Hence my saying it won't be soon...
Click to expand...
Click to collapse
Your still not understanding my friend. Unless your definition of soon is in 30 minutes. Peter Alfonso that develops for the OG Droid and a few other devices compiled his in about 1 hour and 45 minutes. That was a laptop core i7 and 8gb of ram.
Thats not whats going to be time consuming. The hard part will be finding/getting the hardware inside our devices to work. I asked THOR on his forum about ICS on the iconia, his response:
done know for now... depends how many proprietary stuff the a500 uses....
I'm worried the camera, sensors and battery as these seam to be tampered with...
for the moment I'm busy with other stuff will see when I get some time to sneak a peak at the code...
Click to expand...
Click to collapse
Time will tell.
I'm sure FFM understands that. As you say, the hard part is getting the hardware to work, but with a slower machine, how many test builds can you do in a day? With a big fast machine that can build in a few hours vs a laptop that might take a few days can make a huge difference of when you get to your final release.
But hey.. i don't know anything, so why don't I just shut up...
It takes about 3.5 hours for me to build a new version of ICS. I'm on a 3 year old laptop which is why it takes so long. It would be great to have a much newer machine to build with as it would help to make things go faster.
So I guess that Google engineer was taling out of his butt then.

SE Android - ROM for Thunderbolt

So it seems the NSA has released their source code for SE Android (previously they built SELinux as well). This is a more sandboxed and secured version of Android based on the work they did in Linux.
This is the basis for Government grade secure Android devices that they are intending to deploy.
The build instructions list using AOSP as the basis and building from there, as it's primarily kernel compiling. That being the case you could (theoretically) kang almost any rom by recompiling and repackaging. I have not released any rom's or anything like that, so this (for now) would be nothing more than a packaged release of vanilla AOSP + SE Android kernel. As I get my feet under me I might tinker with some customizing, but wanted to see if there was an interest, otherwise I will just knock it out for me and skip updating.
i'm interested to see what you can come up with. Develop is slow here so anything is greatly appreciated. I came from the hd2 and development there is still awesome.
Interested. Have any links for code information as to what they did to implement security?
Sent from my ADR6400L using Tapatalk
Sure thing:
Turd Furguson said:
Interested. Have any links for code information as to what they did to implement security?
Sent from my ADR6400L using Tapatalk
Click to expand...
Click to collapse
http://selinuxproject.org/page/SEAndroid
Looks like mostly they ported the SE linux stuff over.
I'm also interested in this, I'm planning on releasing a build of this spliced with CM7 on Rootzwiki, since nobody else had started it yet.
They've mostly only made the major pieces of SELinux working with the Android kernel, and have a few userspace modifications on top of that. It'd be alot more C/C++ work than Java I'm afraid if specific tweaks need to be built.
I'm planning on beginning work when I get back to the U in a few days. Will you have a repo we can pull from for building? I have distributed compiling capabilities and we're on a shared 300meg link, I can build/upload if you'd like from your base?
At a workshop I attended to present a research paper of my own back in October there was discussions of building hypervisors into Android to separate out normal app space & business(secure) app space such that even if you had an evesdropping bit of malware it couldn't listen in on the business phone app as it was separated from the normal app space where the malware would live. But tie that into a SELinux style android kernel would likely make it significantly more beneficial.
I wonder how hard it would be to put the two together? Or if SEAndroid would defend against such threats on its own w/ out needing to build in hypervisor level security as well? Guess it might be worth investigating but definitely interesting and excited to look at further. Thanks for posting!!
I'm interested!
I wonder if the CM team would consider merging this into their builds, that would put it in a league of its own...a powerful ROM with many enhancements and exceedingly secure...just awesome.
I'd be interested in this. I just stumbled upon the whole SEAndroid thing while looking for ways to secure Android from some (seemingly?) legitimate apps that nevertheless ask for massive permissions (i.e., Juicedefender). It's just extremely difficult these days to tell, as often these sensitive permissions may actually be needed by the app to conduct its business.
I've actually been waiting on taking the plunge to root my phone (yes, overcaution, I know)...a strong, secure ROM based on SEAndroid would make me do it!
I would be interested in this also.
any development for the tbolt here is welcome. id be interested to see how this plays out. thanks for the hard work im sure your putting into it

[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

[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