00-pseudofs.sh (1899B) download
1# vim: set ts=4 sw=4 et:
2
3msg "Mounting pseudo-filesystems..."
4mountpoint -q /proc || mount -o nosuid,noexec,nodev -t proc proc /proc
5mountpoint -q /sys || mount -o nosuid,noexec,nodev -t sysfs sys /sys
6mountpoint -q /run || mount -o mode=0755,nosuid,nodev -t tmpfs run /run
7mountpoint -q /dev || mount -o mode=0755,nosuid -t devtmpfs dev /dev
8mkdir -p -m0755 /run/fiss /run/lvm /run/user /run/lock /run/log /dev/pts /dev/shm
9mountpoint -q /dev/pts || mount -o mode=0620,gid=5,nosuid,noexec -n -t devpts devpts /dev/pts
10mountpoint -q /dev/shm || mount -o mode=1777,nosuid,nodev -n -t tmpfs shm /dev/shm
11mountpoint -q /sys/kernel/security || mount -n -t securityfs securityfs /sys/kernel/security
12
13if [ -d /sys/firmware/efi/efivars ]; then
14 mountpoint -q /sys/firmware/efi/efivars || mount -o nosuid,noexec,nodev -t efivarfs efivarfs /sys/firmware/efi/efivars
15fi
16
17if [ -z "$VIRTUALIZATION" ]; then
18 _cgroupv1=""
19 _cgroupv2=""
20
21 case "${CGROUP_MODE:-hybrid}" in
22 legacy)
23 _cgroupv1="/sys/fs/cgroup"
24 ;;
25 hybrid)
26 _cgroupv1="/sys/fs/cgroup"
27 _cgroupv2="${_cgroupv1}/unified"
28 ;;
29 unified)
30 _cgroupv2="/sys/fs/cgroup"
31 ;;
32 esac
33
34 # cgroup v1
35 if [ -n "$_cgroupv1" ]; then
36 mountpoint -q "$_cgroupv1" || mount -o mode=0755 -t tmpfs cgroup "$_cgroupv1"
37 while read -r _subsys_name _hierarchy _num_cgroups _enabled; do
38 [ "$_enabled" = "1" ] || continue
39 _controller="${_cgroupv1}/${_subsys_name}"
40 mkdir -p "$_controller"
41 mountpoint -q "$_controller" || mount -t cgroup -o "$_subsys_name" cgroup "$_controller"
42 done < /proc/cgroups
43 fi
44
45 # cgroup v2
46 if [ -n "$_cgroupv2" ]; then
47 mkdir -p "$_cgroupv2"
48 mountpoint -q "$_cgroupv2" || mount -t cgroup2 -o nsdelegate cgroup2 "$_cgroupv2"
49 fi
50fi