summaryrefslogtreecommitdiff
path: root/schulung_tools
AgeCommit message (Collapse)Author
2019-02-15schulung_tools: hellodriver: relocate and minimize kernel build patchJohn Ogness
There is no reason the the kernel build patch needs to duplicate the entire hello driver. Just show the parts relating to kbuild integration. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-15schulung_tools: hellodriver: add patches for use with ledsJohn Ogness
These patches are based heavily on the work by Manu to make the driver lessons more interesting. Rather than create a new driver, I took his work and created a series of patches that do interesting modifications to the hello driver. These patches can be used together with the "leds" program to do live blinking demonstrations. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-15schulung_tools: hellodriver: update patch-add-sysfsJohn Ogness
Since hello.c changed, the patch for adding custom sysfs files needed to be updated. While at it, make the patch into a form that can be used with "git am". Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-15schulung_tools: hellodriver: cleanup codeJohn Ogness
- add SPDX license identifier - cleanup goto target names - remove an obsolete setting of owner to THIS_MODULE - update the module version Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-15schulung_tools: hellodriver: set to find Debian kernel buildJohn Ogness
The default build directory needed manual adjustment when the driver was to be built. Change it to use the Debian build path so this driver can be built immediately for the native Debian system without any changes. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-15schulung_tools: leds: add Qt leds application for hostJohn Ogness
The leds application runs on the host and is used to simulate PCI hardware with 3 LEDs. See the README for information about how to build and use it. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-14schulung_tools: matrix: add instructions counterJohn Ogness
The amount of instructions should be the same regardless what method you use (1 or 2) but the cache misses will be very different. Looking at these statistics side by side clearly illustrate the problem. Update the README to also include the instruction count. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-01ipc_tcp: fix output message in senderJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-01ipc_tcp: add tcpdump commands to READMEJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-02-01ipc_tcp: add new ipc example using loopback socketsJohn Ogness
This demo should (hopefully serve) as a basis for overlaying pcap and ftrace data within trace compass. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-01-28schulung_tools/notes add some kernel notesManuel Traut
they should be converted to a 'Kernel API' slideset. Signed-off-by: Manuel Traut <manut@linutronix.de>
2019-01-28schulung_tools: add klist kernel moduleManuel Traut
this module can be used to show the usage of klist Signed-off-by: Manuel Traut <manut@linutronix.de>
2019-01-28add a zombie exampleManuel Traut
To show that processes become zombies if you don't wait. Also show that init becomes the father of your zombies if the original father dies. Signed-off-by: Manuel Traut <manut@linutronix.de>
2019-01-28add a malloc exampleManuel Traut
it demonstrates that memory is only allocated if used. Signed-off-by: Manuel Traut <manut@linutronix.de>
2019-01-28linking: move text docs out of Makefile exampleJohn Ogness
The text docs are general references showing how to build, link, and verify dynamic libraries and executables. They are not specific to any build system. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-01-28linking/hello: fixup MakefilesJohn Ogness
It is good to have Makefile and autotool versions for compare. But the Makefiles should not be intentially horrible. Clean them up to the level that we teach in the training. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-01-28add examples for dynamic linking / loadingManuel Traut
one example by doing it manually with an ugly Makefile, another one by using autotools. Signed-off-by: Manuel Traut <manut@linutronix.de>
2019-01-11notes: tcf-agent: update CC, add info about dependencies and portJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-01-11schulung_tools: matrix: add more details to READMEJohn Ogness
mention some other usage of perf to track done the problem [Reformatted by jogness] Signed-off-by: Manuel Traut <manut@linutronix.de> Signed-off-by: John Ogness <john.ogness@linutronix.de>
2019-01-09notes: howto-eclipse-yocto: update versions to thudJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-12-11yocto own layer: fix misspelled pinguinJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-11-21layer-building/yocto: update tarball script for thudJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-11-21layer-building/yocto: add a start script for vexpressJohn Ogness
I include this start script in /home/prebuilt so that schulung participants can easily start the vexpress board. NOTE: It expects to be run from the build directory, typically /home/devel/yocto/build/vexpress Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-11-21layer-building/yocto: switch to thudJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-11-21meta-schulung: add thud support, create separate branchesJohn Ogness
The meta-schulung.bundle now includes separate branches depending on the poky release. This was necessary because thud introduced a new busybox dependency (virtual/crypt). One nice feature of this splitting is that it is very easy to see how the layer changes over poky versions by diffing the branches. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-11-02layer-building: add scripts to automatically build yocto layersJohn Ogness
The yocto training requires a lot of data to be prebuilt/downloaded (about 15GB). These scripts can be used to automatically download/prebuild all that data and create the various layer tarballs. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-09-28hello driver: add x86 supportJohn Ogness
Supporting x86 allows us to quickly show the hello driver in action directly from the x86 trainer image. It also shows how platform devices can be added on architectures that do not support device trees. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-09-14schulung-tools: meta-schulung: fix commentsJohn Ogness
In the comments, the bitbake commands for menuconfig and diffconfig were incorrect. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-09-14schulung-tools: add git bundle for meta-schulung creationJohn Ogness
It is nice to have a finished layer for trainers to use as a reference when helping participants to create their own layer. However, there are files that are modified multiple times during the creation process. For this reason a git bundle is added so that trainers have a step-by-step procedure for guiding participants during layer creation. Each commit is a step, documented for the trainer. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-09-13notes: add linux-build-targetsJohn Ogness
Describes the main targets, files, and procedure dealing with building kernels. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-08-31tcf-agent: add HOWTO for downloading/buildingJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-08-03fastboot: add notes from previous schulungenJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-07-11tools: ipc-shm: better use syscalls events instead of raw eventsKurt Kanzenbach
It's much simpler to have syscall names instead of numbers in traces. Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
2018-07-06linutronix_cmdref: add ln and ctrl+rJohn Ogness
The "ln" tool is needed for the basic schulung. Add it to the command reference handout. Since adding something to the left column creates empty space in the right column, use that to add a reference to ctrl+r (searching the shell history). This is a feature that is always asked about during the schulung. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-07-06basic-intro.pdf: add LibrePlan fileJohn Ogness
An older version of this file was in the devel/jogness branch. We do not want trainers digging around in the devel/jogness branch. And since this file is still considered useful, put the latest version in the master branch. NOTE: This needs to be converted to LaTeX at some point! Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-07-06eclipse-notes: update debug connection info, add yocto variantJohn Ogness
It is much easier to use tcf-agent with eclipse and cross-remote debugging. Since local plugin-mirrors and yocto instructions are now available, update the documents to reflect this. Using the old method (with ssh) probably still works, but is definitely more work to get setup on the target. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-06-21schulung_tools: ipc_shm: use perf for uprobesJohn Ogness
Rather than manually determining and setting the uprobes, use perf to do it. This allows for the README to become a generic script that can run out-of-the-box to create the trace. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-06-21preempt-rt notes: update kernel, fix config typoJohn Ogness
Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-04-05add rootfs_basic scriptsJohn Ogness
These scripts are provided to participants after the training to allow them to quickly/easily reproduce the many steps of creating a simple root filesystem from scratch. These scripts also serve as an excellent reference for trainers to follow during the live excercises. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-04-05add eclipse and preempt-rt notesJohn Ogness
These are notes that may be helpful for trainers when preparing for a schulung. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-02-23mtrace: force PIEJohn Ogness
In case it is run on a system where PIE is not the default, explicitly set for the binary to be built as PIE. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2018-02-20tools: add ipc dbus exampleJohn Ogness
2018-02-20tools: rename 'rtex' tool to 'pgflt'John Ogness
The rtex tool only demonstrates prefaultingn to avoid runtime page faults. It makes more sense to call it pgflt. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2017-12-19schulung_tools: add various demos and toolsJohn Ogness
Different tools have been used by various trainers as demos. Put all these into master so they are available to all trainers. ipc_pipe: ipc demo using pipes ipc_shm: ipc demo using shared memory libduma: source and instructions for compiling libduma matrix: demo of good and bad cache access mtrace: patch and infos for using mtrace with ASLR rtex: demo of handling page faults Signed-off-by: John Ogness <john.ogness@linutronix.de>
2017-12-19import drivers from devel/jognessJohn Ogness
Simple drivers for use in the Linux Advanced schulung were only available in the devel/jogness branch. Push them to master so they are easily accessible to any trainer. Signed-off-by: John Ogness <john.ogness@linutronix.de>
2017-01-05handouts from 2016-04-13 linux basic schulungJohn Ogness