res-sh: rescue shell — Lua-extensible applets, static binary #28
Labels
No labels
harness
proj-core-console
proj-core-demo
proj-core-edit
proj-core-init
proj-core-lib
proj-core-login
proj-core-res
proj-core-sh
proj-core-theme
proj-docs
proj-extra-calc
proj-extra-code
proj-extra-playbook
proj-extra-sheets
proj-harness
proj-os
residual
tier-0-trivial
tier-1-easy
tier-2-medium
tier-3-hard
tier-4-major
tier-5-epic
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
residual/.agent#28
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Turn res-sh into the standalone "oh shit" fallback shell: one static binary that opens a shell with all rescue commands available inside it. (Can support multicall argv[0] dispatch, but that is not the primary interface.)
The internal Lua runtime is the extension mechanism: place a Lua script in a special folder and it should just work for the majority of what busybox can do.
Scope
&&,||,!operators (tier-1). Rescue scripts are written as[ ... ] && ...; without these,testis half-useful.core/lib/scriptinto res-sh so Lua scripts in a special folder work as commands.CGO_ENABLED=0 go buildproduces a working static binary.Stays out