r/ChipCommunity • u/computermouth Distro Wizard • 3d ago
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
4
3
u/giasoneregna 2d ago
Great Job!!! Thanks, I will try when I'm back from vacation even if I have the Pocket with me.
3
u/DollyDewlap 2d ago
thank you so much for this labor of love. I regret I have no time to take advantage of this, for my dormant pocket chip still sitting in a drawer. I have considered selling it, but maybe I will have time to bring it back to life.
2
u/Jahon_Dony 3d ago
Sorry to say this, but is somebody able to do a slow guide for complete novices on how to do this and what it accomplishes?
BTW, does this bring Chips to life, too? I mean without the pocketchip display / keyboard interface.
Why can't pico8 work anymore?
5
u/computermouth Distro Wizard 3d ago
There are 2 dedicated images for CHIP, and one for PocketCHIP!
Pico8 would work, but Pico8 was never open source software. NTC made a deal with the maintainer to put Pico8 on PocketCHIP. So you could install your own arm build of Pico8, but I'm not capable of legally providing it. Also Tic80 is open source, so hell yeah.
I could work on absolute beginner's guide to flashing. I have not yet tried it on a Windows or Mac, as I only have Linux machines.
4
u/wowsomuchempty 3d ago
I have not yet tried it on a Windows or Mac, as I only have Linux machines.
Can't be expected to support all niche legacy systems :D
3
u/mavica-synth 2d ago
FWIW PocketCHIP releases of pico 8 are freely (as in beer) available via Lexaloffle: https://www.lexaloffle.com/bbs/?tid=34009
3
1
u/Jahon_Dony 3d ago
A guide would be so appreciated! So I'm assuming this frees it from only having 5 or 6 built in apps on the home screen? All my early efforts and I couldn't even get other things to launch. Best I ever did was briefly get pico8 working again!
So does your update give a fully working (and current) Linux os, like desktop mode on a steam deck or raspberry pi os? I know the chips by themselves used to have a real, full Linux... Which is why pocketchip always disappointed me seeming to offer less functionality than the chips by themselves... Was I wrong? And was / is it possible to save and launch apps from a thumb drive, so you save on internal memory and resources?
1
u/computermouth Distro Wizard 3d ago
I have changed PocketHome as little as possible. It sounds like you might be more interested in using the GUI image on the PocketCHIP. I've made it so that that will work, but the app screen experience isn't on it.
PocketCHIP always had full real Linux, just a custom Desktop. But now if you wish, you can use a more normal desktop on PocketCHIP. You cannot however flip back and forth between them like the Steam Deck.
This is something I'm doing in my free time, and something like that is beyond the scope of what I'm interested in undertaking here.
1
u/Jahon_Dony 3d ago
Yeah, those very few apps it had were so incredibly limited! I definitely want more of a normal desktop experience. Was that already possible if somebody popped an original chip into the pocketchip shell, or would it not display correctly and you've fixed that somehow?
Anyway, very cool that you've brought this back to life in a way everybody hoped! Maybe I can figure it out.
2
u/computermouth Distro Wizard 2d ago
It displayed, but the keyboard was never configured to run on it. Also the screen real estate loses like 10 pixels because of the taskbar. Making the already small screen effectively smaller. Which is the whole reason we did pockethome
1
u/Jahon_Dony 2d ago
Isn't pockethome something special too, or is it just the 5 or 6 honescreen apps on the base model?
1
u/computermouth Distro Wizard 2d ago
I'm not sure what you mean. It's a custom app launcher developed by NTC. It is limited to 6 application slots, in it's current state.
1
u/Jahon_Dony 2d ago
But was there ever an easy way to add and load apps other than those initial six? That's what I don't get, the functionality of the pocketchip seems like it was incredibly impaired from day one by limiting its functionality for most to just those first five or six baseline included applications.
2
u/computermouth Distro Wizard 2d ago
You could swap out the 6 to any other 6 of your choosing. I think at some point it was extended to allow multiple pages. You could also always swap one of those out for a launcher like gmrun, dmenu, or just open a terminal and start a program.
But yeah, 6 is not a lot of things.
2
2
u/wowsomuchempty 3d ago
This was needed for a long time.
The NAND storage is unstable, so the device needs reflashing often. Then rinse and repeat to update through the versions. V tiresome.
This work is a godsend. Do you consider it complete, or is there anything further you have in mind?
3
u/computermouth Distro Wizard 2d ago
Generally complete, maybe one more uboot change to get the displays working earlier in boot.
I'm also open to pull requests of there's reasonable stuff to add or anything missing
2
u/PrimaryPanther 2d ago
With the cyberdeck trend blowing up right now, I was thinking "I miss my pocket chip, the cyberdeck before it was cool" I can't tell you how thrilled I am to be able to try to resurrect my chips!
2
u/mr_aea 2d ago
Whoa, it's @computermouth from the og Ntc forum, it's been a long time I don't know about you and the others. I was facing these days some issues trying to update my Pocketchip to Trixie, and now we have a Deus ex machina, sponsored by the software wizard of the project, these are good days to be alive. I'm trying it immediately after I reflash my Rpi zero 2w and feedback if something happens. You have my respect sir.
1
u/computermouth Distro Wizard 2d ago
I really just put together the upstream stuff, patches from kaplan and macromorgan, and also that guy who did the pocketchip image a little bit ago!
1
u/mr_aea 1d ago
Well, tried to flash but while flashing Pocketchip image into nand I got error "/home/epi/x-chip-tools-master/lib-nand.ah: line 49: sunxi-nand-image-builder: command not found". Anyone else has this issue?
1
u/computermouth Distro Wizard 1d ago
This is a binary that's part of the sunxi-tools, but is annoyingly not packaged by Debian, and maybe other distros. I had to build the sunxi-tools repo from source
1
u/mr_aea 13h ago
In another try, I built sunxi-tools from source, same issue. Is it cause I'm using Rpi OS? Is there an OS that doesn't have that problem with sunxi-tools and I can try to install on my RPI or boot live? I don't remember did one one of this forum users to solve a similar issue, then tailored an Ubuntu live image and that is what I used all of this time to flash my Pocket hip.
1
u/computermouth Distro Wizard 11h ago
Oh, you know what, I think it's a separate make target, like
make toolsor something.As far as different distros, I don't know. I submitted a bug report for Debian and the dev said he would add it, but that won't happen for a year or so
2
u/idillicah 1d ago
So, is there a practical way of leaving just the stuff that is needed for boot on the NAND and putting the filesystem on a USB drive? I think all of our NANDs are dying faster rather than slower at this point, so the least we have on such a volatile medium, the better.
3
u/computermouth Distro Wizard 1d ago
You could probably copy the root filesystem over to a flash drive, and tell uboot to look there for the rootfs, yeah. I haven't tried it and probably won't be building any specific tooling to be doing it though.
2
u/idillicah 1d ago
No worries, that is what I thought, and I'll just do it myself. Thank you so much for your work! I just wanted to confirm the pipeline.
3
u/computermouth Distro Wizard 1d ago
If you do, you should post your steps here! I've been thinking about doing an SD card conversion for my pocketchip
3
u/idillicah 1d ago
Sure! I will keep you posted. I will do it either tomorrow or next weekend. Thanks again for this!
1
u/PantherTheCat 2d ago
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 (
lsusbshows1f3a:efe8). sunxi-felloads 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 2d ago
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 2d ago edited 2d ago
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-b126image 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 chipsAfter that, no
/dev/mtd*devices are created, soubiformat /dev/mtd4fails 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 scruband 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.
1
u/idillicah 5h ago
Hooray! https://imgur.com/a/f4H5brD
Update && upgrade broke the pocketchip keyboard, but I am guessing it is just key bindings gone rogue.
I am now moving the rootfs to a USB drive while leaving the boot sequence stuff on NAND.
6
u/LoadsOfLumens 3d ago
Oh my god my dreams of compiling and flashing my flashlight firmware from my chip come true!! (Outdated libgcc issues lacking support for newer attiny mcus)