Skip to content

On-device warm Restart through Orchard BLS - #38

Open
brkosebay wants to merge 2 commits into
OrchardLinux:mainfrom
brkosebay:j71t/warm-restart
Open

brkosebay wants to merge 2 commits into
OrchardLinux:mainfrom
brkosebay:j71t/warm-restart

Conversation

@brkosebay

Copy link
Copy Markdown
Contributor

Problem

Shutdown dispatch refused an unarmed target, and a busy GPU hung the incoming G5P warm start.

Changes

Package the reusable BLS/FDT file-loader engine, provenance/health services and Restart integration. Arm restart-ready at load to avoid shutdown dispatch refusal, and quiesce G5P with td-kexec before the incoming kernel starts.

Device testing

Tested on an iPad 5 (J71t) on 2026-11-08 as part of the integrated J71t stack (kernel 7.3.0-rc1-orchard-apple-16k-topic-warmport-20261108). This isolated branch has not been booted on its own.

Menu Restart works with restart-ready arm + td-kexec; health PASS.

Observed operations: Omarchy menu → Restart; host-assisted scripts/orchard/warm-reboot.py with display/normal profiles and the file loader (kexec -s); CPU1 sysfs offline/online; USB cold boots/rebind and bulk uploads; desktop interaction.

What remains: exact submitted branch device test, other-device regressions, NCM long soak, the 500 mA warm charging gap, RTC alarms, suspend/resume and cover wake. Bluetooth pairing does not qualify keyboard input or audio.

Host validation

PYTHONDONTWRITEBYTECODE=1 python -m unittest discover -s tests -v: PASS. No kernel/image builds performed.

Patch application: N/A; whitespace check (excluding nested patch text): PASS.

Other devices affected

Shared distro tablet services/settings affect every omarchy-a device that uses them. No other device was tested.

Dependencies and merge order

Depends on (merge first): #34. The branch carries those commits; review the last commit as this topic. It will be rebased once they merge.

Runtime pairing: OrchardLinux/orchard#107. Hardware producer first, then distro consumer; warm-kernel has no source dependency on warm-restart. Publish/install a complete matched kernel/modules/initrd/DT/BLS set.

Known rework before merge

Known limitation: quiesce-gpu logs an unsuccessful td-kexec but returns success. The observed successful desktop hop is not a demonstrated failure-path guarantee. Review fail-closed behavior before merge.

Proposed CHANGELOG line (Unreleased)

On-device warm Restart through Orchard BLS.

🤖 Generated with Claude Code

@brkosebay
brkosebay marked this pull request as ready for review November 8, 2026 15:51
jerricky26 pushed a commit to jerricky26/omarchy-a that referenced this pull request Nov 10, 2026
With the J71b speakers working (orchard OrchardLinux#38), sound needs its controls:
- A new output starts at 10% (WirePlumber's default is 40%, very loud on
  an amplifier without a volume control of its own).
- The volume keys control the volume again, in 5% steps through the
  shell's media service with its OSD (a new media.volume IPC, since labwc
  has no global shortcuts); without the shell, wpctl steps it. Brightness
  stays in the Control Center.
- The bar gets the shell's audio widget: volume slider, output picker and
  per-app mixer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant