Lenovo Chromebook Duet 3 (11”)
Manufacturer

Lenovo

Name

Chromebook Duet 3 (11”)

Identifier

lenovo-wormdingler

System Type

depthcharge

SoC

qualcomm-sc7180

Architecture

aarch64-linux

Supports Stage-0

no

Source

Mobile NixOS repository

Builds

Building

This will build the default output for your Lenovo Chromebook Duet 3 (11”).

$ nix-build --argstr device lenovo-wormdingler -A outputs.default

The default output is a disk-image that can be written on a storage media that your device can boot from.

Installation

This one is annoying to get started currently. Without a full Mobile NixOS build, you will need to fill in some gaps manually.

The upstream documentation about the disk format may help shed some light in understanding how these devices boot.

One of the important thing to realise is that you will likely need to dd the image to a storage media, either external or internal.

The kpart output can be used to build only the stage-1, which is helpful for updating the kernel and the stage-1 boot program.

$ nix-build --argstr device lenovo-wormdingler -A outputs.kpart

This can be `dd’d over the first partition on an existing storage media containing a Mobile NixOS installation.

Device-specific notes

Developer mode

For more details the Firmware Menu Interface section from the upstream documentation can be read.

You will need to:

  1. Boot in Recovery mode by powering on using Power + Volume-Up + Volume-Down

  2. Activate Developer mode by navigating the on-screen menu

Note that this is only to allow you to boot unverified images.

You may want to configure other options with GBB flags. This is left as an exercise to the reader.

Wi-Fi support

The Wi-Fi interface requires the modem to be initialized, even on non-LTE devices.

The modem requires currently unredistributable firmware. It has been overlaid in the package set as chromeos-sc7180-unredistributable-firmware.

For the time being, you will need to manually add this to your configuration for Wi-Fi.

{ /* configuration.nix */
  hardware.firmware = [
    pkgs.chromeos-sc7180-unredistributable-firmware
  ];
}

You will also need to connect with an alternative connection with the installer, or build it with the firmware yourself.