I did this years ago. From what I can find, I believe this is how you get this done:
sudo apt-get build-dep libasound2 apt-get source libasound2 cd alsa-lib-1.0.22/ export DEB_BUILD_OPTIONS=nostrip,noopt dpkg-buildpackage -rfakeroot -uc -us After that, you will have some *.deb files created, which can be installed using: dpkg -i libasound*.deb The you have to do the same with alsa-tools. Regards, John > On Apr 6, 2016, at 6:44 PM, Rick Mann <rm...@latencyzero.com> wrote: > > That looks like something that would be useful to figure out how to do. The > only part that's not immediately clear is "rebuild the entire ALSA library > and tools with debug symbols. Also, your Kernel must have debug symbols > turned on." > > Can I do this with RCN's kernel build script setup? > > Thanks. > >> On Apr 6, 2016, at 18:05 , John Syne <john3...@gmail.com> wrote: >> >> OK, so you have to rebuild the entire ALSA library and tools with debug >> symbols. Also, your Kernel must have debug symbols turned on. You will need >> to enable various ftrace features with make config. Here is a typical script >> I use to capture program flow. >> >> >> === >> #!/bin/bash >> set -x >> >> pause() { >> local dummy >> read -s -r -p "Press any key to continue..." -n 1 dummy >> } >> >> echo function_graph > /sys/kernel/debug/tracing/current_tracer >> #echo function > /sys/kernel/debug/tracing/current_tracer >> echo 100000 > /sys/kernel/debug/tracing/buffer_size_kb >> echo function-trace > /sys/kernel/debug/tracing/trace_options >> echo latency-format > /sys/kernel/debug/tracing/trace_options >> echo graph-time > /sys/kernel/debug/tracing/trace_options >> echo funcgraph-tail > /sys/kernel/debug/tracing/trace_options >> echo funcgraph-proc > /sys/kernel/debug/tracing/trace_options >> echo funcgraph-abstime > /sys/kernel/debug/tracing/trace_options >> #echo __do_fault > /sys/kernel/debug/tracing/set_graph_function >> echo 1 > /sys/kernel/debug/tracing/tracing_on >> >> #Insure modprobe statements here if you want to trace the kernel module at >> startup >> >> aplay command >> >> #Uninstall Kernel module here >> >> echo 0 > /sys/kernel/debug/tracing/tracing_on >> >> #cat /sys/kernel/debug/tracing/trace_pipe |grep <filter term> | grep -v >> "<remove first term>" | grep -v "<remove second term>" > test-trace.txt >> #cat /sys/kernel/debug/tracing/trace_pipe | sed -n '/<term>/p' | sed >> '/<remove line term>/d' > test-1-trace.txt >> cat /sys/kernel/debug/tracing/trace_pipe > test-2-trace.txt >> === >> >> Place this script in your BBB /home/debian folder, then as root, execute >> ./trace.sh >> >> Finally, I index the entire linux kernel using a variation of these >> instructions: >> >> https://wiki.eclipse.org/HowTo_use_the_CDT_to_navigate_Linux_kernel_source >> >> To speed things up, you must filter out all the code from other processor >> architectures and drivers you don’t use. >> >> Now I can ctrl click on any term to trace the flow I get from ftrace. For >> something this complex, I tend to diagram the flow with a mind map or >> something similar. The visual layout helps me understand the framework >> architecture. >> >> Regards, >> John >> >> >> >> >>> On Apr 6, 2016, at 5:45 PM, Rick Mann <rm...@latencyzero.com> wrote: >>> >>> >>>> On Apr 6, 2016, at 16:53 , Peter Hurley <pe...@hurleysoftware.com> wrote: >>>> >>>> If this is a latency problem, ftrace is probably your best bet, but >>>> function_graph and the other tracers can induce even more latency. >>> >>> Nothing so esoteric. I'm just trying to get the damn thing to work at all. >>> It's worked in previous kernels, but not in the latest. Seeing what code >>> gets executed will help a lot. But I'm currently stuck with the default >>> diagnostics available (e.g. "Unable to set hw params for playback: Invalid >>> argument" NOT HELPFUL). >>> >>> In the past, when I spent so much time with printk, I was trying to >>> understand how all the modules worked together to actually configure and >>> drive the CODEC. I found that to be virtually impossible to do in any >>> comprehensive way, not already understanding it. Can't use printk() if you >>> don't know where to put it. >>> >>> >>> -- >>> Rick Mann >>> rm...@latencyzero.com >>> >>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> --- >>> You received this message because you are subscribed to the Google Groups >>> "BeagleBoard" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to beagleboard+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >> >> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to beagleboard+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > > -- > Rick Mann > rm...@latencyzero.com > > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to beagleboard+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.