How to Recover Chrome Device: “ChromeOS is missing or damaged” error

In certain instances, you may need to use the Chromebook Recovery Utility in order to repair ChromeOS on your digital signage device. If the device does not boot properly, or displays a screen that says ChromeOS is missing or damaged, the Chromebook Recovery Utility may be able to repair the issue.

Step 1. Gather Necessary Devices

Before beginning the recovery process for your Chrome device, you’re going to need a few things:

  1. The device with the “ChromeOS is missing or damaged” error
  2. Another computer with the Chrome browser installed
  3. A USB flash drive that can hold at least 8 GB. Make sure it doesn’t contain any data you need. 

 

Step 2. Create the Recovery Image

Once you have all of the necessary devices, you’re ready to begin downloading a copy of the recovery image.

On the computer that is working (not the Chrome device displaying the error) open up the Chrome browser, which can be installed here.

Open the Chrome browser, and install the Chromebook Recovery Utility extension from the Chrome Webstore. 

Open the Chromebook Recovery Utility extension by clicking the extensions button in the upper right corner of the Chrome browser.

Click the Chromebook Recovery Utility from your list of extensions.

The Chromebook Recovery Utility will launch. Click get started. 

Next, identify the Chrome device you are using. You’ll need to select the correct model to download the proper recovery image. If you know the model number, you can enter it, or you can select your device from the model list. If your device is utilizing ChromeOS Flex as it’s operating system, click select a model from the list, select ChomeOS Flex as the manufacturer and as the product. Click here for a full list of Google’s ChromeOS Flex certified devices. 

After selecting the correct model, insert your USB flash drive if you have not done so already. Select the USB flash drive you wish to use from the dropdown list and click continue.

Next click the “create now” button in the lower right hand corner. The recovery utility will begin creating and downloading the recovery image to the USB flash drive.

When the image is finished downloading, a message will appear on the screen that says “Success! Your recovery media is ready”

You can now exit the Chromebook Recovery utility and safely eject your USB flash drive.

Step 3. Begin Device Recovery 

Boot the device that is displaying the “ChromeOS is missing or damaged” error, and insert the USB flash drive with the recovery image. 

The new version of ChromeOS will automatically begin to download on your device. Wait for the download to complete, and wait for the device to automatically reboot. The device should now boot with the most up-to-date ChromeOS version, and it should function properly once again.

*Note: The Chromebook Recovery utility will not always repair Chrome devices depending on a variety of factors. If your Chrome device still isn’t functional after performing the recovery process, you should consider replacing the device or contacting your device supplier. 

You can view Google’s support documentation on device recovery here.

If you have any questions or issues throughout the device recovery process for your Arreya devices, please contact Arreya support via email: support@arreya.com or phone: (319)-294-6671.

Remote Debugging ChromeOS Kiosk Apps and Progressive Web Apps in Kiosk Mode

Preface and prerequisites 

This article is intended for developers interested in remotely debugging their ChromeOS App or Progressive Web Application running in Kiosk mode. 

The target ChromeOS device must be in developer mode, and enrolled into an admin console Organization Unit (OU) with forced re-enrollment and verified boot disabled. If it was previously used with forced re-enrollment (FRE) enabled you’ll need to do the steps below. 

Forced re-enrollment can be found in the Chrome device settings in your Google Admin console. When this is set to ‘Device is not forced to re-enroll after wiping’, it will disable forced re-enrollment and allow developer mode to be enabled.

ChromeOS Forced Re-Enrollment

 

Remove ChromeOS device from forced re-enrollment

  1. Move device to OU with FRE and verified access/boot disabled
  2. Reboot with the recovery button depressed, then attempt to enter developer mode with Ctrl + D. You will not be able to enter developer mode, but the device will factory reset itself.
  3. Run through initial setup, the device should not automatically re-enroll, if it does, check your admin console settings and ensure the device is in the correct OU. 
  4. Log into the device in consumer mode, do not enterprise enroll the device.
  5. Reset the device again with the recovery button, you should be able to enter developer mode using Ctrl + D shortcut.
  6. Device should be in developer mode now, you can enable debugging features and enterprise enroll the device.

https://chromium.googlesource.com/chromiumos/docs/+/master/developer_mode.md

 

Remove rootfs verification

You will need to open a shell on the target Chromebox by either opening a virtual terminal by pressing Ctrl + Alt + F1(back arrow) or you can skip kiosk app on startup with Ctrl + Alt + S, log in, and open a shell by pressing Ctrl + Alt + T and typing ‘shell’

Run the following command:

$ sudo /usr/share/vboot/bin/make_dev_ssd.sh –remove_rootfs_verification

ChromeOS rootfs verification disable

You’ll be prompted to run the command again with the booted partition. e.g.

$ sudo /usr/share/vboot/bin/make_dev_ssd.sh –remove_rootfs_verification –partitions 4

Reboot the device.

 

Enable SSH access

 Install sshd startup files.

$ /usr/libexec/debugd/helpers/dev_features_ssh

