Jump to content

Start work on kernel update


Guest xangma

Recommended Posts

Hi all,

I've really been getting into developing for android at the moment. Now we've finally got the source, we should be able to do what we want with the device. I know we should just wait to see what happens with the companies developing for the device, but I don't want to wait. I like doing it myself =P

So! After reading some of the documentation in the pulse source ... i've come to a couple of conclusions, and correct me if I'm wrong.

  • To get 2.0 working (even a stock system.img as I have created) we will need to update/patch the kernel from 2.6.27 to 2.6.29 at least (maybe). I think we can do this by using all of the documentation ... for example, in 'applying-patches.txt' it states:

    What is a patch?
    
    ---
    
     A patch is a small text document containing a delta of changes between two
    
    different versions of a source tree. Patches are created with the `diff'
    
    program.
    
    To correctly apply a patch you need to know what base it was generated from
    
    and what new version the patch will change the source tree into. These
    
    should both be present in the patch file metadata or be possible to deduce
    
    from the filename.


  • Logcat will help us out loads. For example, these threads here: Thread 1 and Thread 2


  • I don't really know why I put bullet points as I don't really have much else to say.

So what does everyone know about this? Surely enough brains put together can do it?

Edited by xangma
Link to comment
Share on other sites

A good starting point would be to diff the kernel source against the stock kernel but be warned, converting the patches to 2.6.29 is a non-trivial task!

P

I will do that later on tonight hopefully depending on what time I get back. Why do you say that? What advice can you give? =P

EDIT:

I've also found this: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/

It has a file called: patch-2.6.29.gz in it. I'm intrigued =]

Edited by xangma
Link to comment
Share on other sites

Guest teknologist
I've not done a massive amount of kernel stuff, so there are probably others here more qualified than me to offer advice! :D

P

Don't know for the Pulse but I can tell you as for Hero, the HTC Hero kernel has a massive amount of changes compared to the android-msm kernel (Hero board specifics,devices etc.).

On my side, I'd rather wait for HTC's 2.6.29 sources... to start playing with a 2.6.29 for Hero... ;-)

Good luck with the Pulse anyway !

If you want advice catch me on twitter @teknologism I may be able to help you...

Edited by teknologist
Link to comment
Share on other sites

Guest teknologist
I will do that later on tonight hopefully depending on what time I get back. Why do you say that? What advice can you give? =P

EDIT:

I've also found this: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/

It has a file called: patch-2.6.29.gz in it. I'm intrigued =]

That is a patch against the generic linux kernel sources, android kernel is a bit different...

Link to comment
Share on other sites

Guest martinbrook
Hi all,

I've really been getting into developing for android at the moment. Now we've finally got the source, we should be able to do what we want with the device. I know we should just wait to see what happens with the companies developing for the device, but I don't want to wait. I like doing it myself =P

So! After reading some of the documentation in the pulse source ... i've come to a couple of conclusions, and correct me if I'm wrong.

  • To get 2.0 working (even a stock system.img as I have created) we will need to update/patch the kernel from 2.6.27 to 2.6.29 at least (maybe). I think we can do this by using all of the documentation ... for example, in 'applying-patches.txt' it states:

    What is a patch?
    
     ---
    
      A patch is a small text document containing a delta of changes between two
    
     different versions of a source tree. Patches are created with the `diff'
    
     program.
    
     To correctly apply a patch you need to know what base it was generated from
    
     and what new version the patch will change the source tree into. These
    
     should both be present in the patch file metadata or be possible to deduce
    
     from the filename.


  • Logcat will help us out loads. For example, these threads here: Thread 1 and Thread 2


  • I don't really know why I put bullet points as I don't really have much else to say.

So what does everyone know about this? Surely enough brains put together can do it?

Hi,

This is where I wanted to get to with my Pulse development so far a chance to do some Kernel programming. I have done some diffs allready between the msm stock kernel and the pulse one and as mentioned earlier there are a significant number of changes. I'm going to treat it as a learning exercise so if I don't get there then I still may have learned something usefull.

