diff --git a/debian/arduino-app-cli/DEBIAN/postinst b/debian/arduino-app-cli/DEBIAN/postinst index 129e837d..8dbe7413 100755 --- a/debian/arduino-app-cli/DEBIAN/postinst +++ b/debian/arduino-app-cli/DEBIAN/postinst @@ -3,3 +3,4 @@ chown -R arduino:arduino /home/arduino/.local/share/arduino-app-cli systemctl enable arduino-app-cli +systemctl enable arduino-burn-bootloader diff --git a/debian/arduino-app-cli/DEBIAN/prerm b/debian/arduino-app-cli/DEBIAN/prerm index 95d9ec58..44e8a76c 100755 --- a/debian/arduino-app-cli/DEBIAN/prerm +++ b/debian/arduino-app-cli/DEBIAN/prerm @@ -1,3 +1,4 @@ #!/bin/sh systemctl disable arduino-app-cli +systemctl disable arduino-burn-bootloader diff --git a/debian/arduino-app-cli/etc/systemd/system/arduino-burn-bootloader.service b/debian/arduino-app-cli/etc/systemd/system/arduino-burn-bootloader.service new file mode 100644 index 00000000..0eb42ec2 --- /dev/null +++ b/debian/arduino-app-cli/etc/systemd/system/arduino-burn-bootloader.service @@ -0,0 +1,18 @@ +[Unit] +Description=Burn arduino zephyr bootloader on first boot +After=fs-local.target +ConditionPathExists=!/home/arduino/.local/share/arduino-app-cli/bootloader_burned.flag + +[Service] +Type=oneshot +RemainAfterExit=true +User=arduino +Group=arduino +ExecStart=/usr/bin/arduino-cli burn-bootloader -b arduino:zephyr:unoq -P jlink +ExecStartPost=/bin/mkdir -p /home/arduino/.local/share/arduino-app-cli +ExecStartPost=/bin/touch /home/arduino/.local/share/arduino-app-cli/bootloader_burned.flag +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target