Kernel version 2.6.29 or 2.6.3x

Kernel development related

Kernel version 2.6.29 or 2.6.3x

Postby Dopi » Wed Jan 19, 2011 10:45 am

Should we move away from the 2.6.29 kernel?

Google suggests 2.6.32 for Froyo but the system is of couse working on 2.6.29, too. The kernel released by Samsung for I9000 Froyo is based on 2.6.32 but for the wrong AP (S5PC110). This could be a base for us as well as the kernel that might be release for M920 Froyo (this should be the right AP).

My personal opinion is not to change until we have complete driver support for all our hardware or there is a hard requirement by any system we want to run. But new versions might also bring support for previously unsupported hardware. It is a difficult topic, so let's discuss.

Cheers,
Dopi
Ad banners support the JetDroid forum. Please consider clicking them once in a while.
User avatar
Dopi
Dev Team
Dev Team
 
Posts: 926
Joined: Sun Aug 22, 2010 9:47 pm

Advertisement

       

Re: Kernel version 2.6.29 or 2.6.3x

Postby MadRocker » Thu Jan 20, 2011 11:32 pm

Hope this makes sense. 1monhts info feeling like 3 years info, so fairly accurate from what I can recall.
We will likely have to piggy back onto say spica xmister + m900_jet_android_defconfig or INSTINCTQ / HTC hero as much as possible to jump start this.

This below is some issues I had / observations so far.

Off topic but related, Sshd:
One thing that might helps is if we can get a sshd app / .jar and convert to apk for remote login the stuff like chroot or on device kernel compile / insmod is much easier as terminal is a major issue with Japanese in ginger / froyo and terminal not working for me in eclair + typing speed on real keyboard via ssh is much faster than touch pad keyboard. This will also allow for chroot into a stage3 tar ball extracted to mem card etc and using more commands to debug.

Kernel:
I tried to go above the barrier somewhere in 2.6.29.3~ it changes not sure precisely when. 2.6.29.6 is already new method kernel. I did not have time yet to check what and how changed according to kernel.org doc's .

Almost zImage: :cry:
I can get almost all drivers as modules in a 2.6.36 or ...37 cm course / cell sources / full kernel.org kernel working but always fails at zImage vmlinu machine code error , based on jet_android_defconfig .
There is the problem of machine code error = select smd6410 or realview6410 or similar but could not find a generic mach one that works with our defconfig +s8000 + booting it = no go yet.

Some dirty patching moving what spica , intinq and jet mach files to newer kernel = needs work but this might be easiest to get mach option available. This did help with I think a msm defconfig after it did not do much for jet defconfig menuconfig.

Later kernels:
The code for many problems has been fixed in later version of the kernel + lots more drivers added.
defconfig from jet_android_defconfig changes with each kernel I tried so will need to remake one once we are sure what works.
docs + other mips / arch files will need to be stripped out for a slim kernel.

BackPorting:
As for below 2.6.29.6 and back porting a new kernel changes, this can be done but all files from a newer kernel has to be one by one inspected and links updated so same effort as just jumping into a new kernel.
This backporting might be a temp solution but we will eventually have to go past 2.6.29.6 barrier.

Can of worms:
Adding newer files to older kernels and using jet defconfig several new items appears like s3c * dvfs and power management and it seems we might need this + bugs in this file in the future, weird.
95% of the bugs in some .c or similar files was fixed by using a newer kernel version of the same file + searching on the internet for a quick patch that was fixed already.

Defconfig old vs new compare that works in newer kernels:
I was trying to compare several pre 2.6.29.6 msm kernel defconfig and several new kernel msm defconfig version to find changes then apply changes in similar way to jet defconfig but no luck yet = not well documented changes by persons changing code + ocing and other non essential changes makes this interesting.

Also the problem is very vast as CM might have a fix for abcsomething and ZTE kernel might have fix for dfgsomething but no place where all this is in one place and some changes is specific to say s3c clock.c related to a vendors hardware so he only changes what is related to his HTC or ZTE or CM msm + this 1 file fixed and not complete all files for say s3c6410.
We will have to cherry pick fixes.

So getting all the changes into place for a new kernel is a nightmare at this moment.
You might need 1 pc just to keep track of changes. Tracking 20+ git sources is fun and dealing with changes and using only good changes / proper fixes excluding spelling mistakes in fixes you get the idea.
I had to format a hard drive just to get order back again with the few I was working with.

I have these kernels as Example on 1 hard drive while trying this kernel jump.
Xmister 2.6.35 , 2.6.29.6 , Jetkernel , sgh-i900 , i9000 , spica cm 3 versions , crespo , ZTE "ZTE_Kernel_Eclair_General.part07.rar 2.6.29.?? 6 maybe " , HTC x3 bravo bravoc ace , smartq7 smartq5 , vorkKernel and possibly a few more.

