msl 0.1.4
Changed
- x86_64-only distributions (Arch Linux, SUSE Linux Enterprise, eLxr) are no longer offered by
msl --list --online, andmsl --installrefuses them. Under Rosetta, which is built into macOS 27, they don't boot cleanly yet, and x86_64 support is deferred (#40).--install --from-filestill accepts x86_64 images. - Releases no longer include a
.pkg.install.shis the way to install msl, and the only one that sets up IDEs. - The VS Code extension has its own releases,
vscode-<version>, like the kernel. Each msl release bundles the published one. The first isvscode-0.1.0. - Distro files on the Mac moved from
~/MSL/<distro>to~/.msl/distros/<distro>, so they no longer add a visible folder to your home directory. Each distro still appears in Finder › Locations with its logo. On start, msld unmounts any old~/MSLmounts and removes~/MSLif it's empty.MSL_VIEW_DIRstill overrides the location. - The README covers installing and the basics. The command reference, installer details and WSL compatibility table moved to
docs/, which adds a Getting started walkthrough and a Troubleshooting page.
Fixed
msl --helpnow lists every command msl accepts, adding--debug-shell,--mount/--unmount,--update,--uninstall,--manage,--set-version,--set-default-versionand--list --online. docs/cli.md includes the full help text.- The VS Code extension no longer hands back a dead server. After a VM restart it used to trust a pidfile that a new, unrelated process could now match, because pids start over. It also didn't notice a server that was still running but auto-shutting down and refusing connections. It now requires the server's own command line and a successful connection, and starts only one server when a window's connections resolve at the same time.
- The VS Code extension works with distros that have no
curlorwget, such as stock Debian. It downloads the VS Code Server on the Mac, caches it for every distro, and pipes it in. - VS Code tunnels (forwarded ports) no longer cut off a download when the local client reads slowly: the tunnel now applies backpressure and ends cleanly instead of dropping queued data.
- msld now removes its
run/vsock-*.sockbridge sockets when the VM stops, so stale sockets no longer pile up.
Added
msl --manage-ide [--ide <vscode|vscode-insiders|vscode-oss|cursor|all>] [--install|--uninstall]sets up the VS Code extension. It installs the bundled.vsixand adds it toenable-proposed-apiin the IDE'sargv.json, keeping comments and other keys. Without options, it lists the IDEs found and asks what to do. The installer runs it for the IDEs it finds (--no-ideskips this), andmsl --uninstallundoes it. The extension (0.1.1) runs whichever msl set it up, recorded incli-pathin msl's data folder, so msl can be installed anywhere without settingmsl.path(#35).- Preview VS Code extension (
extensions/vscode) that opens folders in a distro through managed pipes: no SSH, and no port on the Mac. It needs VS Code's proposedresolversAPI (Sodium). - msld's connect socket (
connect.sock):CONNECT distro=<name> unix=<path>|tcp=<port>opens a byte stream into a distro, over vsock 1026 or the localhost forwarder. Unix sockets are limited to~/.vscode-server/msl/*.sock, and the connection is made as the distro's default user. The VS Code extension uses it for every pipe and falls back tomsl-bridgewith an older msld (#32). /run/msl/init msl-bridge unix:<path>|tcp:<port>: relays stdio to a Unix socket or localhost port inside a distro (#29).
Install: sh install.sh (or sh install.sh --version 0.1.4). Update an existing install with msl --update.
| Kernel | Linux 6.18.15-msl, release kernel-6.18.15-msl.1 |
| VS Code extension | release vscode-0.1.1, installed by msl --manage-ide |
| Commit | d67bb9e |
| Requires | Apple silicon, macOS 26 or later |
| GPL sources | BusyBox: the attached Debian source package busybox_*. Kernel: attached to kernel-6.18.15-msl.1. |
| Signing | ad-hoc (not notarised); checksum not PGP-signed |
msl-0.1.4-macos-arm64.tar.gz SHA-256: 96942cc849cfc401ee1658eb3f5a3045872e9eb19bad87217585c4a854153716