Building kernels

Okay…so I’m new to a lot of this stuff and the learning curve is catching up.

I’m trying to build a kernel based on the patchs put together by Robert and Koen @
https://github.com/beagleboard/kernel.git

I’ve pulled it down and run the script which looks like it has patched the mainline kernel it cloned.
So my problem is that the config file it seems to be using is for my ubuntu/x86
Obviously I need to cross-compile and use a proper config file…but I’m not sure where to start.

Notes to self, i should probably add a "build.sh" as people are
starting to use that tree for it..

But the basic's.. First copy the defconfig (depending on branch it's
usually /patches/<board>/defconfig ) to the kernel directory as
.config..

Next run in kernel dir..

make ARCH=arm CROSS_COMPILER=<locationg of arm-gcc> uImage modules

Regards,

Thanx Robert…you are the man !

root@silver:~/Project/kernel# make ARCH=arm CROSS_COMPILER=arm-linux-gnueabi-gcc uImage modules
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h’ is up to date.
CC kernel/bounds.s
cc1: error: unrecognized command line option ‘-mlittle-endian’
cc1: error: unrecognized command line option ‘-mno-thumb-interwork’
cc1: error: unrecognized command line option ‘-mthumb’
kernel/bounds.c:1:0: error: unknown ABI (aapcs-linux) for -mabi= switch
kernel/bounds.c:1:0: error: bad value (armv5t) for -march= switch
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
root@silver:~/Project/kernel# arm-linux-gnueabi-gcc
arm-linux-gnueabi-gcc: fatal error: no input files
compilation terminated.

I’ve run it with a few different ways and I get the same.

Ahh sorry, my bad...

"CROSS_COMPILE=" drop the "R"...

Regards,

I just don’t have enough experience to pick up on these things…soon.
Thnx…compiling

Having some problems with the pm firmware…downloading the TI sdk in hopes of resolving it.

MK_FW firmware/am335x-pm-firmware.bin.gen.S
make[1]: *** No rule to make target firmware/am335x-pm-firmware.bin', needed by firmware/am335x-pm-firmware.bin.gen.o’. Stop.
make: *** [firmware] Error 2

At the end of `make uImage`, do you get a nice summary like this?

Image Name: Linux-3.2.16-12321-g8817669
Created: Fri May 18 09:42:30 2012
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2227096 Bytes = 2174.90 kB = 2.12 MB
Load Address: 0x80008000
Entry Point: 0x80008000
  Image arch/arm/boot/uImage is ready

If not, then it didn't complete. If you use `make -j5` or similar, you
may have to scroll up a bit to find the failure.

-Andrew

The script doesn't take care of the firmware yet..

You can download it from here:

http://arago-project.org/git/projects/?p=am33x-cm3.git;a=tree;f=bin;h=dc6e79180b8c468832e684d631818af31448bd81;hb=HEAD

Just copy it to the firmware directory and rebuild..

Regards,

i also faced the same problem.

that is the problem with setting cross compiler path .

make sure that u have set correct tool chain path. otherwise u will get this problem.

use below command to to check path has been set or not.

ramesh$ echo $PATH
/home/mramesh/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/mramesh/tizen-sdk/tools:/home/mramesh/mydroid/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/

each variable path was seperated by :