vorkKernel has nice build scripts in his " VorkKernelCDMA_compile.zip " that we can recycle to automate kernel building for end users wanting to build their own kernels.

Possible cheats:
What we might look at is other ARM 1176JZF-s based cpu versions not specific only to Samsung s3c6410, hardware similar to S8000 say htc using msm6246 and then look at their fixes for some of our needed drivers and use what is similar + discard what hardware is not the same.
Company's like ZTE , HTC ect might have spend more time fixing what is still broken for us in their sources so the transition to a working S8000 or to a new kernel might be faster or so I think.

Least problems in their code is the 2.6.37 full sources from kernel.org = least build errors for reference to backport / fix 2.6.29.? jet kernel .

Off topic Android Vendor Jet / S8000 ? :
I was looking at the Samsung - > Crespo in android and we might be able to change their files to make our own Device specific Android or at least for future Gingerbread versions. Will look more into this in the near future when time permits.

Hope this helps.
MadRocker
Dev Team
Dev Team
 
Posts: 528
Joined: Sun Dec 12, 2010 7:15 am

Re: Kernel version 2.6.29 or 2.6.3x

Postby KB_JetDroid » Sun Jan 23, 2011 5:04 pm

Dopi wrote:Should we move away from the 2.6.29 kernel?

Google suggests 2.6.32 for Froyo but the system is of couse working on 2.6.29, too. The kernel released by Samsung for I9000 Froyo is based on 2.6.32 but for the wrong AP (S5PC110). This could be a base for us as well as the kernel that might be release for M920 Froyo (this should be the right AP).

My personal opinion is not to change until we have complete driver support for all our hardware or there is a hard requirement by any system we want to run. But new versions might also bring support for previously unsupported hardware. It is a difficult topic, so let's discuss.

Cheers,
Dopi


Hi Dopi,

Yes, it seems difficult question if looked from improved hardware support view. But in my opinion even though if the new kernel version has an additional hardware driver, it won't help us unless we have missing gpio implementation and support for the core devices like PMU. Working for these basic things along with newer kernel might be more time consuming than we imagine. We could rather try reverse, i.e. taking drivers from higher kernel version and putting it in our kernel (seems strange and will take more efforts, but might work).

I believe there are only 2 major components for which we can attempt to see if there is any better hardware, namely the PMU and Display driver. If the newer kernel can bring up any of these to their level, then yes we should move to newer kernel. For rest all I think we can wait till our current kernel is complete.

MadRocker wrote:Off topic but related, Sshd:
One thing that might helps is if we can get a sshd app / .jar and convert to apk for remote login the stuff like chroot or on device kernel compile / insmod is much easier as terminal is a major issue with Japanese in ginger / froyo and terminal not working for me in eclair + typing speed on real keyboard via ssh is much faster than touch pad keyboard. This will also allow for chroot into a stage3 tar ball extracted to mem card etc and using more commands to debug.

Hi MadRocker,
Correct me if I haven't understood your problem. You want to have access to JetDroid system using a remote computer via SSH so that you can run various commands from a computer instead of typing them on a touch keyboard in a terminal.
Isn't this functionality already available via adb ('adb shell" command)? With adb and busybox installed, I'm able to access the JetDroid system from my computer as any other Linux system and run various commands. In fact this is what I use for run-time debugging.
Ignore this if you are referring to something else.

- KB
KB_JetDroid
Dev Team
Dev Team
 
Posts: 82
Joined: Sun Nov 14, 2010 12:18 pm

Re: Kernel version 2.6.29 or 2.6.3x

Postby MadRocker » Mon Jan 24, 2011 12:33 am

Hi KB
Kernel looks like back porting is the only solution for now.

Yup correct on remote login. That would be nice if I can get terminal or any root apk to work in Jet-Eclair, 36 clean install of pre0.3 and terminal fails, did not have time to investigate, moving to another country half way around the world for work in about 2 weeks time.

What version of the 4x Jet-Droid's are you using / getting this to work on ? 0.2, pre0.3, Froyo, Gingerbread ?

ADB shell, could not find a proper guide to make it work in linux.
24 Jet-Ginger + Jet-Froyo installs later and can only get terminal to change from funny language to english and still no commands entered works or shows up. Android commander console is too slow.

I do not know all the tricks yet only using / playing with Android since about 15 Dec 2010, then tried to learn Android + 3x Ubuntu and it's hang-ups, lots of fun and eventually got android functioning in gentoo.
MadRocker
Dev Team
Dev Team
 
Posts: 528
Joined: Sun Dec 12, 2010 7:15 am

Re: Kernel version 2.6.29 or 2.6.3x

