diff --git a/run-qemu.sh b/run-qemu.sh index fdff6d0..bcf11cc 100755 --- a/run-qemu.sh +++ b/run-qemu.sh @@ -175,6 +175,19 @@ else echo "WARN : aucune pubkey hôte trouvée dans $SSH_DIR_HOST/. SSH par password seulement." >&2 fi +# SSH : déployer le service file init Redox pour démarrer sshd au boot. +# Pré-requis : openssh déjà installé via pkg + host keys générées dans +# /etc/ssh/ (cf docs/SSH-setup.md à venir). Si openssh manque, sshd +# crashera au boot mais le système continuera (les autres services ne +# sont pas bloqués car requires_weak). +for service in "$ROOT/tools/redox-services"/*; do + if [[ -f "$service" ]]; then + echo "==> installer service init $(basename "$service") dans /usr/lib/init.d/" + mkdir -p "$MOUNT/usr/lib/init.d" + cp -vp "$service" "$MOUNT/usr/lib/init.d/" + fi +done + # --- 4. umount avant make qemu (sinon QEMU et FUSE se battent sur le même fichier) --- echo "==> démonter $MOUNT" sync diff --git a/tools/redox-services/30_sshd.service b/tools/redox-services/30_sshd.service new file mode 100644 index 0000000..3e469ea --- /dev/null +++ b/tools/redox-services/30_sshd.service @@ -0,0 +1,10 @@ +[unit] +description = "OpenSSH SSH Daemon" +requires_weak = [ + "10_net.target", +] + +[service] +cmd = "/usr/bin/sshd" +args = ["-D"] +type = "simple"