msl 0.2.0
Added
- msl shuts down cleanly when you log out, restart or shut down the Mac (#52). Before, the VM died with
msld: distributions got no warning, and writes not yet synced were lost.msldnow stops the distributions (5 s grace), unmounts and flushes their disks, and powers the VM off. It runs as a LaunchAgent (~/Library/LaunchAgents/dev.msl.msld.plist) that launchd starts on demand whenmslconnects, and gives up to 30 s to do this.msl --uninstallremoves it. - Each new distribution gets its own disk, a sparse
ext4.imgin its install location, like WSL'sext4.vhdx(#50). Disks are attached to the running VM through 16 NBD disk slots served by msld.--manage --move, per-distribution--manage --resize,--export --vhd,--import --vhd,--import-in-placeand--install --vhd-sizenow work; images are raw ext4, not VHDX. Distributions from earlier versions stay on the shareddata.imguntil--move. Virtualization.framework passes no flushes to hot-attached disks, sofsyncinside a distribution isn't a durability point: writes are flushed to the SSD when a disk is detached and at shutdown (Disk and storage). [msl2] nestedVirtualization(default true):/dev/kvmin the distributions on an M3 or later.- The VM keeps one machine identifier across boots, and its
/etc/machine-idis that identifier's UUID.
Changed
- The documentation is now the MSL documentation site, https://onexay.github.io/msl-docs/ (source). msl no longer builds a site of its own, and its
docs/folder holds the developer notes. - The kernel and the VS Code extension moved to their own repositories, msl-kernel and msl-vscode-extension. msl pins a release of each (
scripts/pin.sh) and bundles it as before. - Kernel
kernel-6.18.15-msl-a1a22bd: KVM is built in, so/dev/kvmworks in the distributions with nested virtualization (KVM_GET_API_VERSION12 on an M3 Pro), anduname -rshows the release,6.18.15-msl-a1a22bd, instead of6.18.15.
Install: sh install.sh (or sh install.sh --version 0.2.0). Update an existing install with msl --update.
| Kernel | Linux 6.18.15-msl-a1a22bd, release kernel-6.18.15-msl-a1a22bd |
| VS Code extension | release vscode-0.1.1, installed by msl --manage-ide |
| Commit | cb90aad |
| Requires | Apple silicon, macOS 26 or later |
| GPL sources | BusyBox and e2fsprogs: the attached Debian source packages busybox_* and e2fsprogs_*. Kernel: attached to kernel-6.18.15-msl-a1a22bd. |
| Built by | CI run 36607685165, Xcode 26.6 |
| Signing | ad-hoc (not notarised); checksum not PGP-signed |
msl-0.2.0-macos-arm64.tar.gz SHA-256: 3ea4b2fed50950013670ffbd7940bfa1dc4f2425cc08bd4ae8794dd9690ee0e0