mirror of
https://github.com/nestriness/nestri.git
synced 2026-11-03 14:12:39 +02:00
The boot descriptor gains `images`: read-only EROFS images mounted on their own, with no writable layer over them. nesinit mounts them first, before overlays and shares, with the same nosuid/nodev guards every layer has and without noexec because what is in one is run. CONTROL_VERSION moves to 5: the descriptor refuses fields it does not know, and a guest image without Proton is useless to a host that does not send one, so the mismatch is named at the handshake. The guest rootfs no longer contains Proton. The checks that used to guard the in-image copy (every library its programs and Wine's core link, an interpreter behind the entry point) move to a compat_check stage that verifies the Proton named by PROTON_IMAGE and leaves a marker in the image saying which one. The leaf stages copy that marker out of it so the stage cannot be skipped as unused. With nothing at a Proton path, a box started without one fails saying where it looked. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>