#!/bin/bash -e if [ -n "${PUBKEY_SSH_FIRST_USER}" ]; then install -v -m 0700 -o 1000 -g 1000 -d "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh echo "${PUBKEY_SSH_FIRST_USER}" >"${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh/authorized_keys chown 1000:1000 "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh/authorized_keys chmod 0600 "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.ssh/authorized_keys fi if [ "${PUBKEY_ONLY_SSH}" = "1" ]; then sed -i -Ee 's/^#?[[:blank:]]*PubkeyAuthentication[[:blank:]]*no[[:blank:]]*$/PubkeyAuthentication yes/ s/^#?[[:blank:]]*PasswordAuthentication[[:blank:]]*yes[[:blank:]]*$/PasswordAuthentication no/' "${ROOTFS_DIR}"/etc/ssh/sshd_config fi on_chroot << EOF if [ "${ENABLE_SSH}" == "1" ]; then systemctl enable ssh else systemctl disable ssh fi EOF if [ "${USE_QEMU}" = "1" ]; then echo "enter QEMU mode" install -m 644 files/90-qemu.rules "${ROOTFS_DIR}/etc/udev/rules.d/" echo "leaving QEMU mode" fi on_chroot <<- EOF systemctl enable rpi-resize for GRP in input spi i2c gpio; do groupadd -f -r "\$GRP" done for GRP in adm dialout cdrom audio users sudo video games plugdev input gpio spi i2c netdev render; do adduser $FIRST_USER_NAME \$GRP done EOF if [ -f "${ROOTFS_DIR}/etc/sudoers.d/010_pi-nopasswd" ]; then sed -i "s/^pi /$FIRST_USER_NAME /" "${ROOTFS_DIR}/etc/sudoers.d/010_pi-nopasswd" fi on_chroot << EOF setupcon --force --save-only -v EOF on_chroot << EOF usermod --pass='*' root EOF rm -f "${ROOTFS_DIR}/etc/ssh/"ssh_host_*_key* sed -i 's/^FONTFACE=.*/FONTFACE=""/;s/^FONTSIZE=.*/FONTSIZE=""/' "${ROOTFS_DIR}/etc/default/console-setup" sed -i "s/PLACEHOLDER//" "${ROOTFS_DIR}/etc/default/keyboard" on_chroot << EOF DEBIAN_FRONTEND=noninteractive dpkg-reconfigure keyboard-configuration console-setup EOF if [ -e "${ROOTFS_DIR}/etc/avahi/avahi-daemon.conf" ]; then sed -i 's/^#\?publish-workstation=.*/publish-workstation=yes/' "${ROOTFS_DIR}/etc/avahi/avahi-daemon.conf" fi