diff --git a/README.md b/README.md
index d591e4e..9e31679 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,24 @@
 # rt-validation
 
-Containers to validate real-time (PREEMPT_RT) support in TorizonCore
\ No newline at end of file
+Containers to validate real-time (PREEMPT_RT) support in TorizonCore
+
+
+# Build containers (on target machine)
+
+For armhf:
+```
+docker build -t torizon/rt-validation-stress stress-tests
+docker build -t torizon/rt-validation-rt rt-tests
+```
+
+For arm64:
+```
+docker build --build-arg IMAGE_ARCH=linux/arm64 -t torizon/rt-validation-stress stress-tests
+docker build --build-arg IMAGE_ARCH=linux/arm64 -t torizon/rt-validation-rt rt-tests
+```
+
+
+# Run the tests (on target machine)
+
+docker run --rm -it --privileged -v /dev:/dev -v /tmp:/tmp -v /media/$USER/YOUR-USB-DISK-MOUNTPOINT:/mnt/pendrive torizon/rt-validation-stress
+docker run --rm -it --privileged -v /dev:/dev -v /tmp:/tmp torizon/rt-validation-rt
diff --git a/rt-tests/Dockerfile b/rt-tests/Dockerfile
new file mode 100644
index 0000000..27dddd4
--- /dev/null
+++ b/rt-tests/Dockerfile
@@ -0,0 +1,10 @@
+ARG IMAGE_ARCH=linux/arm
+# For IMX8 use IMAGE_ARCH=linux/arm64
+ARG IMAGE_TAG=1-buster
+FROM --platform=$IMAGE_ARCH torizon/debian:$IMAGE_TAG
+
+RUN apt-get update \
+    && apt-get install -y --no-install-recommends rt-tests \
+    && rm -rf /var/lib/apt/lists/*
+
+CMD ["cyclictest","-S","-p99","-i1000","-m","-D20m", "-q", "|", "tee", "cyclictest.log"]
diff --git a/stress-tests/Dockerfile b/stress-tests/Dockerfile
new file mode 100644
index 0000000..8b6e034
--- /dev/null
+++ b/stress-tests/Dockerfile
@@ -0,0 +1,12 @@
+ARG IMAGE_ARCH=linux/arm
+# For IMX8 use IMAGE_ARCH=linux/arm64
+ARG IMAGE_TAG=1-buster
+FROM --platform=$IMAGE_ARCH torizon/debian:$IMAGE_TAG
+
+RUN apt-get update \
+    && apt-get install -y --no-install-recommends iperf3 rt-tests \
+    && rm -rf /var/lib/apt/lists/*
+
+COPY / /
+
+CMD ["/stress-tests.sh"]
diff --git a/stress-tests/stress-tests.sh b/stress-tests/stress-tests.sh
new file mode 100755
index 0000000..286669c
--- /dev/null
+++ b/stress-tests/stress-tests.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# CPU load
+while true; do hackbench >/dev/null 2>&1; done &
+
+# I/O load (eMMC read)
+while true; do du /usr >/dev/null 2>&1; done &
+while true; do find / -name a* >/dev/null 2>&1; done &
+
+# I/O load (USB read/write)
+if mount | grep /mnt/pendrive >/dev/null; then
+    cd /mnt/pendrive
+    tar -cf file.tar -C /var/log --exclude=lost+found -p .
+    while true; do rm -rf output; mkdir -p output; tar xfv file.tar -C output/ >/dev/null 2>&1; done &
+fi
+
+# RTC read/write
+while true; do hwclock >/dev/null 2>&1; sleep 0.1; done &
+while true; do hwclock -w >/dev/null 2>&1; sleep 0.1; done &
+
+# Network load
+while true; do iperf3 -c bouygues.iperf.fr -P 10 >/dev/null 2>&1; done
+
+echo "RT stress tests started successfully!"
+
+# Dont exit
+while true; do sleep 1; done