If I couldn’t solve the challenges getting ROS up and running with Ubuntu 18 under Crouton in Chrome OS, there is yet another option: erase Chrome OS completely and install Ubuntu in its place. I understand this would remove the developer mode warning and menu, and the software startup can go straight into ROS via an Ubuntu service just like any other Ubuntu machine.
The internet authority for this class of modification is Mr. Chromebox. I don’t know who this person is, but all my web searches on this topic inevitably points back to some resource on https://mrchromebox.tech. Starting with the list of alternate operating system options for a Chromebook. Ubuntu is not the only option, but for the purposes of a robot brain, I’m most interested in the option of a full UEFI ROM replacement allowing me to install Ubuntu like any other UEFI computer.
In order to install Mr. Chromebox’s ROM replacement, the hardware must on the list of supported devices. Fortunately the Toshiba Chromebook 2 (CB35-B3340) is represented on the list under its Google platform name “Swanky” so it should be eligible for the firmware utility script that makes the magic happen.
Before running the script, though, there are some hardware modifications to be made. Firmware replacement can undercut security promises of a Chromebook, even more than developer mode, so there are protections that require deliberate actions by a technically capable user before the firmware can be replaced. For “Swanky” Chromebooks, this hardware write-protect switch is in the form of a screw inside the case that makes an electrical connection across two contacts on the circuit board. Before the firmware can be replaced, that screw must be removed and the two pads insulated so there is no longer electrical contact.
Having a hardware component to the protection makes it very difficult for a Chromebook to be compromised by software bugs. Yet the screw + PCB design is a deliberate provision allowing modification with just simple hand tools. Such provisions to bypass hardware security is not found in many other security-minded consumer hardware, for example gaming consoles. I appreciate Google’s effort to protect the user, yet still offer the user an option to bypass such protection if they choose.
For the moment I am not planning to take this option, but it is there if I need it. In the near future I took this opportunity to get some first hand experience living with a Chromebook with its originally intended (non developer) use.