bigtreetech / bigtreetech/CB1

BigTreeTech CB1 — kernel bug makes the official image unreliable

Open
#240 8 comments 3 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
496
Forks
86
PR merge metrics
No merged PRs in 30d

Description

Affects: CB1_Debian12_Klipper_kernel6.6_20241219 (v3.0.0) · Tested on BTT CB1 v1.2

The CB1 is a capable little board for running Klipper, but the latest official image shipped with a broken kernel that causes random crashes during any significant system operation — including a simple apt upgrade.
The system crashes mid-update with kernel Oops errors, corrupt package decompression, and dpkg segfaults. It looks like bad hardware or a bad SD card — it isn't.
What actually happens

The root cause is an alignment fault bug in the page_cache_ra_unbounded path of the vendor kernel (6.6.66-vendor-sunxi64). When the system reads large files — like compressed packages during an upgrade — the kernel tries to access a misaligned memory address and crashes. You'll see errors like:

Internal error: Oops: 0000000096000021 [#4] SMP
lzma error: compressed data is corrupt
dpkg received a segmentation fault

The board isn't overheating (~50°C is normal). The SD card isn't bad. The downloads aren't corrupted. The kernel is just broken.
Why it matters

This means you cannot safely update the system, install new packages, or maintain your Klipper installation over time. Any large file operation is a lottery. BTT's GitHub still lists this image as the latest release and has not issued a fix or warning as of March 2026.
The fix

Do not use the official BTT image. Use one of these instead:
1
Armbian for CB1 — flash the Armbian Bookworm or Trixie minimal image from armbian.com/bigtreetech-cb1, then install Klipper manually using KIAUH. Stable, actively maintained, no kernel bug.
2
MainsailOS for CB1 — community-built image with Klipper pre-installed, uses a stable kernel. Download from the MainsailOS GitHub releases.
Both alternatives install in under 30 minutes and give you a fully working, updatable Klipper setup. The manual KIAUH route with Armbian is the most reliable long-term choice.
What BTT should do

Update the CB1 GitHub repository with a corrected image, or at minimum add a warning to the release notes. Buyers who don't know to look for kernel oops logs will waste hours chasing a phantom hardware problem.

Tested on CB1 v1.2 · Armbian Trixie minimal confirmed stable · Issue referenced: BTT CB1 GitHub #210

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by examining the CB1_Debian12_Klipper_kernel6.6_20241219 image and the vendor kernel's page_cache_ra_unbounded path, then compare its behavior with the reported Armbian and MainsailOS alternatives. Done means providing a corrected official image or adding a clear warning to the release notes, with large-file operations and package upgrades no longer producing the reported kernel Oops and dpkg failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
debian, linux
Domain
embedded-iot, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.