March 08, 2017
Before being able to write firmware data to any production Chromebook device, the Write-Protect screw has to be removed.
This post will look specifically at removing the WP screw from a Chell (HP Chromebook 13 G1) device, and verifying that it has been successfully removed.
To actually flash firmware to Chromebook machines, a device called a Servo is needed. While these devices aren't available publicly, they can be produced freely or possibly requested from Google if you are contributing code to the ChromiumOS project.
So this is what the WP screw looks like on a Chell Chromebook. This may or may not be what you will find in other devices. But if you take a close look, you will notice that the copper pad that the the screw attaches against is split into parts that are bridged by a screw being inserted.
# Go to your ChromiumOS checkout cd /opt/chromiumos # Enter dev environment cros_sdk # Set device variable export BOARD=chell # Connect to Chromebook using a Servo device sudo servod -b $BOARD & # Disable WP # This step may vary depending on the hardware of your actual Chromebook dut-control fw_wp:off sudo /usr/sbin/flashrom -p ft2232_spi:type=servo-v2 --wp-disable sudo /usr/sbin/flashrom -p ec --wp-disable
This post has been a part of work undertaken by my employer Collabora.
DKMS is a framework that is mostly used to build and install external kernel modules. It can also be used to install a specific patch to…
Building GTK 4 as a Meson subproject for your own application is not only useful for Windows builds, but also for many Linux distributions…
Recently, we have been using Perfetto to successfully profile Apitrace traces in crosvm through VirGL renderer. We have now added perfetto…
As part of a project backed by INVEST-AI, a program managed by IVADO Labs, we have developed a multi-stage neural network-based solution…
Did you know you could run a permissively-licensed MTP implementation with minimal dependencies on an embedded device? Here's a step-by-step…
Earlier this year, the Rust compiler gained support for LLVM source-base code coverage. In this post we'll explain how to setup a CI job…