Method for updating a control unit for an automotive vehicle, the control unit comprising a runtime system with a virtualization layer adapted to run on the processor , the virtualization layer being adapted to assign processor time and memory space to a plurality of guest systems , the plurality of guest systems comprising a first trusted guest system and a first untrusted guest system , wherein the first trusted guest system runs a system supervisor server the system supervisor server being adapted to stop and boot a guest system, the method comprising: downloading , by a first update client of the first untrusted guest system running on the virtualization layer , one or more first update files or data segments from a first remote server ; storing, by the first update client , the one or more first update files or data segments in an untrusted memory accessible to the first untrusted guest system and verifying, by the first update client, whether the one or more update files or data segments are complete; - generating a shared secret by the first trusted guest system ; sending the shared secret to the first remote server ; receiving, by the first trusted system , a reboot signal, wherein the reboot signal received by the first trusted guest system is encrypted by the first remote server with a one-time password based on the shared secret, and decrypted by the first trusted guest system; - verifying, by the first trusted guest system , whether one-time password is correct; if the one-time password is correct, executing, by the system supervisor server , the signal and rebooting, by the system supervisor server , the control unit ; booting an update operating system adapted to update one or more files or data segments of the control unit; retrieving, by the updating operating system , the one or more first update files or data segments from the untrusted memory ; - verifying, by the updating operating system , the one or more first update files or data segments; and updating the one or more files or data segments of the control unit . downloading , by a first update client of the first untrusted guest system running on the virtualization layer , one or more first update files or data segments from a first remote server ; storing, by the first update client , the one or more first update files or data segments in an untrusted memory accessible to the first untrusted guest system and verifying, by the first update client, whether the one or more update files or data segments are complete; - generating a shared secret by the first trusted guest system ; sending the shared secret to the first remote server ; - generating a shared secret by the first trusted guest system ; sending the shared secret to the first remote server ; receiving, by the first trusted system , a reboot signal, wherein the reboot signal received by the first trusted guest system is encrypted by the first remote server with a one-time password based on the shared secret, and decrypted by the first trusted guest system; - verifying, by the first trusted guest system , whether one-time password is correct; if the one-time password is correct, executing, by the system supervisor server , the signal and rebooting, by the system supervisor server , the control unit ; - verifying, by the first trusted guest system , whether one-time password is correct; booting an update operating system adapted to update one or more files or data segments of the control unit; retrieving, by the updating operating system , the one or more first update files or data segments from the untrusted memory ; - verifying, by the updating operating system , the one or more first update files or data segments; and - verifying, by the updating operating system , the one or more first update files or data segments; and updating the one or more files or data segments of the control unit . <EOS>