| Age | Commit message (Collapse) | Author |
|
Use the latest thud stable and also cleanup the scripts a bit so
that it is easier to update the version in the future.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
meta-schulung does not include building u-boot. However, building/running
u-boot with qemu is quite easy. Add a mini howto with the steps to help
the trainer quickly demonstrate u-boot.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Add the application after creating the layer. This allows the
participants to see the minimal efforts needed to create their
own applications. The layer can be used with any machine (for
example, the qemux86 machine that the participants had already
been working with).
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
There were an unnecessary number of events that were captured.
Only capture the ones that are truly interesting. And add the
irq vector.
Also, add some description to the significance of the events.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
On a machine with few CPUs, these tests could trigger RT
throttling.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
A very simple demo that shows the full chain of events from
sys_nanosleep_enter to sys_nanosleep_exit. (For the IRQ
calculations use expires= and now= from the hrtimer events.)
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
A more complex but cleaner implementation of retrieving/printing
the stats has been implemented. The implementation is put into
a separate stats.c file so that the main program (malloc.) can
be easily reviewed to see what the program is doing.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
This is a set of tests to compare the scheduling using various
policies and priorities.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
It is an initramfs, not an initrd. So name it so.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
This text document goes through examples of how to use the
uio_pdrv_genirq driver for UIO drivers. It covers the device tree
entries for various scenarios as well as userspace code using
libuio to access/map the devices.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
There are some big differences between initrd and initramfs. This
text document lists them and the advantages/disadvantages.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
The knowledge base article does a much better job of explaining
this, but sometimes we just want a quick script to get things
going. This HOWTO is actually a script that goes from u-boot
source to running u-boot in qemu.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
There is no need for the extra directory level. Move all the
example modules to the parent "drivers" directory and delete
the modules directory.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
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>
|
|
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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
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>
|
|
they should be converted to a 'Kernel API' slideset.
Signed-off-by: Manuel Traut <manut@linutronix.de>
|
|
this module can be used to show the usage of klist
Signed-off-by: Manuel Traut <manut@linutronix.de>
|
|
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>
|
|
it demonstrates that memory is only allocated if used.
Signed-off-by: Manuel Traut <manut@linutronix.de>
|
|
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>
|
|
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>
|
|
one example by doing it manually with an ugly Makefile,
another one by using autotools.
Signed-off-by: Manuel Traut <manut@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
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>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
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>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
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>
|
|
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>
|
|
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>
|
|
In the comments, the bitbake commands for menuconfig and diffconfig
were incorrect.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
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>
|
|
Describes the main targets, files, and procedure dealing with building
kernels.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
Signed-off-by: John Ogness <john.ogness@linutronix.de>
|
|
It's much simpler to have syscall names instead of numbers in traces.
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
|
|
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>
|
|
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>
|
|
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>
|