logo

live-bootstrap

Mirror of <https://github.com/fosslinux/live-bootstrap>

populate_device_nodes.sh (1761B)


  1. #!/bin/sh
  2. #
  3. # SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
  4. #
  5. # SPDX-License-Identifier: GPL-3.0-or-later
  6. # http://www.linuxfromscratch.org/lfs/view/6.1/chapter06/devices.html
  7. mkdir -p "/dev"
  8. test -c "/dev/null" || (rm -f "/dev/null" &&
  9. mknod -m 666 "/dev/null" c 1 3)
  10. test -c "/dev/zero" || mknod -m 666 "/dev/zero" c 1 5
  11. test -c "/dev/random" || mknod -m 444 "/dev/random" c 1 8
  12. test -c "/dev/urandom" || mknod -m 444 "/dev/urandom" c 1 9
  13. test -c "/dev/ptmx" || mknod -m 666 "/dev/ptmx" c 5 2
  14. test -c "/dev/tty" || mknod -m 666 "/dev/tty" c 5 0
  15. test -e "/dev/stdout" || ln -s "/proc/self/fd/1" "/dev/stdout"
  16. if mount --version >/dev/null 2>&1; then
  17. test -d "/dev/shm" || (mkdir /dev/shm && mount -t tmpfs tmpfs /dev/shm)
  18. test -d "/proc" || (mkdir /proc && mount -t proc proc /proc)
  19. fi
  20. if [ "${CHROOT}" = False ]; then
  21. test -c "/dev/tty1" || mknod -m 666 "/dev/tty1" c 4 1
  22. test -c "/dev/tty2" || mknod -m 666 "/dev/tty2" c 4 2
  23. test -c "/dev/console" || mknod -m 666 "/dev/console" c 5 1
  24. test -b "/dev/sda" || mknod -m 600 "/dev/sda" b 8 0
  25. test -b "/dev/sda1" || mknod -m 600 "/dev/sda1" b 8 1
  26. test -b "/dev/sda2" || mknod -m 600 "/dev/sda2" b 8 2
  27. test -b "/dev/sda3" || mknod -m 600 "/dev/sda3" b 8 3
  28. test -b "/dev/sdb" || mknod -m 600 "/dev/sdb" b 8 16
  29. test -b "/dev/sdb1" || mknod -m 600 "/dev/sdb1" b 8 17
  30. test -b "/dev/sdb2" || mknod -m 600 "/dev/sdb2" b 8 18
  31. test -b "/dev/sdb2" || mknod -m 600 "/dev/sdb3" b 8 19
  32. test -b "/dev/sdc" || mknod -m 600 "/dev/sdc" b 8 32
  33. test -b "/dev/sdc1" || mknod -m 600 "/dev/sdc1" b 8 33
  34. test -b "/dev/sdc2" || mknod -m 600 "/dev/sdc2" b 8 34
  35. test -b "/dev/sdc3" || mknod -m 600 "/dev/sdc3" b 8 35
  36. fi