Related
Hi All,
Running rooted Hero with Modaco 2.5.1 rom ( thanks Paul )
Was hoping someone could ( simplistically ) answer a few question for me.
As I understand it - one of the things holding back development of Hero ROMS is that HTC haven't released the kernel for the Hero.
1) What exactly IS the kernel in the greater scheme of things?
2) When are HTC likely to release it?
3) When it is released, what new things will it allow developers to do?
4) Anything else relevant to it worth knowing?
TIA
Look at these:
1. The kernel is the Operating System for the phone, it runs everything.
2. That is the magic question...
3. It'll allow more development in terms of mods. we'll be able to change alot more and get more out of the phones.
I'm sure others will have more detailed explanations.
Regarding question 2:
I've gotten response from HTC support the other day that the release is planned but no sure date could be given.
Date: 5th of October
My question:
Hello there, I realize that this might not be the normal kind of request you guys get, but here goes. This is probably not your average request and might require escalation. I was wondering when the source code for the Hero kernel was gonna be available at developer.htc.com?
Click to expand...
Click to collapse
Answer:
Hello
This is quite a normal question we get here at HTC. The source code is something that will becoming soon. We have had contact with those far higher than my self or are planning on adding the source code as soon as possible. I have not been given a time scale but bases on the code for the two other handsets i should expect it in the next couple of weeks.
Hope this helps.
Click to expand...
Click to collapse
So, educated guess would be around the release of the Hero in the US.
Some if I have this right -
The kernel is the basic underlying OS of the phone, and a ROM sits on top of this end gives us the end user experience ( and Sense UI is within the ROM ).
Am I right in thinking the kernel is linux based?
And a big magic question - when the kernel is released, will people be able to modify it and get the bluetooth working properly?
Sorry if it's a bit basic - but interesting to me....
The Kernel is not the OS (As most people understand an OS to be) (OS meaning Operating System)
It's at the core of the OS but is not the OS. You can keep the same build of an OS but update the kernel and vica versa. It is (put simply) what converts the hardware calls from the OS into something the hardware understands.
So (using current issues as explanation) The OS tries to load the GPS and the kernel isn't configured with the right settings the GPS won't load. Similarly if you try and use the trackball and it's not setup in the kernel then it won't do anything.
The OS will still work fine with other things but until the kernel has the right settings put into it it just won't see the parts of the phone it's not set up to.
Here is a technical description of a Kernel.
http://www.linfo.org/kernel.html
I'm sure I've just made it as clear as dishwater but if not I hope it's helped.
J-Zeus said:
Some if I have this right -
The kernel is the basic underlying OS of the phone, and a ROM sits on top of this end gives us the end user experience ( and Sense UI is within the ROM ).
Click to expand...
Click to collapse
Not exactly. To add to what akirainblack has said already...ROM stands for Read Only Memory. In this context it is a bit different as it is the complete package that makes up the Kernel, the OS and anything that is pre-installed to the phone. When you run the RUU (Rom Update Utilitiy) on your PC is completely refreshes the system software in your phone - Kernel, OS and any pre-installed apps - just as if you had bought it from the shop like that.
J-Zeus said:
Am I right in thinking the kernel is linux based?
Click to expand...
Click to collapse
Yes.
Hmmm...
simple question... when the kernel is available... would we be able to get a white taskbar on the Hero?
//Nik
When the kernel source is available, we should be able to rebuild Android completely from the source code repositories and do practically whatever you want.
Regards,
Dave
foxmeister said:
When the kernel source is available, we should be able to rebuild Android completely from the source code repositories and do practically whatever you want.
Regards,
Dave
Click to expand...
Click to collapse
Including getting Bluetooth working?
J-Zeus said:
Including getting Bluetooth working?
Click to expand...
Click to collapse
In theory, yes. In practice, the situation is a little more complicated, but at the very least I'd imagine it would be possible to get BlueX, or something like it, working on rooted Heros fairly quickly.
Regards,
Dave
Given that this is a Linux kernel, aren't HTC required by the GPL to make the source available to all Hero owners?
This is covering the same ground, but is another way to look at things regarding the kernel and the OS. The kernel abstracts the specifics of the hardware from the Android system. For example, when the Android system requests that the bluetooth hardware be enabled, the kernel can translate that request so that it works with the particular hardware of the phone - as the bluetooth hardware of the Magic may be different from the bluetooth hardware of the Hero. So the kernel, is an interface that translates and Android call to the specific hardware level controls necessary. The kernel sits between the hardware and the Android system.
It also means that releasing the kernel will not allow us to make changes to the Hero Android user interfaces. If we want to change colours, icons and so on in the Hero ROM, we would need the source code for their "tweaked" Android and maybe to some degree their TouchFlo software. I doubt they would give that away. It would allows us however, to tweak the kernel, or transplant the driver code for specific hardware pieces in the Hero, to a newer version kernel.
I understand that the release of the hero kernel, could help me with my cause (getting 1.5/1.6 'clean' android on my hero without any htc apps/front ends).
Somebody suggested contacting HTC and asking for it to be released.
I have a few questions regarding that:
1) Has this happened before? That HTC released an android kernel?
2) Did this happen after the request?
3) Who should we contact to get it? (which HTC division)
4) Is there a possibility that they don't want to release it, because it would allow people to copy parts of the proprietary interface?
E2K said:
1) Has this happened before? That HTC released an android kernel?
Click to expand...
Click to collapse
Take a look at http://developer.htc.com/
The Dream and Magic sources are available.
E2K said:
4) Is there a possibility that they don't want to release it, because it would allow people to copy parts of the proprietary interface?
Click to expand...
Click to collapse
The HTC Sense UI won't be included in the kernel source.
They dont have to release the source of them.
New question
Is it possible to create a new donut kernel (2.6.29) with the changes they made to the 1.5 kernel (2.6.27)?
Looks like they send you the hole kernel, not just some patches and new drivers...
mopodo said:
Take a look at http://developer.htc.com/
The Dream and Magic sources are available.
Click to expand...
Click to collapse
So this means that we could compile or 'cook' a working vanilla android 1.5 for the HTC hero, with everything working fully?
HTC HAS to release the kernel source as required under the GPL license that the kernel was released under. It is indeed a linux kernel and it contains the necessary parts to work the hardware along with extra drivers and modules (stupid monolithic kernels).
Here's what I don't get (and hopefully somebody will clarify this for me). Why hasn't anybody tried building android with the current kernel available? Android has the ability to be built around a pre-compiled kernel (it does this if you do a straight make right after repo sync with the pre-compiled dream kernel). You'd only need to re-build the wlan.ko module for the new kernel and the gps module would be compiled against the specified kernel, so it should work.
If I had Hero, I'd test it (if you want to trade your Hero for my G1, hit me up ), but there's no reason it shouldn't work.
Up to now, I've only seen ports, and those are hard to make work because of the pre-compiled files, so that leads to loads of file-swapping and finger-crossing, but an AOSP make should still work. Anybody wanna try it (or post me a hero kernel and I'll compile you a stock donut build to test).
jubeh said:
HTC HAS to release the kernel source as required under the GPL license that the kernel was released under. It is indeed a linux kernel and it contains the necessary parts to work the hardware along with extra drivers and modules (stupid monolithic kernels).
Here's what I don't get (and hopefully somebody will clarify this for me). Why hasn't anybody tried building android with the current kernel available? Android has the ability to be built around a pre-compiled kernel (it does this if you do a straight make right after repo sync with the pre-compiled dream kernel). You'd only need to re-build the wlan.ko module for the new kernel and the gps module would be compiled against the specified kernel, so it should work.
If I had Hero, I'd test it (if you want to trade your Hero for my G1, hit me up ), but there's no reason it shouldn't work.
Up to now, I've only seen ports, and those are hard to make work because of the pre-compiled files, so that leads to loads of file-swapping and finger-crossing, but an AOSP make should still work. Anybody wanna try it (or post me a hero kernel and I'll compile you a stock donut build to test).
Click to expand...
Click to collapse
Hi, thank you for this information. You make it sound like it's possible
I tried searching for the Hero Kernel, but I could only find this:
http://developer.htc.com/
The hero is not listed (maybe it shares a lot with the magic kernel?).
edit: this post dating from september 10 stated that HTC would "release the kernel source soon".
This was more than a month ago though..
edit2: calling HTC Netherlands right now..
edit3: after explainig the need for the kernel, I've been on hold for 10 minutes now..
edit4: more than 18 minutes now
edit5: after 26 minutes I hang up
Well I have a Hero running Modaco 2.2. I could post this kernel (where?) Or it surely could be extracted from one of the ROMs available on this very site
SquiffSquiff said:
Well I have a Hero running Modaco 2.2. I could post this kernel (where?) Or it surely could be extracted from one of the ROMs available on this very site
Click to expand...
Click to collapse
I could be wrong, but I believe there is a difference between the 'kernel', and the 'kernel source'. The second one is needed when you want to compile the kernel.
Speaking as one who has compiled kernels in the past there are three components required here:
The kernel source- this is typically available from http://kernel.org/ If HTC have made any changes to the source of the kernel itself then these should be apparent in their distribution of the kernel source
The relevant configuration file '.config' which should accompany their distribution of the kernel source and permit you to compile any other kernel as a drop in replacement.
Source code and makefiles for any custom kernel modules ('drivers' in windows terminology) In Linux these have to be compiled together with the kernel.
To use a cookery analogy:
The kernel source is the raw ingredients. It can be set up for anything from a supercomputer to a DVD player depending on how you use it. The kernel config is the method which will allow you to bake the type of cake you intend. The modules sources are any of HTC’s own custom ingredients required for everything to work. THe kernel is the finished cake which you eat.
i want to set up a git/bazaar/mercurial repo of the android 2.1 source (when its out) to allow for some collaborative dev, instead of everyone doing their own thing.
just have a few questions
1. is there anything like this already? (yeah, apart from google's repo)
2. would i need to upload the full >1GB source? (github has a 300mb allowance for OSS repos last time i checked)
3. are there any free/OSS repos with enough of an allowance to hold all the relevant files?
4. what SCM is best? (i'm guessing most people will say git...)
warsng said:
i want to set up a git/bazaar/mercurial repo of the android 2.1 source (when its out) to allow for some collaborative dev, instead of everyone doing their own thing.
just have a few questions
1. is there anything like this already? (yeah, apart from google's repo)
2. would i need to upload the full >1GB source? (github has a 300mb allowance for OSS repos last time i checked)
3. are there any free/OSS repos with enough of an allowance to hold all the relevant files?
4. what SCM is best? (i'm guessing most people will say git...)
Click to expand...
Click to collapse
1: a few devs have publicized their work, like cyanogen and lox.
2: this would be best, since it would allow everyone to branch from the vanilla master
3: my guess: it would be best to setup a private server
4: you guessed right ;]
Well, google code has 1GB storage place accessible via Mercurial and Subversion.
Have a look @:
http://github.com/kiall/android_vendor_community
http://github.com/jnwhiteh/android_vendor_community
http://github.com/loxK/android_vendor_community
Along with all 3 of our own other repos ... We've been at this for a while
We've had 2.0 on the hero for a good while, with 2.1 over the last few days.
That repo also has 2.1 for the dream/ADP1 (I've just got that working ...) and the start of acer liquid support.
Wiki @ loxK's clone has somewhat up-todate instructions...
(loxK = better known as lox_dev)
Also ... dont bother with SVN/Merc ... to build android ... your going to pretty much *need* their repo client ... and the 166ish git repos that make up android... Use git and save yourself some hassle
Also ... 1GB is nowhere near enough if you did want to clone/copy everything into 1 repo ... 3.2GB min ... (thats excluding my android/out and android/.repo folders... with them ... its 11GB)
Hello developers,
I'm starting this thread because I'm interested in designing a development environment for the Samsung Galaxy Tab so that developers, like myself, can have an easy environment for modifying the Android OS. I'll be aiming this environment at all Android Devices but I want to start with the Samsung Galaxy Tab.
At the moment I don't have much of a structure for this project, nor much direction, so if anyone has any ideas for what tools etc I should include in this please let me know. If anyone wants to get on board with the project it would also be appreciated. Send me an email.
tool ideas:
- integrating the GCC and Javac compilers into the environment.
- integrating a way to generate make files and to build from these files.
- GUI for editing files from the kernel and application framework.
- easy to use way of setting up branches for projects with the Repo and Git included in the Android Source Code.
Count me in. I am getting a Tab tonight and I plan to develop for it. Currently, I have got the froyo source on my machine and want to integrate the open source code that Samsung released for this device.
Has anyone successfully built a custom ROM using the Samsung source code? Any help on this will be appreciated.
Awesome!
I've got Froyo working on the Tab, which I built from the source code from the android open source project website but it's just a generic build from the straight source, nothing special. not with the samsung code though. do you have any links for it?
I've put a small amount of stuff into the Dev Environment, most just shell files etc to make installing everything easier. One click sort of thing.
My first task though is going to be to try and fix the failure that is the Samsung display driver. Most noticeable are the 4 by 1 widgets that don't stretch across the whole screen.
After that I'm going to start work on a GUI for the environment and the iOS Emulator.
thoughts?
Whats wrong with Android SDK and Eclipse?
It's not the most straight forward thing. I'm looking to make something that includes its own libraries too. It's aimed at beginning developers mostly, so you can literally download one file which includes everything you'll need then start editting and then one click to compile and have it all work. Simplicity
I'm also interested in this... The SGT is my first android device, and my company will want android apps for internal and external uses... and a one click dev environment would be a most welcome option!
DevShroom said:
I've got Froyo working on the Tab, which I built from the source code from the android open source project website but it's just a generic build from the straight source, nothing special. not with the samsung code though. do you have any links for it?
Click to expand...
Click to collapse
Straight up AOSP? Could you have a crack at CM?
Anything you need, including testers, I'm in.
I have programmed some programs in android. If you need my help, i will be glad to help,
Sent from my GT-P1000 using Tapatalk
i'm currently setting up a new galaxy Tab ubuntu 10.10 VM but I always fail at installing java5-jdk, but when im ready i'm going to have a look at the CM and AOSP source and i !try! to port CM to the tab!
I am working on a custom rom , if you need any help do not hesitate
yann06 said:
I am working on a custom rom , if you need any help do not hesitate
Click to expand...
Click to collapse
are u building from source or are you modifing a stock rom?
DevShroom said:
Hello developers,
I'm starting this thread because I'm interested in designing a development environment for the Samsung Galaxy Tab so that developers, like myself, can have an easy environment for modifying the Android OS. I'll be aiming this environment at all Android Devices but I want to start with the Samsung Galaxy Tab.
At the moment I don't have much of a structure for this project, nor much direction, so if anyone has any ideas for what tools etc I should include in this please let me know. If anyone wants to get on board with the project it would also be appreciated. Send me an email.
tool ideas:
- integrating the GCC and Javac compilers into the environment.
- integrating a way to generate make files and to build from these files.
- GUI for editing files from the kernel and application framework.
- easy to use way of setting up branches for projects with the Repo and Git included in the Android Source Code.
Click to expand...
Click to collapse
I'll be interested in getting involved in a community driven project for the SGT. I'm a unix admin with lots of experience in the OS and system development field. Interested in what ideas you have on this.
Try using openjdk. It works for me.
Sent from my GT-P1000 using Tapatalk
Thanks everyone for the positive feedback on all this! it'll be good to have as many people on board as possible.
if you have troubles downloading the sun-java5-jdk there is a good tutorial on it on this site, it doesnt come as part of the repository by default so until you add it in sudo apt-get install sun-java5-jdk will not work.
atm i am only working with AOSP not CM, i am trying to set this dev environment up for a nice simple build and then i'll start working on more complex builds so we can start developing custom roms.
@paulshields - do you know much about linux/android drivers? i wanna fix the widget sizing problem on SGT but my driver knowledge is limited
Here we go
Common gingerbread-samsung git branch for all of us
This branch contains the fixed Gingerbread source (compiling and working) everyone of us may use as reference git repository.
Fixed in this source:
- all cleaned up gitignores
- missing FSR in Makefile
Take also a look at the updated README.txt that will explain you how to compile and get it working with modules
Also: makes sure you disable, in .config:
[*] Automatically append version information to the version string in menuconfig or CONFIG_LOCALVERSION_AUTO in .config
It will help each developer to exchange patches easily because of the common starting point.
bilboa1 said:
What supercurio means, is that he's offering to have a common GIT repository for the official Samsung kernel of the GT-I9000 (and similar phones).
The GIT tree would contain only Samsung drops and possible other upstream fixes/changes (the kernel being loosely based on the Nexus S kernel, there's at least Samsung and Google as different upstream), as well as bug fixes. No new features etc except maybe Voodoo.
The advantage of that is that the ones not using GIT yet could fork it and make their own kernel variation on a STABLE base. They could also issue pull requests for fixes they made, which would profit everyone. That's the open-source spirit and way of doing things efficiently by the way.
Note that the current GIT already contains fixes for compiling and using Samsung's GB sources with Samsung's firmwares (and binary modules).
I certainly support this idea.
Click to expand...
Click to collapse
How you can fork this repository:
- clone it via github directly
or, if you prefer keeping only this gingerbread branch directly, on your dev computer:
Code:
git clone git://github.com/project-voodoo/linux_gt-i9000.git -b gingerbread-samsung
cd linux_gt-i9000
git remote rm origin
git remote add origin git://your-new-remote-repository.git
git remote add common git://github.com/project-voodoo/linux_gt-i9000.git
This way, for people re-using Vodooo sound for example, it will be as easy as:
Code:
git fetch common
git merge gingerbread-voodoo-sound
If you have more idea of collaboration like that, express yourself
FAQ:
Q: Bleh! I hate this Kernel/ directory.
A: Yes, this was the case for the original commits but now it's a standard Linux repository with everything on its root.
But it didn't worked as expected, so I had to make the change, sorry for the inconvenience to the early adopters.
Q: What happens when Samsung update their source code tarballs
A: I'll update the common git repository accordingly (hopefully fast enough for you)
On your side, all you'll need to do will is.
Code:
git fetch common
− or git fetch git://github.com/project-voodoo/linux_gt-i9000.git
git merge gingerbread-samsung
Say good bye to messy tarballs!
PS: if you're looking to initramfs, take a shot at https://github.com/project-voodoo/samsung_initramfs − contribution welcome.
Good idea, I second that, it will be easier
wrong link
Github reads http://project-voodo.org/
What supercurio means, is that he's offering to have a common GIT repository for the official Samsung kernel of the GT-I9000 (and similar phones).
The GIT tree would contain only Samsung drops and possible other upstream fixes/changes (the kernel being loosely based on the Nexus S kernel, there's at least Samsung and Google as different upstream), as well as bug fixes. No new features etc except maybe Voodoo.
The advantage of that is that the ones not using GIT yet could fork it and make their own kernel variation on a STABLE base. They could also issue pull requests for fixes they made, which would profit everyone. That's the open-source spirit and way of doing things efficiently by the way.
Note that the current GIT already contains fixes for compiling and using Samsung's GB sources with Samsung's firmwares (and binary modules).
Forking in git hub is VERY VERY easy btw.
I certainly support this idea.
Awesome! - I also support this idea
United Galaxy S Developers
Nice idea! Perfect spirit of open source
I hope good things come out og this.
Great move Supercurio - once again !
Simply awesome men
Will the github include the multitouch fix(SGS only using two fingers rather than multiple fingers) that affects Google Maps rotation?
pikachu01 said:
Will the github include the multitouch fix(SGS only using two fingers rather than multiple fingers) that affects Google Maps rotation?
Click to expand...
Click to collapse
The gingerbread-samsung branch promoted here will only contain Samsung kernel sources and won't interfere with other developers modifications.
Only exception is if this source is broken and needs something to work, like nikademus's patch: https://github.com/project-voodoo/linux_gt-i9000/commit/6c8f989f58999770d23236bb172c3a4e1c80586b
It seems that JVK and JVB was pulled from Kies because of an update problem. Looks like we're going to have new ROMs to play with in a week or two (maybe less)
Edit: What about the SSL fix (http://forum.xda-developers.com/showthread.php?t=1040005)
Great, good idea. That's how community development should work!
zorxd said:
Great, good idea. That's how community development should work!
Click to expand...
Click to collapse
Agreed! Thanks for getting things started Supercurio! Now I have to start making a Vibrant branch.
Any chance this code will boot with preempt enabled? Does the MTD driver work with the OneNAND partitions like the NS code does? I'd kind of like to get away from FSR/RFS and such....
Still cloning...
ttabbal said:
Any chance this code will boot with preempt enabled? Does the MTD driver work with the OneNAND partitions like the NS code does? I'd kind of like to get away from FSR/RFS and such....
Still cloning...
Click to expand...
Click to collapse
The code has many similarities with Nexus S one (build from it IMO) and is preempt too
Just a note, I had to edit the Makefile to set the crosscompile variable to the right path
Question: is the generated zImage flashable through ODIN? Don't we need to add the initramfs?
supercurio said:
The code has many similarities with Nexus S one (build from it IMO) and is preempt too
Click to expand...
Click to collapse
Excellent! I just did a defconfig to check it out and saw the preempt in there.. Nice to see Samsung fixing things up a little. Now I need to get a GB ROM to install so I can try to boot.
Thanks again. I'll send a pull request when I have a Vibrant branch ready. Going for minimal modifications, fix touch button mapping and such. People can add whatever they want after that. Now I need to learn the new code tree... wheee! Hopefully the basics are the same, getting the changes into an i9k froyo kernel is pretty easy.
zorxd said:
Just a note, I had to edit the Makefile to set the crosscompile variable to the right path
Question: is the generated zImage flashable through ODIN? Don't we need to add the initramfs?
Click to expand...
Click to collapse
You will need an initramfs... anyone have a default one we can start with for 2.3?
zImage will have to be in a TAR file to flash with Odin. Heimdall can flash a bare zImage, as can the SGS Kernel Flasher tool for Android.
Oh... think I saw a setting in "make menuconfig" for the cross-compiler prefix. Might be able to avoid Makefile mods....
Sorry for the newb question, but how do we generate the initramfs? I guess we could take the one from stock JVB. But how do we extract it and how do we combine our compiled kernel with it?
On a side note, I noticed that CFQ is the default scheduler. Isn't it better to use No-op for flash memory?
I have tried googling this and also searching the forums and have found many helpful guides for setting up build environ for building CM/AOKP/AOSP and so on. I am new to this obviously and dont totally understand linux and what not but have successfully built CM from source for my S4. Now I would like to start building KitKat from googles source. I mostly like everything about the google stock rom and seeing as their are fewer things in it then I would want to change in the stock CM builds and whatnot that I would really like to just get the google repo and build from that source. When following the guides I have seen they all refer to the repo's for the AOKP or CM or whatever and not AFAIK googles source. Is this so simple that beccause I dont understand how to do it maybe it means Im not supposed to be or is it just an unusual desire? Anyway if someone could direct me to the proper guide or the proper command to init the google 4.4 repo for the Nexus 7 2013 Deb/razorg I would greatly appreciate. Not sure if this should have gone in dev section or here or what but figured not clutter dev forum with such a simple thing. Thanks in advance. Any guidance on any of this source building design stuff would be appreciated as well.
McOpCo 5528
I think I just posted to soon. Finally found googles site and looking through it I think I am getting there. Still would appreciate any help or suggestions on guides to read or anything that helped any of you build your first few builds via source. Thanks.
repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.1