# Ubuntu26.04 WSL2 setup — Codex-956atf 2026-09-11. The user enabled virtualization, rebooted, and explicitly authorized installing Ubuntu26.04. This report concerns the root checkout's current host; other teams' setup results do not establish this host's readiness. **Paused by the user at15:28 UTC:** Linux builds/checking are deferred until the user instructs us that WSL2 networking is resolved. All earlier guest commands are terminal. Retain the configuration/results below; do not repeat probes, restart WSL, transfer caches or perform further network diagnosis during this deferral. [Gitea357](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/1#issuecomment-357). ## Current result after the user's newest solution The instructions in [issue1/comment328](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/1#issuecomment-328) supersede the earlier mirrored-network investigation. The VPN is immutable, including no inspection. Root interrupted the old diagnostic worker and waited for both guest dependency-installation scripts to finish with exit0 before changing WSL configuration. No guest mutation remained at that safe boundary. Root preserved the previous mirrored+DNS file as `.local/wsl-956atf-20260911/before-user328.wslconfig` and set the current `C:/Users/User/.wslconfig` to exactly these two lines, with LF endings: ```ini [wsl2] networkingMode=virtioproxy ``` Current configuration SHA256: `D70D0D8C747A00E797F9F40BBBC88573D6D5A88656611099AB713A27F92D017A`. Ordinary `wsl --shutdown` completed exit0. The subsequent Ubuntu root shell started the prescribed checks at14:58:17 UTC. The complete probe exited1: | Requested check | Actual local result | | --- | --- | | `ip -br addr` | `lo`; DOWN `enP14721p0s0` with10.8.1.5/32; UP `loopback0` with169.254.73.153/30. | | `ip route` | Only169.254.73.152/30 through loopback0; no default route. | | `ping -c 2 1.1.1.1` | Exit2, Network is unreachable. | | `getent hosts github.com` | Exit2, no result. | | `curl -I https://github.com` | Exit28, resolving timeout. | Bounded waits were added to the three reachability checks to terminate failed probes; endpoints and requested operations are unchanged. The recurring root systemd-user-session warning appeared again. Scripts and exact output are `network-user328-probe.sh` and `network-user328-probe.log` in the private setup directory. [Gitea result337](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/1#issuecomment-337) records this host's failure separately from other teams. VirtioProxy-only remains configured. No further host network diagnostic, VPN inspection/change or PC reboot was performed. Network success remains open; ordinary development proceeds using the verified offline setup described in [the completed dependency report](release-linux-dependencies-956atf-20260911.md). Native Rust/Cargo1.98.1, compiler/graphics prerequisites and all462 locked crate archives are installed and verified. Application compilation and runtime are separate next gates. The remaining sections preserve the earlier chronology; their then-current setup and network recommendations are superseded here. ## Verified preparation - Current Windows boot: `2026-09-11T13:57:52.500Z`. - Starting source: clean `8d55d2d2eb05aed826b96a917cf776e1d8c3b690`. - `wsl --list --verbose`: no installed distributions. No Ubuntu Appx package and no installer/Cargo/rustc process existed before this attempt. - Official `wsl --list --online` catalog offers `Ubuntu-26.04`, Ubuntu26.04 LTS. - Free C volume capacity at preflight: 27,652,579,328 bytes. - Root started `wsl --install Ubuntu-26.04 --no-launch --version 2` at about 14:07:44 UTC, owned command session27270, parent4580/child2620. Process handles are observations for this boot only. Root retains all installer/Cargo ownership. - Installer child has an established HTTPS connection to Canonical's `91.189.91.109:443` and increasing write-transfer counters. The open temporary archive's directory length remains zero during transfer; it is not an admitted complete image. No duplicate downloader or installer was started. [Microsoft's WSL command reference](https://learn.microsoft.com/en-us/windows/wsl/basic-commands) documents the supported install and distribution-list commands. The [official catalog](https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json) selects `https://releases.ubuntu.com/26.04/ubuntu-26.04-wsl-amd64.wsl`, expected SHA256 `96c7f5fb28a7fe28245331f9bfbe4375f18dd29a4850116ad3c4f60f6700c55c`. A separate read-only HTTPS HEAD at14:13:18 UTC returns HTTP200 and Content-Length415,361,247. This metadata is not a local download hash check. ## Source and next gate An exact `git archive` of8d55d2d is staged privately at `.local/wsl-956atf-20260911/source-8d55d2d.tar`:14,561,280 bytes, SHA256 `B7A11CC7F0AC56C0F8FDED46B040665AE75EE55775AE429DFC8579A5D51EAD57`. It excludes current uncommitted focus fixes and isolated schema8/canvas work. After actual guest startup, use a separate Linux filesystem source/cache/build directory and record compiler/dependencies before the first native Cargo gate. The archive alone is not Linux execution evidence. ## Installation result The supported installer completed with exit0 at about14:16 UTC and reported successful installation. `wsl --list --verbose` now lists `Ubuntu-26.04`, stateStopped, version2. Root hashed the completed415,361,247-byte temporary image: SHA256 `96C7F5FB28A7FE28245331F9BFBE4375F18DD29A4850116AD3C4F60F6700C55C`, exactly matching the official catalog. No restart was required by the installer. The first explicit guest probe completed with exit0: `uname -sr` reports `Linux 6.18.33.2-microsoft-standard-WSL2`, `/etc/os-release` reports Ubuntu26.04 LTS, the ext4 root filesystem is mounted and `/mnt/wslg` exists. WSL now lists Ubuntu-26.04 Running/version2. No Linux build or graphical runtime pass follows from these successful shell observations. Normal UID1000 setup has not run; explicit `--user root` provides the setup shell. WSL repeatedly reports a root systemd-user-session timeout, although the later service check reports `running` and no failed units. Preserve that diagnostic for GUI setup. ## Historical network trials and dependency setup The first ordinary APT attempt exited100. Default HTTP repositories timed out; IPv6 additionally reported no route. Independent five-second IPv4 HTTPS probes to official Ubuntu archive/security and Rust endpoints also timed out inside the guest. Windows returned HTTP200 from the same archive/Rust endpoints. Default NAT had a route via172.21.64.1 and working tunneled DNS10.255.255.254. Root tested two supported network modes documented by Microsoft: [mirrored networking](https://learn.microsoft.com/en-us/windows/wsl/networking) and [VirtioProxy configuration](https://learn.microsoft.com/en-us/windows/wsl/wsl-config). Mirrored returned no route/resolv.conf and DNS failures. VirtioProxy returned only a loopback0 route and failed DNS. Each used only `networkingMode` in a new per-user `.wslconfig`, followed by an ordinary WSL shutdown/start. Neither trial is a successful network result. Root restored the original absence of `C:/Users/User/.wslconfig`, preserving both tested files in the private evidence directory, and shut down WSL normally afterward. Read-only effective Hyper-V policy showed firewall enabled, outboundAllow and inboundBlock; the host has an active VPN. Those facts do not prove a cause. No firewall, VPN, Windows feature, security or boot setting was changed, and the PC was not restarted. Do not repeat these unsuccessful modes blindly. `linux_dependency_setup` now owns bounded guest dependencies/toolchain setup and ordinary Windows-side publisher downloads. Use supported offline APT mechanisms with signed metadata and package hashes, preserving verification; no insecure repository flags or network-control changes are authorized. Root retains all Cargo/native execution. Setup/compiler/runtime acceptance remains pending. See the worker's forthcoming Linux dependency report for results. Private evidence: `.local/wsl-956atf-20260911/` contains normalized installer and shell tool-result JSON, `provision.log`, network probe scripts/logs and the two tested configurations. Gitea coordination: issue1#288, #297 and #305. The original reboot handoff and private raw draft backup remain intact. Between the initial trials and comment328, root applied the user's [comment316](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/1#issuecomment-316) configuration, `networkingMode=mirrored` plus `dnsTunneling=true`, after a safe guest pause. That exact probe had only lo, no routes and a dangling resolv.conf symlink; ping1.1.1.1 exited2, getent google.com exited2 and curl-4 api.ipify.org exited6. `network-user316-probe.sh/log` preserve the failure. The previously restored absence of .wslconfig therefore ceased to be current at comment316; comment328 now supplies the current configuration and result at the top.