I've got a Beaglebone A3 setup to load the Arago kernel via TFTP and NFS-mounted root FS hosted from my Ubuntu 11.10 box.
When I ran the setup scripts for getting Code Composer and the other various environment stuff setup, the source code for Linux also got installed here:
~/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk
While exploring around, I located an environment setup script in ~/ti-sdk-am335x-evm-05.03.00.00/linux-devkit/environment-setup along with a readme indicating to run that script "sourced" in order to configure my shell for compiling ARM code, not native x86 code. So I did that and it changed my shell prompt, I guess to further indicate the environment was modified.
I also located 2 possible Makefile files that could be the one I need to run. The one I assumed I would need to run is the one right in the root of the Linux Source at:
~/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk/Makefile
However when I run make from that directory (no arguments), I get to a point in the make script where I'm being asked to choose a processor, however all the processors listed are x86 Intel architecture processors, not ARM. Looking in the makefile, I see I need to add the ARCH= argument although I don't see any obvious build options using $(ARCH) that look like they would be for ARM. But I try it anyway, and no surprise I get:
[linux-devkit]:~/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk> make ARCH=ARM
Makefile:567: /home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk/arch/ARM/Makefile: No such file or directory
make: *** No rule to make target `/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk/arch/ARM/Makefile'. Stop.
The other Makefile I found to try running is in the ~/ti-sdk-am335x-evm-05.03.00.00 directory. So I tried running it just to see what it did. Here is the results of its execution:
[linux-devkit]:~/ti-sdk-am335x-evm-05.03.00.00> make
=================================
Building the Linux Kernel
=================================
make -C /home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk ARCH=arm CROSS_COMPILE=/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- tisdk_am335x-evm_defconfig
make[1]: Entering directory `/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk'
#
# configuration written to .config
#
make[1]: Leaving directory `/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk'
make -C /home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk ARCH=arm CROSS_COMPILE=/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- uImage
make[1]: Entering directory `/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk'
scripts/kconfig/conf --silentoldconfig Kconfig
make[1]: Leaving directory `/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk'
make[1]: Entering directory `/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk'
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[2]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
MKELF scripts/mod/elfconfig.h
scripts/mod/mk_elfconfig: 1: Syntax error: word unexpected (expecting ")")
make[3]: *** [scripts/mod/elfconfig.h] Error 2
make[2]: *** [scripts/mod] Error 2
make[1]: *** [scripts] Error 2
make[1]: Leaving directory `/home/cgrey/ti-sdk-am335x-evm-05.03.00.00/board-support/linux-3.0+3.1-rc8-psp04.06.00.02.sdk-psp04.06.00.02.sdk'
make: *** [linux] Error 2
Have I done something incorrect or out of order at this point? Or are there other arguments I need to be including to get this to build correctly?
Once I get this to compile correctly, I'm assuming I'll have a bin file that is the kernel that I will need to move to my /tftpboot directory. Where will that file reside? And is there a way to configure an install target to know to place that file automatically into the /tftpboot directly automagically?