[meta-ti] Buidling for am335x_evm
Denys Dmytriyenko
denys at ti.com
Thu Oct 3 22:33:54 PDT 2013
Rudi,
On Thu, Oct 03, 2013 at 09:41:38PM -0700, Rudolf Streif wrote:
> I tried to build a system for the AM335x_EVM board using the meta-ti layer
> with YP 1.4.2 Dylan. Here are the steps:
>
> 1. Clone meta-ti layer
> 2. Check out dylan branch
> 3. Set up build environment, add meta-ti layer
> 4. Set MACHINE = "am335x_evm"
It should be dash in there, not underscore. Although it gets converted
internally anyway...
> 5. bitbake -k core-image-minimal
>
> Everything builds, put on target, u-boot comes up, hangs at "Starting Linux
> kernel...". Most likely machine type mismatch. Start digging around:
Most likely u-boot couldn't find your DTB - did you put one in the /boot of
rootfs? Didn't u-boot complain about it? Should have been an error message.
> 1. The am335x_evm.conf machine configuration includes the ti33x.inc file.
> 2. ti33x.inc sets
> PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
> PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
> PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
BTW, if you are not comfortable with 3.12-rc being unstable, you can also add
to your config:
PREFERRED_VERSION_linux-ti-staging = "3.8%"
> 3. The build process uses linux-ti-staging_git.bb and configures the
> kernel using the defconfig found in the llnux-ti-staging subdir.
> Content: use-kernel-config=omap2plus_defconfig. Why would I want to
> configure the Sitara SOC with an OMAP defconfig?
It's called OMAP2+ and that's how kernel folks decided to call a consolidated
config for most if not all TI platforms. Gone are the times when each platform
had it's own config file - kernel folks don't allow that anymore. Anyway,
omap2plus is the right defconfig.
> 4. Checking kernel build environment
> in tmp/work/am335x_evm-poky-linux-gnueabi/linux-ti-staging/3.11+3.12-rc3-r19a+gitrAUTOINC+f7579525de9f1d6086c407a6980f4f1c1c574256/git.
> From SRCREV it seems to be a 3.11/3.12 kernel:
Yes, it's 3.12-rc3
> 1. Check arm/arch/tools/mach-types: found:
> tam335x MACH_TAM335X TAM335X
> 4116
> Expected to find
> am335xevm MACH_AM335XEVM AM335XEVM
> 3589 as it was for the 3.2.32 kernel.
I'm not sure what you are looking for, but there are many differences between
3.2, 3.8 and 3.12
> 2. Check arm/arch/configs for am335x_evm_defconfig which does not
> exist. Expected to see an am335x_evm_defconfig as found it in a 3.2.32
> kernel.
See above - you won't find it any more, as it's not allowed any more by kernel
policies to have million different defconfigs. As you can see, the entire
arch/arm/configs directory is very scarce these days - all omaps were
consolidated and new SOCs are added to existing defconfigs, where applicable.
> 5. Checking u-boot build environment which uses, as expected, the
> am335c_evm configuration which sets the machine type to 3589.
>
> I may be missing something but it looks to me as if the layer is broken for
> building for the AM335X_EVM target machine.
No, it's not broken, it's just quite different from 3.2 days.
--
Denys
More information about the meta-ti
mailing list