I own a Lenovo IdeaPad Duet Chromebook, a ChromeOS 2-in-1 ARM64 tablet. I had been running ChromeOS, then postmarketOS, which suddenly broke. Time for some firmware hacking to try and get Ubuntu to run there!
The Lenovo IdeaPad Duet: a 10.1" tablet with a plug-and-play detachable keyboard, a 1920x1200 screen, an ARM64 MediaTek MT8183 SoC and 4 GiB of RAM (Image credits: Lenovo)
I bought the device a while ago, during my first year at engineering school. It was cheap (~100€), used but in really nice condition. I love 10" laptops for their portability, and this one could even work with a stylus for note-taking, a workflow I wanted to try (turns out it wasn't really for me).
I had also never used ChromeOS, and was really curious. At the time I was developing Android apps, and being able to code natively and run the app on-device sounded exciting. It turned out to be disappointing because the performance in ChromeOS was not really there, and I had to run everything Linux through a container, which felt awkward. I quietly stopped using the device.
A while later, I realized that postmarketOS supported it. That meant a real Linux distribution, based on Alpine Linux, with any DE (GNOME, KDE, etc.) and proper Linux tooling and performance. I had to try.
Installing postmarketOS was really easy, thanks to the effort they put into the wiki and the installation guide. Basically: put the device in 'developer mode', download an image, write it to a USB stick and boot from it using the 'developer mode' menu. You then land in a live postmarketOS image you can use to install to the eMMC.
The ChromeOS firmware 'developer mode' menu, which allows you to select boot media, USB or internal storage. Mine is in French. 'Start legacy BIOS' does nothing here; I suspect this only works on x86 Chromebooks, and they just reused the same firmware.
So far, so good: they even have images with preinstalled DEs like GNOME. I'm a heavy GNOME user on my main computer, so I went with that one. Unfortunately, it turned out to be a mistake. GNOME can be quite resource-hungry, which didn't suit the device's weak CPU and 4 GiB of RAM. It was a bit slow, and there was too much friction for it to be really usable. I also find GNOME ill-suited to a "minimalist" workflow - it tends to go all out. Thinking about it now, a tiling window manager with a terminal-centric workflow would have surely been better for the device.
I kept using it from time to time anyway. Eventually I updated to postmarketOS 26.06, and then the device refused to reboot.
I managed to boot the old 25.12 version, but even writing 26.06 to a USB stick and booting it does not seem to work. Something must have changed between the two versions that silently breaks boot on the Duet. While investigating, I realized that all the necessary drivers were now in the mainline kernel. I also now work at Canonical on Ubuntu development, doing bring-up of RISC-V devices. Given the state of the Duet, an Ubuntu bring-up seemed genuinely feasible. So... I have a weekend. Let's do it!
... continue reading