  void Reset::doReset() {
    // best effort to wipe nvme and sd card
    std::system("sudo umount " NVME);
    std::system("yes | sudo mkfs.ext4 " NVME);
    std::system("sudo umount " SDCARD);
    std::system("yes | sudo mkfs.ext4 " SDCARD);
  
    // we handle two cases here
    //  * user-prompted factory reset
    //  * recovering from a corrupt userdata by formatting
    int rm = std::system("sudo rm -rf /data/*");
 
</s> remove     "text": "Storage drive not mounted.",
 </s> add     "text": "NVMe drive not mounted.", </s> remove #define SDCARD "/dev/mmcblk0"
 </s> add  </s> remove       set_offroad_alert_if_changed("Offroad_StorageMissing", (not Path("/data/media").is_mount()))
 </s> add       missing = (not Path("/data/media").is_mount()) and (not os.path.isfile("/persist/comma/living-in-the-moment"))
      set_offroad_alert_if_changed("Offroad_StorageMissing", missing)
  void Reset::doReset() {
    // best effort to wipe nvme and sd card
    std::system("sudo umount " NVME);
    std::system("yes | sudo mkfs.ext4 " NVME);


  
    // we handle two cases here
    //  * user-prompted factory reset
    //  * recovering from a corrupt userdata by formatting
    int rm = std::system("sudo rm -rf /data/*");
keep keep keep keep replace replace keep keep keep keep keep
 for those who want to live in the moment 
selfdrive/ui/qt/setup/reset.cc