A developer documents getting full Ubuntu running on a Lenovo IdeaPad Duet (10.1", 1920x1200, ARM64 MediaTek MT8183, 4 GiB RAM, codename kukui-krane) after a postmarketOS upgrade broke boot. Replacing the postmarketOS rootfs with an Ubuntu base tarball and chrooting worked to get a usable system, but kernel and firmware issues emerged: Wi‑Fi firmware was missing and installing the Ubuntu linux-generic bits into /boot did not change what actually booted. Investigation revealed the Chromebook boot chain uses Coreboot → Depthcharge, and Depthcharge boots a FIT image stored in the ChromeOS kernel partition; the usual /boot is only postmarketOS bookkeeping. Crucially, Ubuntu kernels are EFI executables and Depthcharge provides no UEFI environment, so the solution requires chainloading a U-Boot build that exposes EFI services, then using GRUB to load the Ubuntu kernel.
The bring‑up plan focuses on adapting U-Boot for the Duet’s mt8183 variant and validating the Depthcharge→payload path before full U-Boot bring-up. Debugging options include a CCD serial cable (SuzyQable) or leveraging the framebuffer left initialized by Coreboot. Rather than writing complex drivers immediately, a tiny freestanding ARM64 framebuffer "hello" stub (krane-fb-stub) was developed to read Coreboot’s LBIO table, fill the screen with test colors, and confirm that a Depthcharge payload can run reliably. The work highlights concrete steps: copying firmware blobs, regenerating the Depthcharge FIT image, tailoring U-Boot board code, and using the framebuffer stub for early validation.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.