Topic: Chumby-specific kernel changes

Hi everyone,

I'd like to get a newer kernel running on the chumby and I figured a good first step was to identify the Chumby-specific changes to the 2.6.16 kernel so I'd know what to forward-port.

I couldn't find a chumby kernel repository (is there one?) so I cloned the official repo, created a new branch "v2.6.16-chumby-1.6.0", and replaced all the files with the source tarball from http://files.chumby.com/source/. I then committed and did a diff against the upstream v.2.6.16 tag.

The diff was much bigger than I'd expected: 59,844 lines!

Looking at the diffstat, almost all the changes are in arm/embedded-related code... but I assume they're not all just for the Chumby. Where did this kernel come from (hardware vendor?) and has anyone been maintaining these changes in newer kernel versions?

Other than the obvious drivers named chumby_accel, chumby_sense1, etc. does anyone know what changes (other than config) a mainline kernel needs to work properly on the Chumby? Has anyone succeeded in booting a newer kernel?

Thanks!

Re: Chumby-specific kernel changes

The original kernel came from Microcross - at the time, it was the one recommended by Freescale for use on the iMX21.  I suspect most of the changes you see were by them.

We made substantial modifications to the USB subsystem to support isochronous transfers, the rt73 driver, and, of course, our own drivers.

Re: Chumby-specific kernel changes

Hey thanks for the reply,

Good to know where that kernel came from, I'll check to see if they have a newer version.

Do you know if the latest linux kernel now has compatible usb/wireless drivers? Have you guys ported your fixes to any newer kernels or does this still need to be done?

Thanks!

Re: Chumby-specific kernel changes

We're experimenting with newer kernels, but some of the changes will need to be carried forward.

We haven't made the decision yet whether to switch the production release to a newer kernel.  In embedded systems, the goal is typically stability, not keeping up to date, all else being equal - ie. if it ain't broke, don't fix it.  Many embedded devices out there still run Linux 2.4 for that reason. Most newer Linux kernels have been about adding support for things that aren't relevant for embedded devices.

Re: Chumby-specific kernel changes

I completely understand the desire to keep the kernel as is.

I'm personally interested in trying a few things not available in the current version, and I thought it'd be worth asking what's already been done so I don't end up re-inventing the wheel. If you can share any information about which changes need to be carried forward and/or a kernel config that would be awesome, otherwise I'll get something going through trial-and-error.

Thanks!

Re: Chumby-specific kernel changes

Hi FireRabbit,
I'm also interested in getting a newer kernel version to run (to eventually try to port android).
Are there any news since your last post?

Cheers,
Jan

Re: Chumby-specific kernel changes

Hi,
recent mainlline kernels (2.6.30+) have basic support for the MX21.
Currently supported:
   * Basic SoC
   * Serial ports
   * Frambuffer

I have submitted the USB driver and it is currently in linux-next (which means it should hit mainline in 2.6.34)

I don't yet have a chumby myself but will soon be getting one and will probably look at and submit anything missing for mainline - as this is generally available hardware it would be very nice to have a standard in tree defconfig.


Cheers

Martin