Postby MadRocker » Mon Jan 24, 2011 2:25 am

This might helps a lot. The M8400 is very similar to our S8000.

I presume the link below dev's have found a way to make it work in 2.6.31-bfs310. Worth looking into.

The Samsung M8400 kernel config "Linux kernel version: 2.6.31-bfs310"
http://code.google.com/p/omlaxy/source/browse/trunk/kernel/.config?r=19

Using this .config in 2.6.37 it build the zImage with a bit of help.
What of these mach options is the most similar or will work with Jet S8000 ?
http://img263.imageshack.us/i/machjet2637.png/
MadRocker
Dev Team
Dev Team
 
Posts: 528
Joined: Sun Dec 12, 2010 7:15 am

Re: Kernel version 2.6.29 or 2.6.3x

Postby KB_JetDroid » Mon Jan 24, 2011 6:30 pm

MadRocker wrote:Hi KB
Kernel looks like back porting is the only solution for now.

Yup correct on remote login. That would be nice if I can get terminal or any root apk to work in Jet-Eclair, 36 clean install of pre0.3 and terminal fails, did not have time to investigate, moving to another country half way around the world for work in about 2 weeks time.

What version of the 4x Jet-Droid's are you using / getting this to work on ? 0.2, pre0.3, Froyo, Gingerbread ?

ADB shell, could not find a proper guide to make it work in linux.
24 Jet-Ginger + Jet-Froyo installs later and can only get terminal to change from funny language to english and still no commands entered works or shows up. Android commander console is too slow.

I do not know all the tricks yet only using / playing with Android since about 15 Dec 2010, then tried to learn Android + 3x Ubuntu and it's hang-ups, lots of fun and eventually got android functioning in gentoo.


Hi MadRocker,
I'm using modified version of JetPlatform 0.3 pre1.
If you need the command login to JetDroid on remote computer, then ADB is the best tool to be used.
For installing it in Windows below is a good guide already posted on our forum.
http://www.jetdroid.org/forum/viewtopic.php?f=11&t=106

In Linux the steps were similar and simple till android sdk version 7 and before.
For the latest version r08, the steps are little different I'll try to give you the steps to make it run on Linux.

1. Download the latest android sdk for below link.
http://dl.google.com/android/android-sdk_r08-linux_86.tgz
2. Unzip the tar file at your desired location. (I have put it in the my home directory).
Code: Select all
e.g. /home/<user-name>/android-sdk-linux_x86

3. Switch to the directory "tools" inside <sdk> directory.
Code: Select all
cd /home/<user-name>/android-sdk-linux_x86/tools

4. Run the script "android". It will start the SDK manager.
5. In the SDK-manager install the "Android SDK Platform-tools, revision 1". This will install all the tools including adb.
6. Now open a terminal and switch to root user using "sudo -s".
Code: Select all
sudo -s

7. Export the path of the "adb" tool using following command:
Code: Select all
export PATH=$PATH:/home/<user-name>/android-sdk-linux_x86/platform-tools

8. You can now connect the phone to USB and run "adb shell" command.
Thats it!!! You are ready to use the adb.

Note 1 : Steps 6 and 7 are absolutely necessary to make the device accessible via USB port. Without this you will see "????????" in "adb devices" command and it wont allow you to access the device.
Note 2 : Steps 3, 4 and 5 are not necessary if you have older version of android sdk (r07 or earlier).
Let me know if you face any problems in above steps.

- KB

PS: Sorry :roll: !!! This is really going off-topic. It would be good if someone can help me in moving this post at appropriate location.
KB_JetDroid
Dev Team
Dev Team
 
Posts: 82
Joined: Sun Nov 14, 2010 12:18 pm

Re: Kernel version 2.6.29 or 2.6.3x

Postby Dopi » Tue Jan 25, 2011 2:03 pm

MadRocker wrote:The Samsung M8400 kernel config "Linux kernel version: 2.6.31-bfs310"
http://code.google.com/p/omlaxy/source/browse/trunk/kernel/.config?r=19

SPH-M8400 (Omnia for Show) is actually I very good catch. Thanks for sending this!

I searched some further and found another device that could help. SCH-R880 (Acclaim) is also an S3C6410 device (very much like SCH-M710/M720). On the Samsung Opensource website there platform and kernel source for Froyo is available. The included kernel is based on version 2.6.32.9. This could be a good substitute for our current kernel. As our current 2.6.29 kernel is mostly based on the SCH-M900 kernel the modifications should be not so big. One pronblem is, that this kernel does not inlcude a MAX8906 driver yet.

Thus the question remains ... why move away from the current version? Performance? Just for the sake of version numbers?

Cheers,
Dopi ;)

P.S.:
KB_JetDroid wrote:PS: Sorry :roll: !!! This is really going off-topic. It would be good if someone can help me in moving this post at appropriate location.

