]> git.ipfire.org Git - thirdparty/systemd.git/blame - test/create-busybox-container
docs: document new description field
[thirdparty/systemd.git] / test / create-busybox-container
CommitLineData
ff12a795 1#!/usr/bin/env bash
c7934185
EV
2
3set -e
4set -u
5set -o pipefail
6
7root="${1:?Usage $0 container-root}"
8mkdir -p "$root"
9mkdir "$root/bin"
10cp $(type -P busybox) "$root/bin"
11
491b736a
ER
12ID_LIKE=$(awk -F= '$1=="ID_LIKE" { print $2 ;}' /etc/os-release)
13if [[ "$ID_LIKE" = *"suse"* ]]; then
14 mkdir -p "$root/lib"
15 mkdir -p "$root/lib64"
16 for lib in $(find /lib*/ld*); do
17 [[ -d $root/$(dirname $lib) ]] || mkdir -p $root/$(dirname $lib)
18 cp $lib $root/$lib
19 done
20fi
21
c7934185
EV
22mkdir -p "$root/usr/lib"
23touch "$root/usr/lib/os-release"
24
25ln -s busybox "$root/bin/sh"
26ln -s busybox "$root/bin/cat"
27ln -s busybox "$root/bin/tr"
28ln -s busybox "$root/bin/ps"
29ln -s busybox "$root/bin/ip"
30
31mkdir -p "$root/sbin"
32cat <<'EOF' >"$root/sbin/init"
33#!/bin/sh
34
35printf "ps aufx:\n"
36ps aufx
37
38printf "/proc/1/cmdline:\n"
39printf "%s\n\n" "$(tr '\0' ' ' </proc/1/cmdline)"
40
41printf "/proc/1/environ:\n"
42printf "%s\n\n" "$(tr '\0' '\n' </proc/1/environ)"
43
44printf "/proc/1/mountinfo:\n"
45cat /proc/self/mountinfo
46printf "\n"
47
48printf "/proc/1/cgroup:\n"
49printf "%s\n\n" "$(cat /proc/1/cgroup)"
50
51printf "/proc/1/uid_map:\n"
52printf "%s\n\n" "$(cat /proc/1/uid_map)"
53
54printf "/proc/1/setgroups:\n"
55printf "%s\n\n" "$(cat /proc/1/setgroups)"
56
57printf "/proc/1/gid_map:\n"
58printf "%s\n\n" "$(cat /proc/1/gid_map)"
59
60printf "ip link:\n"
61ip link
62EOF
63chmod +x "$root/sbin/init"