[lttng-dev] Reg: LTTNG Support for arm64 based k3-am654 board

Jonathan Rajotte-Julien jonathan.rajotte-julien at efficios.com
Wed Mar 17 11:11:30 EDT 2021


Hi,

On Wed, Mar 17, 2021 at 01:43:59PM +0000, Vadivel, Arulpandiyan via lttng-dev wrote:
> Hi Team,
> 
>     We are working on the Texas Instrument's K3-am654 board(ARM64 based), on
>     4.19.165-cip41 RT and Non-RT kernel. We would like to have the lttng
>     support on the board. Hence I have added below configurations.  With these
>     configurations enabled I am not able to access the console itself and
>     kernel stuck at Starting kernel itself as below.  Further we have added
>     earlycon to debug the early console.  Bootargs given below. With these
>     earlycon option also we are still stuck at  Starting kernel  itself.
> 
> 
> Could you please help me to understand below queries,
> 
>   *    Do we have the support of lttng for TI's K3-am654 board?

EfficiOS inc. offers commercial support for such specific cases. Please
contact us at sales at efficios.com.

We do perform an overall effort for arm32/64 support but if you need support for
a specific board, commercial support is the way to go.

>   *    Or did we miss something in the kernel?

I would say that you might have bitten off more than you can chew.

First, remove lttng from the equation. Make sure you get back to a working
state (kernel is booting).

Then add the options that lttng-modules depends on but do not touch at lttng just
yet.

Based on your previous message that should look like this, please validate
against the README of the version you are trying to use [1]:
  CONFIG_KPROBES=y
  CONFIG_PERF_EVENTS=y
  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
  CONFIG_EVENT_TRACING=y
  CONFIG_KRETPROBES=y
  CONFIG_KALLSYMS=y
  CONFIG_KALLSYMS_ALL=y
  CONFIG_HIGH_RES_TIMERS=y
  CONFIG_TRACEPOINTS=y
  CONFIG_FTRACE=y
  CONFIG_FUNCTION_TRACER=y

[1] For example for 2.12: https://github.com/lttng/lttng-modules/blob/stable-2.12/README.md

Then you make sure that you can boot your kernel. Let me reiterate that at this
point there is NO presence of lttng at any build steps of the process.

Then, when you have a booting kernel with the necessary dependency, you can
build lttng-modules, as modules, against your kernel tree [3], tarball them, and deploy them
on the target (under /lib/modules/$(uname -r)/....). Then you try to load them
using lttng-sessiond in verbose mode and even try to trace some kernel stuff. 

[2] Note that since you are probably in a cross compilation scenario this will
    be a bit more complex then simply following
    https://github.com/lttng/lttng-modules/blob/stable-2.12/README.md#building

When this works, you can stop there or if you want you can bake-in the modules
directly into the kernel compilation steps following this [3].

[3] Again for 2.12: https://github.com/lttng/lttng-modules/blob/stable-2.12/README.md#kernel-built-in-support

And as always if you succeed or fail (and that it is related to lttng...),
please come back and tell us what happened on the mailing list so that others in
a similar situation might find some piece of valuable information.

Cheers


-- 
Jonathan Rajotte-Julien
EfficiOS


More information about the lttng-dev mailing list