I created a new topic for that here: http://www.jetdroid.org/forum/viewtopic.php?f=18&t=427
Ad banners support the JetDroid forum. Please consider clicking them once in a while.
User avatar
Dopi
Dev Team
Dev Team
 
Posts: 926
Joined: Sun Aug 22, 2010 9:47 pm

Re: Kernel version 2.6.29 or 2.6.3x

Postby MadRocker » Wed Jan 26, 2011 3:55 am

I like the 2.6.29 kernel

Someone that knows what they are doing has to fix a lot of bugs in the .c files. Lots of work.
Some I can cheat past or get a new version of the .c file, others needs some serious code fixes for Jet hardware drivers.

I have send a few requests to Ben @ fluff dot org for the .c he maintains with bugs from kernel 2.6.29 to some in 2.6.38 that is still not fixed yet. Hoping for a solution from him.

This below has some of what we need for a later kernel but not all so will have to multi source for what we need.
Sources below:
Here is a 2.6.31 MAX8906
http://code.google.com/p/omlaxy/source/browse/trunk/kernel/drivers/i2c/chips/max8906.c?r=5

2.6.31 linux/drivers/power/s3c6410_battery.c
http://code.google.com/p/omlaxy/source/browse/trunk/kernel/drivers/power/s3c6410_battery.c?spec=svn5&r=5

New kernels have s3c_adc_battery.c much smaller size 10.7kb

pm.c bug see RTC in devl post.

iDroid 2.6.36 linux/drivers/video/s3c-fb.c
https://github.com/iDroid-Project/kernel_common/blob/android-2.6.32-iphone/drivers/video/s3c-fb.c

iPhone 3g/2g uses same s3c6410 but can not get openGL1.5 or openGL2.0 from Apple.

http://www.khronos.org/adopters/conformant-products/#topengles
Code: Select all
Samsung Electronics   2009-06-27   OpenGL_ES_2_0
SMDK6410 Test Board with FIMG-3DSE V1.x Graphics Core    CPU: ARM1176JZF-S core (ARMv6)
OS: Linux 2.6
VENDOR: Samsung Electronics
RENDERER: FIMG-3DSE v1.5
VERSION: OpenGL ES 2.0 20.02.86
SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 1.00
DISPLAY_WIDTH_PIXELS: 800
DISPLAY_HEIGHT_PIXELS: 480
DISPLAY_BITS_PER_PIXEL: 16
DISPLAY_BITS_PER_PIXEL: 24
DISPLAY_BITS_PER_PIXEL: 32


GPIO bug will search for it again.

You guys with more skill will have to check on this files if good then add to 2.6.29, this is outside my skill :oops:
MadRocker
Dev Team
Dev Team
 
Posts: 528
Joined: Sun Dec 12, 2010 7:15 am

Re: Kernel version 2.6.29 or 2.6.3x

Postby Dopi » Wed Jan 26, 2011 1:32 pm

MadRocker wrote:I like the 2.6.29 kernel

Me too. Mainly because it works :D

MadRocker wrote:I have send a few requests to Ben @ fluff dot org for the .c he maintains with bugs from kernel 2.6.29 to some in 2.6.38 that is still not fixed yet. Hoping for a solution from him.

What kind of fixes do you mean?


That is the same driver source we currently use. So, this one should be no problem to be ported to 2.6.31 and beyond.

MadRocker wrote:New kernels have s3c_adc_battery.c much smaller size 10.7kb

Yes, I also noticed differences in the ADC driver. I fear they might have dropped touchscreen support. It was not so easy to get the touchscreen working in the first place.


I don't think the gfx driver will be an issue. I just looked into the SCH-R880 source that is based on 2.6.32 and I don't see why the display driver should not work for the Jet with the same modifications we made against the M900 driver.

MadRocker wrote:iPhone 3g/2g uses same s3c6410 but can not get openGL1.5 or openGL2.0 from Apple.

OpenGL is always a big issue as you can see from the Samdroid project. With SCH-R880 as a base I don't see any reason why we should not be able to have accelerated 3D in Froyo. A back-up solution would be the gles6410 driver.

After looking into the SCH-R880 source it seems feasible to use that kernel as a base for 2.6.32 on the Jet. We would just need someone to work on the neccessary changes. In case anyone want's to look at it: I uploaded the kernel source to our repo.

Cheers,
Dopi
Ad banners support the JetDroid forum. Please consider clicking them once in a while.
User avatar
Dopi
Dev Team
Dev Team
 
Posts: 926
Joined: Sun Aug 22, 2010 9:47 pm


Return to JetKernel

Who is online

Users browsing this forum: No registered users and 2 guests

  • Advertisement
cron