Linux 3.1 + BeagleBoard-xM rev C

Hello!
I have serious problems with Linux kernel 3+ on "BeagleBoard-xM rev C"
and completely don't understand my steps to success...

My actions:
1) Got this file http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.bz2
(uncompressed and added to local mercurial repo for my convenience)
2) Got gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) and
export ARCH=arm
export CROSS_COMPILE=/home/.../arm-2011.03/bin/arm-none-linux-gnueabi-

3) Then .config from
http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-texasinstruments/tree/recipes-kernel/linux/linux-3.0/beagleboard/defconfig
4) manual apply all patches from
http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-texasinstruments/tree/recipes-kernel/linux/linux-3.0+3.1rc
with success, except one file, obvious fix
5) make xconfig
Default kernel command string:
console=ttyO2,115200n8 mpurate=auto buddy=none camera=lbcm3m1 vram=12M
omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi
root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
Kernel command line type = Always use the default kernel command
string
save & exit
then fix .config, some problems with xconfig - it save this line as 3
lines, which is wrong - make them in single line
6) make -j10 uImage - success
7) place to SD card, u-boot - uncompressing my kernel (I see it's
version 3.1+)

then system hangs up, LEDs stop blinking after
"Uncompressing Linux... done, booting the kernel."

What I'm doing wrong?

Wrong kernel version, wrong patches, config? .config points to
CONFIG_MACH_OMAP3_BEAGLE=y
but in xM rev C - processor is DM3730, not OMAP3530

I need my own kernel with my drivers and my parameters, 3.1 or at
least Linux 3.0.7/.0.8
Current patches, links, notes, comments - insane mix :smiley:

I found solution of this problem, it's a bug in compiler!
Then I tried this https://sourcery.mentor.com/sgpp/lite/arm/portal/release858
after reproduction of all listed above steps + gcc version 4.3.3
(Sourcery G++ Lite 2009q1-203) I got Linux kernel 3.1 loading on
BeagleBoard-xM rev C and mount rootfs ok.

Currently I have other sort of problems, in defconfig many necessary
modules missing, so I'm going to enable them and recompile again:

FATAL: Module dsplinkk not found.
FATAL: Module lpm_omap3530 not found.
FATAL: Module sdmak not found.
FATAL: Module omaplfb not found.
FATAL: Module bufferclass_ti not found.

I hope PowerVR has opensource kernel drivers... :slight_smile:

P.S.
IMHO level and style of support is quite inadequate, not supported in
mainline, strange patches, no defconfigs for beagle... or I missed
something important.

So, please, tell me, how can I help bleagleboard project? What I
should do to make beagleboard-xm rev C support in Linux 3.1+ (next
release) in "out of the box style":
1) just download from kernel.org
2) load defconfig arch/arm/configs for beagle
3) compile & run & enjoy of FULL 100% working kernel :slight_smile:

Finally, I solved all boot problems of Linux 3.1 kernel on
BeagleBoard-xM rev C by just using standard armel crosscompiler (gcc
version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)):
sudo apt-get install g++-arm-linux-gnueabi gcc-arm-linux-gnueabi
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-

I hope this advice about use of default Ubuntu's 11.10 cross-compiler
will be useful for somebody, it's was surprise for me to see it in
repos :slight_smile:

have you checked with the boot args,The kernel whic i am working is
3.0.1 so in the boot args and inittab change option from ttyS0 to
ttyO0