I9000 open source release updated - Galaxy S I9000 Android Development

I've been in touch with Samsung's Open Source Release Center. Today they released a new copy of GT-I9000_OpenSource.zip, containing a 3d_module_GPL.tar.gz with the source code for those three object files they have packaged in the kernel source. Namely,
modules/s3clcd/s3clcd_module.o
modules/s3cbc/s3cbc_module.o
modules/pvrsrvkm/pvrsrvkm_module.o
I haven't tried building them yet, but they look about right.
Enjoy!

Sounds great I think those were the only binary modules in the kernel source package?
Sent from my GT-I9000 using XDA App

Anyone have tried to remove the touchwiz (only the interface) from the source, and change it with another launcher (i.e. ADW Launcher)?

Related

[Q] Can we compile a working firmware with the Samsung source?

Pretty much as the title suggests. If not, where do I find a kitchen that works?
Nobody? How about kitchens?
Pretty much
But if you would set everything up and run the build_kernel.sh script, you would end up with a 2.5 MB zImage, which is almost half the size of original zImage. This is beacuse initramfs is not available. I am not sure about the consequence of flashing this.
You can initramfs for i9000 from LeshaK's github. Though you'll have to modify the script not to replace the downloaded .config with the defconfig for aries_rev03.
Wow, finally another DEVELOPMENT question!
Keep it up!
Now for my answer: I'm working on a kitchen, have the extract / mod part mostly done, now working on initramfs extract / mod / repack (without the need to compile the kernel!) and repacking everything for flashing.
I hope to come up with something where you can start with any existing rom (different from some kitchens which are based on a particular version), mix and match apps and features compatible with that rom, then cook it for flashing either straight from Odin or installing from an update.zip.
Search in Google for
SamdroidMod Kitchen All in One for Samsung Galaxy S i9000
Does the Samsung source distribution include all the drivers or are some binary only?
snaff said:
Does the Samsung source distribution include all the drivers or are some binary only?
Click to expand...
Click to collapse
Sources included
ykk_five said:
Sources included
Click to expand...
Click to collapse
Just be sure to get the most recent sources. An older zip I had still had only binary blobs for the graphics kernel module, but they have now been GPL'ed. Joy!

Source for sbin/init

Hi,
I've followed various posts on here and have managed to compile and install my own kernel build. I am using the leshak initramfs and would like to be able to modify the init executable that lives in the sbin folder.
I've had a search around and can't work out if there is any source code available to build this or if it just pulled directly from the device. Can anyone confirm if and how it is possible to build this executable?
Thanks in advance,
Jamie
Theres no source from Samsung available.
You can try official android sources:
http://android.git.kernel.org/?p=pl...dc717ed167482c09f342730f1c1f64b90d19c;hb=HEAD

[Q]2.3 drivers when source released

So my question is when the 2.3 source code is released will we as evo users be able to compile it using current drivers that we have from 2.2 or is it going to be like 2.2 where it took a month or 2 to get the camera and other stuff working
Simplified do the drivers have to be re-written or will current ones work on 2.3
Mainly wondering as would be nice to have working gingerbread a few days after source released vs weeks/months
Sent from my PC36100 using XDA App
Android uses the Linux kernel. Drivers for the Linux kernel are called "kernel modules" and their files end in .ko (kernel object). Usually they have to be updated for every kernel release e.g. for 2.6.28, 2.6.35, etc to keep up with the kernel APIs.
In some ways Android is just "user space" meaning that it could run theoretically on any kernel. However there are some specific Android kernel requirements that the details are unclear on to me.
Cyanogen has a 2.6.35 and 2.6.36 kernel running, and Gingerbread will use 2.6.35. So things "should" work already. However there's no way to be sure until the actual source code is available.

[REF] Source code: Unified git repo for GT-I9000 Gingerbread kernel source

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?

[Q] Where is stock wireless module, and can I compile my own?

Sorry if this should be obvious, but I am new to kernel compiling and have searched with no luck.
Where is the wireless module located on the stock S3 ROMs? I have looked in /system/lib/modules and found a wlan.ko link to /system/lib/modules/prima/prima_wlan.ko - but the prima directory does not seem to exist, and searching the entire filesystem for prima_wlan.ko comes up with nothing.
I have also searched for the source to compile this driver module myself, to no avail. Is the source closed?
The rest of the details: I am running stock Jelly Bean T999UVDMD5 with root injected (mrRobinson's root66). I am trying to achieve CD-ROM emulation via USB so I can use DriveDroid. I have successfully applied the patches listed in the DriveDroid thread to the stock T-Mobile Jelly Bean kernel SGH-T999_JB_TMB source from Samsung. My compiled kernel boots and DriveDroid works. However, I have no wifi.
I have seen discussions that the original wireless .ko module can be copied over, and others that say it will not work unless it is compiled with the kernel to be used. I can't find the original or the means to compile it, as stated above. Any help is appreciated.
I'm not sure right off hand about the prima-wlan.ko.
But kernel source can be found at opensource.Samsung.com
Touchwiz source is closed.
Sent from my SGH-T999 using xda premium
DocHoliday77 said:
I'm not sure right off hand about the prima-woman.lo.
But kernel source can be found at opensource.Samsung.com
Click to expand...
Click to collapse
Yep that's the source that I patched.
Looks like wifi is already in the kernel build, but not enabled by default.
http://forum.xda-developers.com/showthread.php?p=42793761
Compiled again with
CFLAGS_MODULE=-fno-pic
and added
EXTRA_CFLAGS=-fno-pic
in the Makefile. (not sure if the second was needed) and wifi is working. Thanks to farhanito.

Categories

Resources