1#!/bin/sh
2### BEGIN INIT INFO
3# Provides:          mountvirtfs
4# Required-Start:
5# Required-Stop:
6# Default-Start:     S
7# Default-Stop:
8# Short-Description: Mount kernel virtual file systems.
9# Description:       Mount initial set of virtual filesystems the kernel
10#                    provides and that are required by everything.
11### END INIT INFO
12
13if [ -e /proc ] && ! [ -e /proc/mounts ]; then
14  mount -t proc proc /proc
15fi
16
17if [ -e /sys ] && grep -q sysfs /proc/filesystems && ! [ -e /sys/class ]; then
18  mount -t sysfs sysfs /sys
19fi
20
21if [ -e /sys/kernel/debug ] && grep -q debugfs /proc/filesystems; then
22  mount -t debugfs debugfs /sys/kernel/debug
23fi
24
25if [ -e /sys/kernel/config ] && grep -q configfs /proc/filesystems; then
26  mount -t configfs configfs /sys/kernel/config
27fi
28
29if [ -e /sys/firmware/efi/efivars ] && grep -q efivarfs /proc/filesystems; then
30  mount -t efivarfs efivarfs /sys/firmware/efi/efivars
31fi
32
33if ! [ -e /dev/zero ] && [ -e /dev ] && grep -q devtmpfs /proc/filesystems; then
34  mount -n -t devtmpfs devtmpfs /dev
35fi
36