2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00
2026-10-19 09:23:54 +03:00

Bananarchy Linux (v0.0.1)

Bananarchy Banner

Bananarchy (v0.0.1) is a keypad-first Linux distribution hardforked from postmarketOS (v26.06 / Alpine edge armv7), purpose-built for Qualcomm MSM8905 (Snapdragon 205) and Qualcomm MSM8909 (Snapdragon 210) smart feature phones with 240x320 QVGA non-touch displays and physical 12-key T9 keypads.

Bananarchy targets the Sxmo (sxmo-de-sway) environment exclusively, tuned for 1:1 native 240x320 resolution, enlarged high-contrast typography, sub-115 MB idle RAM footprint on 512 MB devices, full Qualcomm QDSP6/Q6Voice audio and LTE modem routing, pre-integrated Bantam DIY AI agent (https://code.luxferre.top/luxferre/bantam-cpp), a complete on-device development & scripting stack (git, gcc/g++, make, nano, janet + jpm, perl + IO::Socket::SSL, tcl + tcllib/tcl-tls/sqlite-tcl, sqlite), and a custom 6-mode fcitx5-t9 input engine supporting lowercase, one-shot Shift, Caps Lock, all 32 ASCII punctuation symbols, terminal control codes (^A-^Z, Esc, Tab, F1-F12), and direct numeric entry.


Supported MSM8909 / MSM8905 Devices

Device Codename SoC CPU / RAM Display & Panel Firmware Device Tree (.dtb)
Nokia 8110 4G nokia-argon Qualcomm MSM8905 (SD205) 2x Cortex-A7 @ 1.1 GHz, 512 MB 2.4" 240x320 SPI (nokia,argon-gc9305-v2-panel.bin) qcom-msm8905-nokia-argon.dtb
Nokia 2720 Flip nokia-beatles Qualcomm MSM8905 (SD205) 2x Cortex-A7 @ 1.1 GHz, 512 MB 2.8" 240x320 SPI (nokia,beatles-gc9305-panel.bin) qcom-msm8905-nokia-beatles.dtb
Nokia 800 Tough nokia-tough (nokia-coconut) Qualcomm MSM8905 (SD205) 2x Cortex-A7 @ 1.1 GHz, 512 MB 2.4" 240x320 SPI (nokia,coconut-gc9305-panel.bin) qcom-msm8905-nokia-coconut.dtb
Nokia 8000 4G nokia-sparkler Qualcomm MSM8909 (SD210) 4x Cortex-A7 @ 1.1 GHz, 512 MB 2.8" 240x320 SPI (nokia,sparkler-gc9307-hlt-28-panel.bin) qcom-msm8909-nokia-sparkler.dtb
Nokia 6300 4G (sibling) nokia-leo Qualcomm MSM8909 (SD210) 4x Cortex-A7 @ 1.1 GHz, 512 MB 2.4" 240x320 SPI (nokia,leo-gc9305-hlt-24-panel.bin) qcom-msm8909-nokia-leo.dtb

Repository Structure

bananarchy/
├── README.md                              # Project architecture, build system, and quickstart guide
├── MANIFESTO.md                           # The Bananarchy Manifesto, history, mission, and ten tenets
├── MANUAL.md                              # Complete flashing, keypad, T9, Bantam, and modem manual
├── flash-edl.sh                           # Automated USB EDL flasher wrapper (sudo + ModemManager handling)
├── flash-edl.py                           # Multi-device Qualcomm Sahara/Firehose EDL flasher
├── rebuild-image.sh                       # Builds boot.img, MBR raw .img, and Android .sparse.img
├── chroot-shell.sh                        # Rootless Docker armv7 package & rootfs customization shell
├── artwork/                               # Bananarchy master icon, generated icons, wallpapers, and splashes
│   ├── icon-large.png                     # Master 1024x1024 Bananarchy emblem
│   ├── icon-{512..16}.png                 # Downsampled RGB square icons
│   ├── icon-transparent-{512..32}.png     # Alpha-keyed RGBA icons for UI themes
│   ├── favicon.ico                        # Multi-resolution ICO
│   ├── wallpaper-240x320.png / .jpg       # Default Sxmo 240x320 portrait wallpaper
│   ├── wallpaper-240x320-centered.png/.jpg# Centered 240x320 portrait wallpaper
│   ├── wallpaper-320x240.png / .jpg       # Landscape 320x240 QVGA wallpaper
│   ├── wallpaper-240x240.png              # Square 240x240 wallpaper (Nokia 2720 Flip external display)
│   ├── splash-240x320.png / .ppm          # 240x320 boot splash image
│   └── banner-800x240.png                 # Project header banner
├── bootloader/
│   ├── lk2nd-msm8909.img                  # lk2nd secondary bootloader for MSM8905/MSM8909
│   └── loaders/
│       └── 8110.mbn                       # Qualcomm Sahara/Firehose programmer (05c6:9008)
├── devices/                               # Device definitions, DTBs, and MIPI-DBI panel init sequences
│   ├── common-msm8909/                    # Shared udev keypad rules, WirePlumber S16LE, ALSA UCM2, zram
│   ├── nokia-argon/                       # Nokia 8110 4G device package, DTS/DTB, and GC9305 panel init
│   ├── nokia-beatles/                     # Nokia 2720 Flip device package, DTS/DTB, and GC9305 panel init
│   ├── nokia-tough/                       # Nokia 800 Tough device package, DTS/DTB, and GC9305 panel init
│   └── nokia-sparkler/                    # Nokia 8000 4G & 6300 4G device package, DTS/DTB, and GC9307/9305 init
├── patches/
│   ├── kernel/
│   │   ├── 0001-msm8909-qdsp6-voice-sound-nokia-argon-6.12.patch
│   │   ├── 0002-msm8905-nokia-beatles-and-coconut-dts.patch
│   │   └── config-bananarchy-msm8909.armv7
│   ├── edl/
│   │   └── 0001-edl-msm8909-32bit-elf-and-multi-cmd-firehose.patch
│   ├── sxmo/
│   │   └── 0001-bananarchy-sxmo-240x320-keypad-ui.patch
│   └── fcitx5-t9/
│       └── 0001-bananarchy-multimode-t9-and-fcitx5-5.1.19.patch
├── src/
│   ├── fcitx5-t9/                         # C++20 source of Bananarchy's 6-mode fcitx5-t9 input method
│   └── leds-msm8905-torch/                # Kernel driver for SY7807 rear torch LED & PM8909 PON shutdown
├── overlay/
│   └── rootfs/                            # Complete Bananarchy rootfs overlay (OS branding, Sxmo, audio, T9)
├── prebuilt/
│   ├── kernel-6.12.1-msm8916/             # Prebuilt QDSP6/Q6Voice .ko modules, torch .ko, and 5 device DTBs
│   ├── fcitx5-t9/                         # Prebuilt armv7 libt9.so and fcitx5 addon/inputmethod configs
│   └── bantam/                            # Prebuilt armv7 bantam AI agent binary
└── scripts/
    ├── generate-artwork.py                # Generates all wallpapers, icons, and splashes from icon-large.png
    ├── mipi-dbi-cmd.py                    # Compiles MIPI-DBI panel .txt init sequences into .bin firmware
    ├── build-kernel-audio.sh              # Cross-compiles Linux 6.12.1-msm8916 QDSP6/torch modules & DTBs
    ├── build-fcitx5-t9.sh                 # Cross-compiles src/fcitx5-t9 for armv7
    ├── build-bantam.sh                    # Fetches master from https://code.luxferre.top/luxferre/bantam-cpp & cross-compiles for armv7
    ├── apply-bananarchy-overlay.sh        # Applies overlay, prebuilts, artwork, and device DTB to rootfs
    └── configure-rootfs-from-scratch.sh   # Full rootfs configuration script from base Alpine/pmOS packages

Build & Customization Workflow

1. Regenerate Artwork Assets

Whenever artwork/icon-large.png is updated, regenerate all icons, 240x320 wallpapers, and boot splashes:

./scripts/generate-artwork.py

2. Recompile Core Components (Optional — Prebuilts Included)

All components are pre-compiled in prebuilt/ and overlay/rootfs/, and can be rebuilt from source at any time using rootless Docker (alpine:3.24):

# Rebuild multi-mode fcitx5-t9 input engine (src/fcitx5-t9 -> prebuilt/fcitx5-t9)
./scripts/build-fcitx5-t9.sh

# Fetch latest master from https://code.luxferre.top/luxferre/bantam-cpp and cross-compile Bantam AI agent
./scripts/build-bantam.sh

# Rebuild Linux 6.12.1-msm8916 QDSP6/Q6Voice audio modules & DTBs
./scripts/build-kernel-audio.sh

3. Customize Rootfs Packages or Configs

./chroot-shell.sh
# Inside the container shell:
#   pkg-add <pkg>
#   pkg-del <pkg>
#   pkg-search <pattern>

4. Build Flashable Device Images

# Build for Nokia 8110 4G (default)
./rebuild-image.sh nokia-argon

# Or build for Nokia 2720 Flip, Nokia 800 Tough, or Nokia 8000 4G:
./rebuild-image.sh nokia-beatles --mkinitfs
./rebuild-image.sh nokia-tough --mkinitfs
./rebuild-image.sh nokia-sparkler --mkinitfs

Output images are written to images/:

  • images/bananarchy-<device>.img (Raw partitioned MBR image for EDL userdata or microSD card)
  • images/bananarchy-<device>.sparse.img (Android sparse image for fastboot flash userdata)
  • images/boot-bananarchy-<device>.img (Kernel + initramfs + DTB boot image)

Flashing via USB EDL (05c6:9008)

sudo ./flash-edl.sh nokia-argon

See MANUAL.md for complete EDL, Fastboot, and microSD installation instructions, keypad navigation shortcuts, and the Multi-Mode T9 reference.

S
Description
A freedom-first hardfork of postmarketOS aimed at ex-KaiOS keypad smartphones from Nokia etc
https://bananarchy.top Readme
16 MiB
Languages
C 50.7%
C++ 25.8%
Shell 15.3%
Roff 6.1%
Python 0.9%
Other 1.2%