logo

live-bootstrap

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

finalize_fhs.sh (1852B)


  1. #!/bin/sh
  2. #
  3. # SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
  4. #
  5. # SPDX-License-Identifier: GPL-3.0-or-later
  6. mkdir -p /etc /run /var/log /var/lock /var/spool /var/tmp /var/cache
  7. # can't use /dev/null before mounting /dev
  8. mount | grep '/dev' &> /junk || (mkdir -p /dev; mount -t devtmpfs none /dev)
  9. rm /junk &> /dev/null || true
  10. mount | grep '/proc' &> /dev/null || (mkdir -p /proc; mount -t proc proc /proc)
  11. mount | grep '/sys' &> /dev/null || (mkdir -p /sys; mount -t sysfs sysfs /sys)
  12. # Make /tmp a ramdisk (speeds up configure etc significantly)
  13. mount | grep '/tmp' &> /dev/null || (mkdir -p /tmp; mount -t tmpfs tmpfs /tmp)
  14. mount | grep '/dev/shm' &> /dev/null || (mkdir -p /dev/shm; mount -t tmpfs tmpfs /dev/shm)
  15. if [ "${CHROOT}" = False ]; then
  16. rm /etc/mtab
  17. ln -s /proc/mounts /etc/mtab
  18. fi
  19. # Add /etc/resolv.conf
  20. if [ ! -e "/etc/resolv.conf" ]; then
  21. echo 'nameserver 1.1.1.1' > /etc/resolv.conf
  22. fi
  23. if [ ! -e "/etc/resolv.conf/head" ]; then
  24. echo 'nameserver 1.1.1.1' > /etc/resolv.conf.head
  25. fi
  26. # /etc/passwd -- taken from LFS
  27. if [ ! -e "/etc/passwd" ]; then
  28. cat > /etc/passwd << "EOF"
  29. root:x:0:0:root:/root:/bin/bash
  30. bin:x:1:1:bin:/dev/null:/usr/bin/false
  31. daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false
  32. messagebus:x:18:18:D-Bus Message Daemon User:/run/dbus:/usr/bin/false
  33. uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false
  34. nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false
  35. EOF
  36. fi
  37. # /etc/group -- taken from LFS
  38. if [ ! -e "/etc/group" ]; then
  39. cat > /etc/group << "EOF"
  40. root:x:0:
  41. bin:x:1:daemon
  42. sys:x:2:
  43. kmem:x:3:
  44. tape:x:4:
  45. tty:x:5:
  46. daemon:x:6:
  47. floppy:x:7:
  48. disk:x:8:
  49. lp:x:9:
  50. dialout:x:10:
  51. audio:x:11:
  52. video:x:12:
  53. utmp:x:13:
  54. usb:x:14:
  55. cdrom:x:15:
  56. adm:x:16:
  57. messagebus:x:18:
  58. input:x:24:
  59. mail:x:34:
  60. kvm:x:61:
  61. uuidd:x:80:
  62. wheel:x:97:
  63. users:x:999:
  64. nogroup:x:65534:
  65. EOF
  66. fi