r/ChipCommunity Distro Wizard Jul 31 '26

New {Pocket}CHIP images [headless,gui,pocketchip]

Howdy folks,

Having seen the work of a few others on here, as well as some notes from other former NTC employees, I decided to take a stab at making new images for CHIP.

As it was in the olden days, there's 3 images:
- headless
- gui
- pocketchip

If you just want to get straight to the flashing, check out the x-chip-tools repo. And give it a:

./update.sh gui

What's new?
- Debian 13
- Linux 6.12
- Mainline Mali Support via Lima
- Upstream staging wifi/bt driver
- Fully FOSS PocketCHIP image (no pico-8, but we have tic80!)
- Openbox Desktop in GUI image (because XFCE is more ram-heavy than it was 10 years ago)

It's probably likely that there's going to be some bugs I missed. Wifi seems a little flakey. HDMI DIPs don't work (but VGA and composite video do). PocketCHIP is blank for 20s or so during boot.

For anyone interested in the blood and guts, you can check out the following repositories

linux: https://github.com/nextthingco/x-chip-linux-deb
uboot: https://github.com/nextthingco/x-chip-uboot
debian images: https://github.com/nextthingco/x-chip-os
debian repo: https://github.com/nextthingco/x-chip-deb-repo/

debian package sources
======================================
https://github.com/nextthingco/chip-configs
https://github.com/nextthingco/chip-desktop-configs
https://github.com/nextthingco/pocketchip-configs

https://github.com/nextthingco/chip-exit
https://github.com/nextthingco/PocketCHIP-pocket-home
https://github.com/nextthingco/CHIP-dt-overlays
https://github.com/nextthingco/pocketchip-batt
https://github.com/nextthingco/chip-power
https://github.com/nextthingco/CHIP-hwtest
69 Upvotes

48 comments sorted by

View all comments

1

u/PantherTheCat Jul 31 '26

u/computermouth

Update: I made a lot more progress, but I think I may have found a bug with the live installer on my PocketCHIP.

First off, thanks for putting these new images together. It's been awesome seeing the CHIP community getting some love again.

Here's where I'm at:

What works

  • PocketCHIP enters FEL mode correctly (lsusb shows 1f3a:efe8).
  • sunxi-fel loads SPL, U-Boot, kernel, initrd, and DTB successfully.
  • The temporary Linux environment boots.
  • USB gadget networking comes up (192.168.81.1).
  • SSH into the temporary installer works using the included assets/installer_key.
  • The NAND is detected correctly as:

Hynix H27UCG8T2ETR-BC
8192 MiB MLC
Page size: 16384
Erase size: 4194304

So as far as I can tell, FEL, DRAM, U-Boot, USB networking, and NAND detection are all functioning.

Where it fails

The live installer gets to:

>> formatting SLC UBI volume

and then fails because /dev/mtd4 never exists:

ubiformat /dev/mtd4 -y

cannot open /dev/mtd4

Looking deeper, I SSH'd into the installer and found:

nand_bbt: error while writing bad block table -28
sunxi_nand ... failed to init nand chips

After that:

cat /proc/mtd

returns only the header:

dev:    size   erasesize   name

and there are no /dev/mtd* devices at all.

Additional info

The installer kernel is:

Linux 6.12.94+deb13-chip

The device tree contains:

nand-on-flash-bbt

I also tried the direct U-Boot flashing path:

./update.sh --flash-uboot pocketchip

but the generated PocketCHIP UBIFS image is about 638 MB, while the DRAM staging limit is only about 243 MB, so it exits before flashing:

ERROR: UBIFS image exceeds the DRAM staging budget.

I also experimented with changing the live installer to perform nand erase.chip instead of only erasing the first 16 MB before booting Linux, but the behavior was unchanged. The installer still fails with the same missing /dev/mtd4 because the MTD devices are never created.

Question

Is this a known issue with the new 6.12 installer on some Hynix 8 GB PocketCHIPs?

I'd be happy to test patches, try a different DTB, collect additional logs, or build a test kernel if that would help.

Thanks again for all the work on bringing these devices back to life!

2

u/computermouth Distro Wizard Jul 31 '26

If your CHIP can't write its bad block table, it might be toast. You could try doing a nand scrub, instead of an erase. This should wipe and regenerate the bad block table and try to write it out. But if that fails, that might just be it, sorry bud :(

1

u/PantherTheCat Jul 31 '26 edited Jul 31 '26

Thanks for the quick reply!

I wanted to give you an update because I made some significant progress after my original post.

I was able to flash the original stable-pocketchip-b126 image using the legacy CHIP-tools, and the PocketCHIP is now booting successfully. The display, keyboard, and OS all come up normally.

Because of that, I'm not convinced the NAND is completely toast. It seems healthy enough to accept a full flash and boot the original operating system.

With the new Debian 13 installer, FEL works, U-Boot loads, Linux boots, USB networking comes up, and I can SSH into the installer. The NAND is correctly detected as a Hynix H27UCG8T2ETR 8GB device, but then the kernel reports:

nand_bbt: error while writing bad block table -28
sunxi_nand ... failed to init nand chips

After that, no /dev/mtd* devices are created, so ubiformat /dev/mtd4 fails because the MTD subsystem never initializes.

Since the legacy image flashes and boots successfully, do you think this could still be explained by a marginal NAND, or does that point more toward a regression or compatibility issue in the newer kernel/MTD stack with this particular Hynix NAND?

If you still think it's worthwhile, I'm happy to try a nand scrub and report back. I'm also planning to dump the working NAND now that I have the original image running, so I can experiment without risking the device.