25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

73 lines
2.1 KiB

  1. #!/bin/bash -e
  2. install -m 755 files/resize2fs_once "${ROOTFS_DIR}/etc/init.d/"
  3. install -d "${ROOTFS_DIR}/etc/systemd/system/rc-local.service.d"
  4. install -m 644 files/ttyoutput.conf "${ROOTFS_DIR}/etc/systemd/system/rc-local.service.d/"
  5. install -m 644 files/50raspi "${ROOTFS_DIR}/etc/apt/apt.conf.d/"
  6. install -m 644 files/console-setup "${ROOTFS_DIR}/etc/default/"
  7. install -m 755 files/rc.local "${ROOTFS_DIR}/etc/"
  8. if [ -n "${PUBKEY_SSH_FIRST_USER}" ]; then
  9. install -v -m 0700 -o 1000 -g 1000 -d "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh
  10. echo "${PUBKEY_SSH_FIRST_USER}" >"${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh/authorized_keys
  11. chown 1000:1000 "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh/authorized_keys
  12. chmod 0600 "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh/authorized_keys
  13. fi
  14. if [ "${PUBKEY_ONLY_SSH}" = "1" ]; then
  15. sed -i -Ee 's/^#?[[:blank:]]*PubkeyAuthentication[[:blank:]]*no[[:blank:]]*$/PubkeyAuthentication yes/
  16. s/^#?[[:blank:]]*PasswordAuthentication[[:blank:]]*yes[[:blank:]]*$/PasswordAuthentication no/' "${ROOTFS_DIR}"/etc/ssh/sshd_config
  17. fi
  18. on_chroot << EOF
  19. systemctl disable hwclock.sh
  20. systemctl disable nfs-common
  21. systemctl disable rpcbind
  22. if [ "${ENABLE_SSH}" == "1" ]; then
  23. systemctl enable ssh
  24. else
  25. systemctl disable ssh
  26. fi
  27. systemctl enable regenerate_ssh_host_keys
  28. EOF
  29. if [ "${USE_QEMU}" = "1" ]; then
  30. echo "enter QEMU mode"
  31. install -m 644 files/90-qemu.rules "${ROOTFS_DIR}/etc/udev/rules.d/"
  32. on_chroot << EOF
  33. systemctl disable resize2fs_once
  34. EOF
  35. echo "leaving QEMU mode"
  36. else
  37. on_chroot << EOF
  38. systemctl enable resize2fs_once
  39. EOF
  40. fi
  41. on_chroot <<EOF
  42. for GRP in input spi i2c gpio; do
  43. groupadd -f -r "\$GRP"
  44. done
  45. for GRP in adm dialout cdrom audio users sudo video games plugdev input gpio spi i2c netdev render; do
  46. adduser $FIRST_USER_NAME \$GRP
  47. done
  48. EOF
  49. if [ -f "${ROOTFS_DIR}/etc/sudoers.d/010_pi-nopasswd" ]; then
  50. sed -i "s/^pi /$FIRST_USER_NAME /" "${ROOTFS_DIR}/etc/sudoers.d/010_pi-nopasswd"
  51. fi
  52. on_chroot << EOF
  53. setupcon --force --save-only -v
  54. EOF
  55. on_chroot << EOF
  56. usermod --pass='*' root
  57. EOF
  58. rm -f "${ROOTFS_DIR}/etc/ssh/"ssh_host_*_key*