Allow password access for root user in either a virtual terminal, or by changing to the root user.

$ passwd

 

Enable remote debugging

Add –remote-debugging-port startup flag to chrome_dev.conf e.g.

$ sudo vi /etc/chrome_dev.conf

Add  ‘–remote-debugging-port=9222’ to a new line at the end of the file

ChromeOS Remote Debugging

 

Chrome device IP address

Take note of your Chrome device’s IP address using system settings, or by using ifconfig command.

$ ifconfig eth0

$ ifconfig wlan0

ChromeOS IP Address

You’re now done with the target device, reboot and allow the device to start in kiosk mode.

 

 

SSH Client and port forwarding

On your other computer, open your favorite SSH client that allows port forwarding, this can be done in ChromeOS using the Secure Shell extension.

https://chrome.google.com/webstore/detail/secure-shell/iodihamcpbpeioajjeobimgagajmlibd

 

Configure your SSH Client with:

  • User: ‘root’
  • Host: IP of Chromebox
  • Port: 22
  • SSH Arguments: ‘-L 9222:localhost:9222’. (-L argument forwards a remote port to a local port. If you used a port other than 9222, replace it here)

 

chrome os ssh client port forwarding

Note: If you have used SSH with the same host, you may need to clear the host from your known_hosts file in the ssh client settings, or append ‘-o UserKnownHostsFile=/dev/null’ to the SSH arguments to use an empty known_hosts file.

 

You’ll be prompted to add the host/key to your known hosts.

chrome os ssh

Enter the root password you set.

chrome os ssh port forwarding

Leave the ssh client window open in the background.

 

Remote DevTools

Open a new Chrome browser window, and navigate to chrome://inspect

remote inspection with chrome devtools

Click Configure… and add ‘localhost:9222’ to the list of targets. Click Done.

configuring target for remote debugging with chrome devtools

Your remote target should now show up under the Remote Target heading. You can select each app, extension, or PWA you wish to inspect.

remote debugging with chrome devtools

remote debugging with chrome devtools

Links

http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/debugging-features

https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/chromeos-base/chromeos-sshd-init/files/openssh-server.conf.README

My devices show offline in Google Admin Console

My devices show offline in Google Admin Console

If your device status is Offline in the Google Admin console, typically the device does not have a reliable internet connection, or there is something blocking Google from checking the status of the device on your network.

Verify that there is no interference from a Content Filter or Firewall – The most common cause of an offline device, issues with content not showing, or problems pairing a device come from content filters or firewalls that interrupt communication with Arreya. Please follow our instructions for content filters and firewalls – https://arreya.com/kb/allow-past-firewall/

Known Issues

In early August 2020, Google acknowledged that there was a known issue with the Google Admin console and Chrome OS devices that caused the admin console to show devices as offline, when they were actually online and would respond to requests. This does not affect the devices or the functionality of Arreya. The Arreya dashboard status is still accurate in this case.

We will update this article with more information as it becomes available from Google.

How to fix your device when it shows “Waiting for application window…”

How to fix your device when it shows “Waiting for application window…”

If you see your Arreya sign is showing a white background with the Arreya logo and “Waiting for application window…” below it, here are the steps you will need to take to get your sign working again and fix your device.

  1. Log into your Google Admin console by opening an Incognito Window and going to https://admin.google.com.
  2. Sign in with your Google Admin login credentials
  3. Go to Devices > Chrome devices
  4. Check the box to the left of the of the devices that are affected
  5. Click on the folder with an arrow in the upper right corner
  6. Move it to the “No App” Organizational Unit (OU) that you created when initially setting up your Admin console
  7. Reboot the device and take a screenshot once it is back on, make sure it says “No Policy Received”
  8. Once the device has that on the screen you are free to move your device back to the main OU that it started in
  9. Reboot it again and take another screenshot and you should see your device pairing code
  10. Once you have that code, enter it into the devices tab inside of your arreya channel to fix your device.  https://<yourchannelname>.arreya.com

Device status is offline

If your device status is OFFLINE, here are some possible causes and steps to resolve the issue –

  • Reboot the device
  • Try pressing the ‘refresh’ button for the device – From your dashboard, go to Management -> Devices, click [Refresh] next to the device that is offline.  If it returns to online, there may have been a temporary communication issue.
  • If you use Chrome Device Management – Log in to your Admin Console, navigate to the device, and look at the current status.  If the device is online, try capturing a screenshot or rebooting the device.
  • Verify that the internet is up and running – The most common cause of an offline device, is an issue with the internet connection.  Many ‘stable’ connections fluctuate throughout the day/week and you may see this reflected in the online/offline status as sporadic, short periods of offline status.
  • Verify that there is no interference from a Content Filter or Firewall – The second most common cause of an offline device, issues with content not showing, or problems pairing a device come from content filters or firewalls that interrupt communication with Arreya.  Please follow our instructions for content filters and firewalls – https://arreya.com/kb/allow-past-firewall/
  • Reboot the device