Agentic OS for EeePC 701SD
  • Python 47.2%
  • Shell 34.6%
  • C 18.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Krzysztof Krystian Jankowski 876639943b S4: BeeWM robustness + simplification
- CRITICAL: permanent permissive X error handler (dwm-style) — async BadWindow no longer kills the session; ownership probe uses local handler
- single click dispatch: poll_clicks is HUD-only; action_busy/ptr_held debounce deleted; net chip is a true no-op status icon
- WM_DELETE_WINDOW: forward ICCCM ClientMessage to client, removal via normal DestroyNotify path
- delete dead Ctrl+1/2 grabs, Ctrl+Alt+BackSpace reboot grab, click_log tmpfs writer, debug chatter
- MAX_CLIENTS 12 (matches shelf), XCloseDisplay on poll failure
- split main() into setup_panels/setup_keys/handle_key; fix merge-mangled blocks; add .clang-format
- 1123 -> ~1055 lines
2026-09-21 16:21:44 +02:00
beewm S4: BeeWM robustness + simplification 2026-09-21 16:21:44 +02:00
configs S2: unify command names on bee-* 2026-09-21 16:21:44 +02:00
docs S3: build-system idempotency + corruption guards 2026-09-21 16:21:44 +02:00
rootfs S2: unify command names on bee-* 2026-09-21 16:21:44 +02:00
scripts S3: build-system idempotency + corruption guards 2026-09-21 16:21:44 +02:00
tests S1: remove dead weight, repair test_build shutdown-timeout mock 2026-09-21 15:58:24 +02:00
.clangd Privileged agent, BeeWM panels, installer PARTUUID, and image bake. 2026-09-19 22:02:00 +02:00
.gitattributes upd 2026-09-16 23:28:51 +02:00
.gitignore S1: remove dead weight, repair test_build shutdown-timeout mock 2026-09-21 15:58:24 +02:00
build.sh S3: build-system idempotency + corruption guards 2026-09-21 16:21:44 +02:00
README.md S3: build-system idempotency + corruption guards 2026-09-21 16:21:44 +02:00

FLOPPINUX-DEV

Small OS-development station for an Asus EeePC 701: BusyBox, X11, BeeWM and glm-agent.py talking to Z.AI. The agent runs with the logged-in user's privileges (normally root): it can edit system configuration, build apps, update BeeWM and execute shell commands. This is not a sandbox. Use a disposable image or backup before allowing system changes. Build and hardware details: build guide, hardware, installation.

[ EeePC 701 ]  BusyBox + one xterm + glm-agent.py
      | HTTPS (model never runs on the 701)
      v
[ Z.AI  glm-5.3-flash (default) | glm-5.3 ]

Repo map

build.sh                 rootfs | profile | busybox-config | overlay-hint |
                         overlay | usb-hint | x11 | img | qemu-test
configs/kernel.eeepc.fragment   merge onto tinyconfig (6.14.x)
configs/busybox.fragment        merge onto allnoconfig (1.36.1, static)
configs/syslinux.cfg            USB menu
rootfs/                  etc (init, inittab, wpa example), root profile +
                         xinitrc, usr/local/bin (agent, session, installer,
                         bee-wifi)
docs/                    eeepc-701.md, from-floppinux.md, install.md
tests/test_glm_agent.py  stdlib self-check incl. fake GLM server

Kernel, BusyBox and the Alpine i386 overlay are built on the host with the FLOPPINUX workshop — see docs/from-floppinux.md.

Quickstart

export FLIP_WORK="$HOME/src/floppinux-build"
# First build kernel + static i686 BusyBox as described in the build guide.
FLIP_PROFILE=desktop ./build.sh profile  # overlay + X/Python/BeeWM + QEMU smoke
./build.sh img                          # raw USB image; does not flash a disk

Profiles and their assembly steps, prerequisites and guest smoke commands are defined together in scripts/profile.sh. base checks boot/network/shell; installer adds filesystem/bootloader tools; desktop (default) adds Python and X/BeeWM. overlay-hint describes the selected profile; it does not build it. Use a separate FLIP_WORK for each profile. Smoke tests do not run the installer, exercise the graphical desktop, or prove hardware compatibility.

Python bits can be checked anywhere, no build needed:

python3 tests/test_glm_agent.py

Status

  • repo skeleton: fragments, rootfs, installer, agent
  • agent self-check (tools, cwd switching, fake-server round-trip)
  • kernel fragment boots in QEMU (qemu-test, serial console)
  • real 701: USB live → eth0 dhcp → installer → SSD → X → wifi