# mount some important things
mount -t proc /proc /proc >/dev/null 2>&1
mount -t sysfs /sys /sys >/dev/null 2>&1
-mount -t tmpfs -omode=0755 udev /dev >/dev/null 2>&1
-getarg rdinitdebug && set -x
-# Make some basic devices first, let udev handle the rest
-mknod /dev/null c 1 3
-mknod /dev/ptmx c 5 2
-mknod /dev/console c 5 1
-mknod /dev/kmsg c 1 11
+if [ ! -c /dev/ptmx ]; then
+ if mount -t devtmpfs -omode=0755 udev /dev >/dev/null 2>&1; then
+ :; else
+ mount -t tmpfs -omode=0755 udev /dev >/dev/null 2>&1
+ # Make some basic devices first, let udev handle the rest
+ mknod /dev/null c 1 3
+ mknod /dev/ptmx c 5 2
+ mknod /dev/console c 5 1
+ mknod /dev/kmsg c 1 11
+ fi
+fi
+getarg rdinitdebug && set -x
mkdir /dev/shm
mkdir /dev/pts
mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts >/dev/null 2>&1