Hopefully the group can also be working the rest of the android stack to allow us to run 1.6 or 2.0 if we get a 2.6.29 kernel.

Link to comment
Share on other sites

Guest teknologist
Hi,

This is where I wanted to get to with my Pulse development so far a chance to do some Kernel programming. I have done some diffs allready between the msm stock kernel and the pulse one and as mentioned earlier there are a significant number of changes. I'm going to treat it as a learning exercise so if I don't get there then I still may have learned something usefull.

Hopefully the group can also be working the rest of the android stack to allow us to run 1.6 or 2.0 if we get a 2.6.29 kernel.

Good luck on your adventure!

Feel free to tweet me if you have any questions!

Cheers!

Link to comment
Share on other sites

Hi,

This is where I wanted to get to with my Pulse development so far a chance to do some Kernel programming. I have done some diffs allready between the msm stock kernel and the pulse one and as mentioned earlier there are a significant number of changes. I'm going to treat it as a learning exercise so if I don't get there then I still may have learned something usefull.

Hopefully the group can also be working the rest of the android stack to allow us to run 1.6 or 2.0 if we get a 2.6.29 kernel.

Wow fair enough, how far have you got? Have you got Diff change logs? And what's the next step? Instead of starting on my own I guess we should be working together =]

Link to comment
Share on other sites

Guest martinbrook
Wow fair enough, how far have you got? Have you got Diff change logs? And what's the next step? Instead of starting on my own I guess we should be working together =]

I'm doing more differencing this weekend between the pulse 2.6.27, the stock msm 2.6.27 and the stock msm 2.6.29 to see if I can make a list of change areas. We will have AT LEAST the following classes :-

pulse vs 1.5 msm (differences made to kernel to support pulse hardware/(software?)

msm 1.5 vs msm 1.6 (general differences made to kernel, plus android specific)

Hopefully I will come out with a list of change areas which can be done by different people.

Remember I have the pulse repository at gitorious if you want to make a clone.

I also want to get an idea of what 1.6 or 2.0 required from the kernel and if we can provide an evolutionary path of development and testing. ie boot a barebones 1.6 image no hardware, boot an image with radio, boot an image with gps etc.

Martin

Link to comment
Share on other sites

  • 2 weeks later...

I know this is quite an old thread, but I had a first stab at building eclair for the pulse. Of course at the time I didn't realise 2.0 required 2.6.29 and it didn't boot. It did get far enough to start up adbd so here's the world's shortest logcat of my pulse trying to boot eclair:

I/DEBUG   (  987): debuggerd: Dec 17 2009 17:55:46 

I/vold	(  986): Android Volume Daemon version 2.0 

I//system/bin/sh(  984): /system/bin/sh: Can't open /system/bin/a2sd 

I/logwrapper(  984): /system/bin/sh terminated by exit(2) 

I/vold	(  986): New MMC card '00000' (serial 1974431238) added @ /devices/platform/msm_sdcc.1/mmc_host/mmc0/mmc0:0001 

I/vold	(  986): Disk (blkdev 179:0), 3964928 secs (1936 MB) 2 partitions 

I/vold	(  986): New blkdev 179.0 on media 00000, media path /devices/platform/msm_sdcc.1/mmc_host/mmc0/mmc0:0001, Dpp 2 

I/vold	(  986): Partition (blkdev 179:1), 3451141 secs (1685 MB) type 0x6 

I/vold	(  986): New blkdev 179.1 on media 00000, media path /devices/platform/msm_sdcc.1/mmc_host/mmc0/mmc0:0001, Dpp 1 

I/vold	(  986): Partition (blkdev 179:2), 512064 secs (250 MB) type 0x83 

I/vold	(  986): New blkdev 179.2 on media 00000, media path /devices/platform/msm_sdcc.1/mmc_host/mmc0/mmc0:0001, Dpp 0

I'm now going to start looking at the differences between the relevant kernels and, like everything in this project, it will be entirely new for me..

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.